Massively parallel stream processing with latency guarantees

dc.contributor.advisorKao, Odej
dc.contributor.authorLohrmann, Björn
dc.contributor.grantorTechnische Universität Berlinen
dc.contributor.refereeKao, Odej
dc.contributor.refereeFreytag, Johann-Christoph
dc.contributor.refereeSattler, Kai-Uwe
dc.date.accepted2015-11-26
dc.date.accessioned2016-05-19T12:23:08Z
dc.date.available2016-05-19T12:23:08Z
dc.date.issued2016
dc.description.abstractA new class of stream processing engines has recently established itself as a platform for applications in numerous domains, such as personalized content- and ad-serving, online recommender systems or social media analytics. These new engines draw inspiration from Big Data batch processing frameworks (Google's MapReduce and its descendants) as well existing stream processing engines (e.g. Borealis and STREAM). They process data on-the-fly without first storing it in a file system and their core programming abstractions hide the complexity of distributed-parallel programming. Although stream processing applications commonly need to process ingested data within time bounds, this new class of engines so far computes results "as fast as possible". As variations in workload characteristics are often hard to predict and outside the control of the application, this may quickly lead to a situation where "as fast as possible" becomes "not fast enough" for the application. This thesis revisits the design of this new class of stream processing engines. The core question addressed by this thesis is how latency requirements can be specified and continuously enforced within these engines in a resource-efficient manner. To this end, this thesis contributes (1) a formalism and associated semantics for expressing latency requirements for stream processing applications, (2) a set of techniques for engines to enforce them and (3) an evaluation of the effectiveness of the presented techniques. The proposed techniques optimize resource efficiency by automatically adjusting the data shipping strategy between data flow tasks and adapting the mapping between tasks and execution threads at runtime. Furthermore, based on workload statistics measured at runtime, they adapt the application's parallelism by exploiting the elasticity of shared, resource-managed compute clusters. To evaluate their effectiveness, they have been implemented in a research prototype and an experimental evaluation with several application workloads has been conducted on a large commodity cluster.en
dc.description.abstractIn den vergangenen Jahren hat sich eine neue Generation von Systemen zur Streamdatenverarbeitung etabliert, die ihre Anwendung zum Beispiel in Echzeit-Empfehlungssystemen, personalisiertem Online-Marketing und der Analyse von Daten aus sozialen Netzwerken findet. Diese neuartigen Systeme vereinen Eigenschaften batch-orienter Datenanalysesysteme aus dem Big Data Bereich (z.B. Google MapReduce), mit denen klassischer Systeme zur Streamdatenverarbeitung (z.B. Borealis und STREAM). Zumeist handelt es sich hierbei um Software-Frameworks deren Programmierabstraktionen die Komplexität paralleler Programmierung kapseln und deren Fokus die Verarbeitung eingehender Daten ohne vorherige persistente Speicherung ist. Obwohl konkrete Anwendungen der Streamdatenverarbeitung eingehende Daten für gewöhnlich innerhalb enger Zeitgrenzen verarbeiten müssen, ist der Fokus der existierenden Systeme diese Verarbeitung "so früh wie möglich" durchzuführen. Schwer vorhersagbare und unkontrollierbare Schwankungen in der Verarbeitungslast führen jedoch schnell zu einer Situation in der "so früh wie möglich" sich als "nicht früh genug" für die Anwendung erweist. Aufbauend auf dem aktuellen Design von Systemen zur Streamdatenverarbeitung, behandelt diese Arbeit im Kern die Frage, wie sich die Latenzanforderungen von Anwendungen spezifizieren and zur Laufzeit ressourceneffizient garantieren lassen können. Die wissenschaftlichen Beiträge dieser Arbeit sind (1) ein Formalismus zur Spezifikation von Latenzanforderungen von Anwendungen der Streamdatenverarbeitung, (2) ein Satz an Verfahren, die derart spezifizierte Latenzanfordungen zur Laufzeit umsetzen und (3) eine experimentelle Evaluation dieser Verfahren. Die in dieser Arbeit beschriebenen Verfahren optimieren die Ressourceneffizienz durch Anpassung der Datenübertragungsstrategien und der Abbildung von Anwendungsteilen auf Threads zur Laufzeit. Basierend auf Messungen bestimmter Aspekte der Anwendungslast, passen sie zudem die Parallelität dieser Anwendungen zur Laufzeit an, unter Ausnutzung der Ressourcen-Elastizität aktueller Cluster Management Systeme. Die genannten Verfahren sind im Rahmen dieser Arbeit prototypisch implementiert und in mehreren Anwendungsszenarien auf einem großen Rechencluster experimentell evaluiert worden.de
dc.identifier.urihttps://depositonce.tu-berlin.de/handle/11303/5461
dc.identifier.urihttp://dx.doi.org/10.14279/depositonce-5132
dc.language.isoenen
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en
dc.subject.ddc000 Informatik, Informationswissenschaft, allgemeine Werkede
dc.subject.othermassively parallel stream processingen
dc.subject.otherlatency guaranteesen
dc.subject.otherlatency constraintsen
dc.subject.otherelastic scalingen
dc.subject.othermassiv parallele Streamdatenverarbeitungde
dc.subject.otherLatenzgarantiende
dc.subject.otherelastische Skalierungde
dc.titleMassively parallel stream processing with latency guaranteesen
dc.title.translatedMassiv parallele Streamdatenverarbeitung mit Latenzgarantiende
dc.typeDoctoral Thesisen
dc.type.versionacceptedVersionen
tub.accessrights.dnbfreeen
tub.affiliationFak. 4 Elektrotechnik und Informatik::Inst. Telekommunikationssystemede
tub.affiliation.facultyFak. 4 Elektrotechnik und Informatikde
tub.affiliation.instituteInst. Telekommunikationssystemede
tub.publisher.universityorinstitutionTechnische Universität Berlinen

Files

Original bundle
Now showing 1 - 1 of 1
Loading…
Thumbnail Image
Name:
lohrmann_bjoern.pdf
Size:
1.49 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
5.75 KB
Format:
Item-specific license agreed upon to submission
Description:

Collections