State Management in Distributed Low-Latency Stream Processors
Geeignet für: Masterarbeit
Apache Storm ist ein System zur Verarbeitung kontinuierlicher Datenströme (Distributed Stream Processor, DSP) mit besonders geringer Ende-zu-Ende-Latenz. Es verteilt nicht nur einzelne Prozesse einer verteilten Anwendung auf mehrere Maschinen in einem Clusterverbund, sondern startet abgestürzte Prozesse auch auf anderen Maschinen neu; um dieses Feature auch für zustandsbehaftete Anwendungen nutzbar zu machen, bietet Storm ein Checkpoint-basiertes State Management, welches den Zustand der einzelnen Prozesse periodisch festschreibt. Die Erstellung eines Checkpoint liegt jedoch auf dem kritischen Verarbeitungspfad eines Prozesses und verläuft obendrein synchron, sodass sie unter Umständen starke Auswirkungen auf die Latenz in der Verarbeitungspipeline hat.\ Ziel der Arbeit ist die Implementation und Evaluierung eines komplett asynchronen State Management in Storm.
Ziele:
- Recherche geeigneter Algorithmen zur Bestimmung des globalen Systemzustands in einem verteilten System (siehe auch Vertiefungsliteratur unten) und insbesondere eine Analyse der Ansätze zum State Management der populärsten DSPs (etwa Storm, Flink, Apex, Samza oder Spark Streaming)
- Entwurf und Implementierung einer latenzoptimierten State-Implementation in Storm, die möglichst wenige Einschränkungen bezüglich der Änderungsrate und Größe des Anwendungszustandes bietet und gleichzeitig bestehende Konsistenzgarantien erhält
- Evaluation der Implementation und (quantitativer) Vergleich mit der Standardimplementation in Storm sowie dem State Management in und Flink oder Apex.
Einführungsliteratur:
Vertiefungsliteratur:
- Paper zum Chandy-Lamport-Algorithmus: beschreibt einen Algorithmus zur Erstellung verteilter Snapshots; beschreibt auch anschaulich die Schwierigkeit dabei, den globalen Zustand in einem verteilten System festzuhalten
- Storm auf GitHub, insbesondere:
Kommentare
Kommentar hinterlassen
Die E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert *