Please use this identifier to cite or link to this item: http://dx.doi.org/10.14279/depositonce-2723
Main Title: Resource Management and Performance Control for Staged Design-Based Services
Translated Title: Betriebsmittelverwaltung und Leistungsregelung für Dienstgeber mit Fließbandstruktur.
Author(s): Al-Hakeem, Mohammad Shadi
Advisor(s): Heiß, Hans-Ulrich
Granting Institution: Technische Universität Berlin, Fakultät IV - Elektrotechnik und Informatik
Type: Doctoral Thesis
Language: English
Language Code: en
Abstract: Die 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.
The 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.
URI: urn:nbn:de:kobv:83-opus-28877
http://depositonce.tu-berlin.de/handle/11303/3020
http://dx.doi.org/10.14279/depositonce-2723
Exam Date: 16-Dec-2010
Issue Date: 9-Feb-2011
Date Available: 9-Feb-2011
DDC Class: 004 Datenverarbeitung; Informatik
Subject(s): Ablaufplanung
Betriebsmittelverwaltung
Dienstgüte
Fließbandstruktur
Leistungsregelung
Multi-Core
Performance Control
Resource Management
Scheduling
Staged Design
Usage rights: Terms of German Copyright Law
Appears in Collections:Technische Universität Berlin » Fakultäten & Zentralinstitute » Fakultät 4 Elektrotechnik und Informatik » Institut für Telekommunikationssysteme » Publications

Files in This Item:
File Description SizeFormat 
Dokument_38.pdf2,44 MBAdobe PDFThumbnail
View/Open


Items in DepositOnce are protected by copyright, with all rights reserved, unless otherwise indicated.