A dedicated architectural view for simulation-based design of elasticity policies
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
The cloud computing model enables the provisioning of computing resources based on demand. It lowers the burden of manual management by operators, improves efficiency, and improves the environmental impact. Software architects shift to a strategic role in the process, where they have to design, configure, and deploy appropriate policies for automated management of computing resources—elasticity policies.
Designing appropriate elasticity policies to achieve certain performance or cost objectives is a complex problem. Several approaches in the literature of different flavors tackle the problem. Most of them require deep mathematical and formal modeling skills, for example, Queueing Theory, to model and predict the consequences of a particular policy design. Approaches closer to architectural modeling in the software engineering domain, such as Palladio or CloudSim, do not offer specific means for representing elasticity. They either require workarounds or rely on generic means of modeling, hampering productivity and predictive power.
This thesis proposes the Slingshot approach: a dedicated architectural view for modeling elasticity policies, associated analysis based on discrete event simulations, development process, and tool support. We materialize the view through a domain-specific language for elasticity called the Scaling Policy Definition (SPD) modeling language. We integrate the proposal into the Palladio software architecture simulator. The contribution aims to improve productivity and increase predictive power, i.e., to enable researchers and practitioners to evaluate elasticity policies effectively with low effort and sufficient accuracy.
To validate the impact of our proposal in terms of its predictive power, we perform two single-case mechanism experiments with applications that are representative of real-world complexity. In the first single-case mechanism experiment, we find that the style and configuration of an elasticity policy significantly impact performance and lead to trade-offs in decision-making. The simulation results reliably predict the average response times of various elasticity policy designs with a mean absolute prediction error between 23% and 46% . For the performance indicators, average response time and throughput, there is a strong positive correlation between predictions and ground-truth measurements. For the tail latencies captured through the 95th percentile for response times there is a moderate positive correlation. The second single-case mechanism experiment shows that the approach is feasible for larger applications with the drawback of increased simulation times.
In addition, we perform a user study with a representative sample of novice software architects to validate the proposal’s impact on productivity by collecting 12 data points in which participants model and refine SPD models. The user study results provide evidence that the contribution is easily adoptable by novice software architects. Participants solved 90% of the tasks, rated the usability high with a value of 71%, and achieved an average total score of 76% in nearly half of the allocated time. Compared to existing architectural modeling views for modeling the control flow, the resource environment, and the usage profile, the collected empirical evidence suggests that participants require more time to produce models of similar size in the proposed architectural view for elasticity.
Das Cloud-Computing-Modell ermöglicht die Bereitstellung von Rechenressourcen auf der Grundlage der Nachfrage. Es reduziert die Belastung manueller Verwaltung durch Betreiber, verbessert die Effizienz und hat einen positiven Umwelteinfluss. Softwarearchitekten übernehmen in diesem Prozess eine strategische Rolle, indem sie geeignete Richtlinien für die automatisierte Verwaltung von Computerressourcen - Elastizitätsrichtlinien - entwerfen, konfigurieren und einsetzen.
Das Entwerfen geeigneter Elastizitätsrichtlinien zur Erreichung bestimmter Leistungs- oder Kostenziele ist ein komplexes Problem. In der Literatur finden sich unterschiedliche Ansätze, die sich mit diesem Problem befassen. Die meisten von ihnen erfordern tiefgreifende mathematische und formale Modellierungskenntnisse, z. B. die Warteschlangentheorie, um die Folgen einer bestimmten Politikgestaltung zu modellieren und vorherzusagen. Ansätze, die näher an der Architekturmodellierung und dem Anwendungsbereich liegen, wie Palladio oder CloudSim, bieten keine spezifischen Mittel zur Darstellung der Elastizität. Sie erfordern entweder Workarounds oder verlassen sich auf generische Modellierungsmittel, was die Produktivität und Vorhersagekraft beeinträchtigt.
Diese Dissertation schlägt den Slingshot-Ansatz vor: eine dedizierte architekturelle Sicht für die Modellierung von Elastizitätsstrategien, verbundener Analyse basierend auf diskreten Ereignissimulationen, Entwicklungsprozess und Toolunterstützung. Wir konkretisieren die Sicht durch eine domänenspezifische Sprache namens Scaling Policy Definition (SPD), die Elastizitätsaspekte erfasst. Wir integrieren den Vorschlag in den Software-Architektur-Simulator Palladio. Der Beitrag zielt darauf ab, die Produktivität zu verbessern und die Vorhersagekraft zu erhöhen, d. h. Forschern und Praktikern zu ermöglichen, Elastizitätsrichtlinien effektiv mit geringem Aufwand und hoher Genauigkeit zu bewerten.
Um die Auswirkungen unseres Vorschlags hinsichtlich seiner Vorhersagekraft zu validieren, führen wir zwei Einzelfallmechanismus-Experimente mit Anwendungen durch, die die Komplexität der realen Welt repräsentieren. Im ersten Experiment stellen wir fest, dass Stil und Konfiguration einer Elastizitätstrategie signifikanten Einfluss auf die Leistung haben und zu Kompromissen bei Entscheidungen führen. Die Simulationsergebnisse sagen zuverlässig die durchschnittlichen Antwortzeiten verschiedener Elastizitätsstrategien mit einem mittleren absoluten Vorhersagefehler zwischen 23 % und 46 % voraus. Für die Leistungskennzahlen durchschnittliche Reaktionszeit und Durchsatz besteht eine starke positive Korrelation zwischen Vorhersagen und tatsächlichen Messungen. Für die Tail-Latenzen, erfasst durch das 95. Perzentil für Antwortzeiten, besteht eine moderate positive Korrelation. Das zweite Einzelfallmechanismus-Experiment zeigt, dass der Ansatz auch für größere Anwendungen machbar ist.
Zusätzlich führen wir eine Benutzerstudie mit einer repräsentativen Stichprobe von Softwarearchitekten durch, um den Einfluss des Vorschlags auf die Produktivität zu validieren, indem wir 12 Datenpunkte sammeln, in denen Softwarearchitekten SPD-Modelle modellieren und verfeinern. Die Ergebnisse der Benutzerstudie belegen, dass der Beitrag leicht von AnfängerSoftwarearchitekten übernommen werden kann. Die Teilnehmer lösten 90% der Aufgaben, bewerteten die Benutzerfreundlichkeit hoch mit einem Wert von 71% und erreichten einen durchschnittlichen Gesamtwert von 76% in fast der Hälfte der zugeteilten Zeit. Im Vergleich zu bestehenden architekturellen Sichten für die Modellierung des Kontrollflusses, der Ressourcenumgebung und des Nutzungsprofils legen die gesammelten empirischen Beweise nahe, dass die Teilnehmer mehr Zeit benötigen, um Modelle ähnlicher Größe in der vorgeschlagenen architekturellen Sicht für Elastizität zu erstellen.