• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

FlinkNDB : Guaranteed Data Streaming Using External State

Asif, Muhammad Haseeb January 2021 (has links)
Apache Flink is a stream processing framework that provides a unified state management mechanism which, at its core, treats stream processing as a sequence of distributed transactions. Flink handles failures, re-scaling and reconfiguration seamlessly via a form of a two-phase commit protocol that periodically commits all past side effects consistently into the state backends. This involves invoking and combining checkpoints and, in time of need, redistributing the state to resume data pipelines. All the existing Flink state backend implementations, such as RocksDB, are embedded and coupled with the compute nodes. Therefore, recovery time is proportional to the state needed to be reconfigured and that can take from a few seconds to hours. If application logic is compute-heavy and Flink’s tasks are overloaded, scaling out compute pipeline means scaling out storage together with compute tasks and vice-versa because of the embedded state backends. It also introduces delays due to expensive state re-shuffle and moving large state on the wire. This thesis work proposes the decoupling of the state storage from compute to improve Flink’s scalability. It introduces the design and implementation of a new State backend, FlinkNDB, that decouples state storage from compute. Furthermore, we designed and implemented new techniques to perform snapshotting, and failure recovery to reduce the recovery time close to zero. / Apache Flink är ett strömbehandlingsramverk som tillhandahåller en enhetlig tillståndshanteringsmekanism som i sin kärna behandlar strömbehandling som en sekvens av distribuerade transaktioner. Flink hanterar fel, omskalning och omkonfigurering sömlöst via en form av ett tvåfas-engagemangsprotokoll som regelbundet begår alla tidigare biverkningar konsekvent i tillståndets backends. Detta innebär att man åberopar och kombinerar kontrollpunkter och vid behov omdistribuerar dess tillstånd för att återuppta dataledningar. Alla befintliga backendimplementeringar för Flink-tillstånd, som Rocks- DB, är inbäddade och kopplade till beräkningsnoderna. Därför är återhämtningstiden proportionell mot det tillstånd som behöver konfigureras om och det kan ta från några sekunder till timmar. Om applikationslogiken är beräkningstung och Flinks uppgifter är överbelastade, innebär utskalning av beräkningsrörledning att utskalning av lagring, tillsammans med beräkningsuppgifter och vice versa på grund av det inbäddade tillståndet i backend. Det introducerar också förseningar i förhållande till dyra tillståndsförflyttningar och flyttning av stora datamängder som upptar stora delar av bandbredden. Detta avhandlingsarbete föreslår frikoppling av tillståndslagring från beräkning för att förbättra Flinks skalbarhet. Den introducerar designen och implementeringen av ett nytt tillstånd i backend, FlinkNDB, som frikopplar tillståndslagring från beräkning. Avslutningsvis designade och implementerade vi nya tekniker för att utföra snapshotting och felåterställning för att minska återhämtningstiden till nära noll.
2

Tiered Storage Architecture for Stream Processing Systems

Song, Ao January 2022 (has links)
State management is the key component of a stateful stream processing system. Normally a stream processing system supports either an embedded state backend or an external backend. An embedded backend will store the data locally on the computing node. It is efficient to read and write but will lose the capability to scale out the system. An external backend could solve the problem but the performance will be compromised since the operations on the data have to go over the network. This project aims to find an approach combining the advantages of both embedded and external backend, a tiered storage system has been proposed to solve this issue at the cost of more storage space. The proposed solution consists of three layers, ephemeral layer, embedded layer, and external layer. The ephemeral layer and embedded layer reside on the local node while the external layer resides on an external node to make the system reconfigurable. The application will always retrieve data from the ephemeral layer first for different kinds of operations, then the embedded layer will be consulted if no result is found in the ephemeral layer, and finally the external layer will be visited. Based on this design principle, the operations in the state will be conducted locally as much as possible to be efficient. This point has been proved in the project by evaluating the performance with different key distributions. The experiments result shows the tiered storage system can provide good performance with the capability of system reconfiguration. / Tillståndshantering är nyckelkomponenten i ett tillståndsbestämt strömbehandlingssystem. Normalt stöder ett strömbehandlingssystem antingen en inbäddad tillståndsbackend eller en extern backend. En inbäddad backend kommer att lagra data lokalt på datornoden. Det är effektivt att läsa och skriva men kommer att förlora förmågan att skala ut systemet. En extern backend kan lösa problemet men prestandan kommer att äventyras eftersom operationerna på datan måste gå över nätverket. Detta projekt syftar till att hitta ett tillvägagångssätt som kombinerar fördelarna med både inbäddad och extern backend, ett lagringssystem i nivåer har föreslagits för att lösa detta problem till priset av mer lagringsutrymme. Den föreslagna lösningen består av tre lager, kortvarigt lager, inbäddat lager och externt lager. Det tillfälliga lagret och det inbäddade lagret finns på den lokala noden medan det externa lagret finns på en extern nod för att göra systemet omkonfigurerbart. Applikationen kommer alltid att hämta data från det efemära lagret först för olika typer av operationer, sedan kommer det inbäddade lagret att konsulteras om inget resultat hittas i det efemära lagret och slutligen kommer det externa lagret att besökas. Utifrån denna designprincip kommer verksamheten på staten att bedrivas lokalt så mycket som möjligt för att vara effektiv. Denna poäng har bevisats i projektet genom att utvärdera prestandan med olika nyckelfördelningar. Experimentresultatet visar att det nivåbaserade lagringssystemet kan ge bra prestanda med möjlighet till systemomkonfigurering.

Page generated in 0.0685 seconds