Resource Management and Performance Control for Staged Design-Based Services

dc.contributor.advisorHeiß, Hans-Ulrichen
dc.contributor.authorAl-Hakeem, Mohammad Shadien
dc.contributor.grantorTechnische Universität Berlin, Fakultät IV - Elektrotechnik und Informatiken
dc.date.accepted2010-12-16
dc.date.accessioned2015-11-20T20:10:42Z
dc.date.available2011-02-09T12:00:00Z
dc.date.issued2011-02-09
dc.date.submitted2011-02-09
dc.description.abstractDie Staged-Architektur ist als ein Ansatz für Internet-Dienste mit hoher Nebenläufigkeit entwickelt worden. “Staging” bedeutet dabei, dass die Funktionalität des Dienstes in einzelne Stufen zerlegt wird, die jeweils einige Aspekte der Berechnung ausführen. Eine Client-Anfrage wird dann entlang einer Pipeline dieser Stufen bearbeitet. Diese Architektur ermöglicht es dem Dienst, mit Überlast situationen umzugehen und erhöht zudem die Modularität des Codes und vereinfacht das Design. Allerdings haben sich mit Einführung der Staged-Architektur neue Herausforderungen im Design ergeben hinsichtlich der Ressourcenverwaltung und der Performance-Steuerung. Eine Engpass-Phase innerhalb des Verarbeitungsflusses der Anfragen reduziert den Gesamtdurchsatz selbst dann, wenn andere Stufen von dieser Engpass-Phase isoliert sind und eine höhere Leistung ermöglichen würden. Aus diesem Grund muss beim Design sorgsam darauf geachtet werden, Engpässe zu vermeiden. Eine mögliche Lösung ist es, der Engpass-Stufe mehr Ressourcen zuzuweisen. Dies kann allerdings dazu führen, dass wiederum andere Stufen zum Engpass werden. Da alle Stufen um die gleichen Ressourcen konkurrieren, können zusätzliche Überlagerungen auftreten, die zu Instabilität oder einem Aufschwingen führen können. Das Staged Design wurde ursprünglich vorgestellt als eine Programmierungsabstraktion zur Verbesserung des Speicherzugriffsverhaltens von hochgradig nebenläufigen Internet-Servern durch die Umsetzung von "Cohort Scheduling"- Ansätzen, die die Ausführung von Anfragen der einzelnen Stufen bündeln. Damit sind die bestehenden Ansätze des Schedulings im Staged Design mehr darauf ausgelegt, die Vorteile der Cache-Lokalität innerhalb der Stufen zu nutzen als durch geeignete Ressourcenzuteilung zwischen den Stufen zu schaffen und Engpässe zu vermeiden. Folglich führen dynamische Veränderungen in den Anforderungen der Stufen zu Instabilität und Schwingungen unter verschiedenen Lastbedingungen. Weiterhin ist es kompliziert, in solchen Systemen eine vorgegebene Performance zu erreichen – dies basiert häufig auf manuellem Tuning der Parameter durch Experten oder anhand der Ergebnisse aufwendiger Benchmarks. Um diesen Herausforderungen zu begegnen, schlägt diese Arbeit eine Drei-Schichtenarchitektur für Ressourcen Management und Performance Regelung von Anwendungen vor, die auf der Stage Event Driven Architecture (SEDA, aktuelle Variante des Staged Design) basieren. Es werden eine adaptive Ressourcen zuweisung und ein Ansatz zur Performance-Regelung vorgestellt, die dieser Drei-Schichtenarchitektur folgen. Der vorgeschlagene Ansatz profitiert von den Vorteilen der SEDA zur Unterstützung massiv nebenläufiger Nachfragen und nutzt eine Feedback-basierte Regelung zur Verwaltung der System-Ressourcen und der Steuerung der Leistung. Der Ressourcen-Controller weist die Ressourcen den einzelnen Stufen in Abhängigkeit von zur Laufzeit beobachteter Last und Performance zu. Der Feedback-basierte Performance-Controller passt die Systemparameter dynamisch an, um Performance-Ziele zu garantieren sowie die gewünschte Dienstqualität zu erreichen. Der vorgeschlagene Scheduling-Ansatz wird validiert und mit anderen Ansätzen unter verschiedenen Lastbedingungen mittels einer Simulation vergleichen. Die Ergebnisse zeigen, dass der Ansatz Ressourcen dynamisch zuweisen kann und eine höhere Performance erreichen kann, während ein Absinken der Performance unter Überlast vermieden wird. Weiterhin wird die Fähigkeit des Performance-Controller demonstriert, die Systemparameter zur Laufzeit dynamisch und automatisch anzupassen, um das gewünschte Performanceziel auch unter einer Vielzahl dynamischer Veränderungen im System zu erreichen.de
dc.description.abstractThe staged architecture has emerged as an approach to implement highly concurrent Internet services. Staging means that the functionality of the server code is broken down into computational stages with each stage performing some aspect of request processing. A client request would then be processed along a pipeline of these stages. This architecture allows services to behave well and to gracefully handle overload, in addition to increase code modularity and to simplify service design. However, staged architecture has introduced other design challenges related to resource management and performance control. A bottleneck stage in the work-flow of request processing will limit the overall system throughput even though other stages are isolated from this bottleneck stage and can support a higher performance. For this reason care must be taken to avoid bottlenecks. A solution to adjust the throughput is to allocate more resources to a stage if it is becoming a bottleneck. This in turn may force other stages into becoming a bottleneck. Since all stages are competing for the same resources additional effects may take place and give rise to instability or oscillations. Staged design was originally introduced as a programming abstraction to improve memory accesses behavior of highly concurrent Internet servers by implementing cohort scheduling policies which batch the execution of requests at each stage. As a result existing scheduling policies in staged design-based applications are mechanisms to increase the benefit from cache locality within the individual stages, rather than to balance resource allocation to avoid bottleneck stages and control the system performance. Consequently, dynamic changes in stages' requirements lead to instability and oscillations in performance under different load conditions. In addition, achieving a target performance in such systems is a hard job and often depends on manual parameter tuning by expert administrators or benchmarks experiments. To address these challenges, this thesis suggests a three-layer control architecture for resource management and performance control of staged applications based on the Staged Event Driven Architecture (SEDA), which is the state of the art of the staged design. Then an adaptive resource allocation policy and a performance control approach are presented, which follow this three-layer control architecture. The proposed approach benefits from the advantages of SEDA to support highly concurrent demands and makes use of feedback-based controllers to manage the system resources and control its performance. The resource controller allocates resources to stages depending on run time observations of the stages' load and performance, and the feedback based performance controller adapts system parameters to achieve performance targets and guarantees the desired quality of service. We validate the proposed scheduling policy and compare it with other scheduling policies under different load conditions through a simulation study. Results demonstrate that our approach can allocate system resources automatically and dynamically to achieve a superior performance while avoiding performance degradation under overload. We demonstrate also the ability of the performance controller to adjust the system at run-time dynamically and automatically to maintain the desired performance target under a variety of dynamic changes in the system.en
dc.identifier.uriurn:nbn:de:kobv:83-opus-28877
dc.identifier.urihttps://depositonce.tu-berlin.de/handle/11303/3020
dc.identifier.urihttp://dx.doi.org/10.14279/depositonce-2723
dc.languageEnglishen
dc.language.isoenen
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subject.ddc004 Datenverarbeitung; Informatiken
dc.subject.otherAblaufplanungde
dc.subject.otherBetriebsmittelverwaltungde
dc.subject.otherDienstgütede
dc.subject.otherFließbandstrukturde
dc.subject.otherLeistungsregelungde
dc.subject.otherMulti-Coreen
dc.subject.otherPerformance Controlen
dc.subject.otherResource Managementen
dc.subject.otherSchedulingen
dc.subject.otherStaged Designen
dc.titleResource Management and Performance Control for Staged Design-Based Servicesen
dc.title.translatedBetriebsmittelverwaltung und Leistungsregelung für Dienstgeber mit Fließbandstruktur.de
dc.typeDoctoral Thesisen
dc.type.versionpublishedVersionen
tub.accessrights.dnbfree*
tub.affiliationFak. 4 Elektrotechnik und Informatik::Inst. Telekommunikationssystemede
tub.affiliation.facultyFak. 4 Elektrotechnik und Informatikde
tub.affiliation.instituteInst. Telekommunikationssystemede
tub.identifier.opus32887
tub.identifier.opus42784
tub.publisher.universityorinstitutionTechnische Universität Berlinen

Files

Original bundle
Now showing 1 - 1 of 1
Loading…
Thumbnail Image
Name:
Dokument_38.pdf
Size:
2.38 MB
Format:
Adobe Portable Document Format

Collections