Steigerung der Leistung und Zuverlässigkeit von service-orientierten Architekturen durch Restart
Zusammenfassung der Projektergebnisse
In dem Forschungsvorhaben über das hier berichtet wird sollen die Leistung und Zuverlässigkeit von Internet-Diensten mit service-orientierter Architektur (SOA) durch die Behandlung transienter Zeitfehler gesteigert werden. Zeitfehler in SOAs können verschiedene Ursachen haben, neben kurzfristigen Überlastsituationen beispielsweise auch kurzfristige Ausfälle einzelner Komponenten und Synchronisationsfehler. Zeitfehler können durch Fehler auf verschiedenen Protokollschichten verursacht werden. Sie sollen hier durch Restart, d.h. die rechtzeitige Wiederholung von Dienstanforderungen, behandelt werden. Die Untersuchungen sollten sowohl experimentell als auch modell-basiert durchgeführt werden. Um experimentell eine Methode der Fehlerbehandlung bewerten zu können müssen Fehler verstärkt hervorgerufen werden, da sonst aufgrund zu seltener Ereignisse keine zuverlässigen Aussagen getroffen werden können. Um Fehler im Labor verstärkt hervorrufen zu können müssen Charakteristika typischer Fehler, wie deren Dauer, Häufigkeit und mögliche Ursachen bekannt sein. In Ermangelung vorhandener Bibliotheken wurde nach ausführlichem Studium relevanter Arbeiten anderer eine Methodik zur Erstellung von Fehlermodellen entwickelt. Fehlermodelle können erstellt werden, indem beispielsweise das zeitliche Verhalten der Datenübertragung über einem verlustbehafteten Medium gemessen wird. Die Datenverluste können durch Fehlerinjektion entstehen, oder tatsächlich auf dem Übertragungsmedium existieren. An die gemessenen Zeiten wird eine Verteilung angepaßt. Dafür wird in der Regel eine Phasentypverteilung verwendet. Diese Verteilung ist als Modell darstellbar, welches für die Fehlerinjektion in einem System auf höherem Abstraktionsniveau, für Simulationen oder ein analytisches Modell verwendet werden kann. Man kann nun, sowohl in Experimenten des abstrakteren Systems, als auch in der Simulation wiederum Zeiten messen und diese durch Phasentypmodelle anpassen, die das Verhalten auf dem nächsten Abstraktionsniveau repräsentieren. Es wurden im Lauf der Arbeiten drei verschiedene Testbetten erstellt, die stark komplementär sind. Die Testbetten bauen auf Messungen des Web Services Reliable Messaging (WSRM) Protokolls mit Fehlerinjektion auf. Das erste Testbett basiert auf dem Java Adventure Builder und verwendet eine Referenzarchitektur für Systeme mit service-orientierter Architektur. Es ist insofern ein typisches SOA-System. Jedoch implementiert es nur einen Workflow und ist daher unflexibel und wenig a repräsentativ im zeitlichen Verhalten. Das zweite Testbett wurde mit dem Testbettgenerator GENESIS erstellt und erlaubt flexible Workflows, jedoch hat es keine implementierte Funktionalität und Verzögerungen durch Anwendungslogik können nur simuliert werden. Das dritte Testbett implementiert echte Funktionalität. Hier werden drei Dienste kombiniert, von denen der erste eine Simulation mit dem Simulator OMNeT++ durchführt, der zweite eine Phasentypverteilung an die Ergebnisse anpaßt und der dritte diese Phasentypverteilung visualisiert. Interessant werden die Experimente in den Testbetten jedoch erst durch eine adäquate Fehlerinjektion. Da existierende Module zur Fehlerinjektion auf IP-Ebene keinen Wechsel von Phasen zufälliger Dauer mit unterschiedlicher Verlustwahrscheinlichkeit erlauben, wurde ein solches Modul entwickelt. Es wurde gezeigt, daß damit in bestimmten Situationen viel aussagekräftigere Ergebnisse erzielt werden, als bisher. Stochastische Modelle werden für die Fehlermodelle und -injektion sowie für die Simulation abstrahierter SOA Systeme verwendet.
Projektbezogene Publikationen (Auswahl)
- Towards a Multi-Level Fault-Injection Test-bed for Service-Oriented Architectures: Requirements for Parameterisation. In: SRDS Workshop on Sharing Field Data and Experiment Measurements on Resilience of Distributed Computing Systems, Naples, Italy, 2008
P. Reinecke and K. Wolter
- Response-time Measurements Using the Sun Java Adventure Builder. In: QUASOSS ’09: Proceedings of the 1st International Workshop on Quality of Service-oriented Software Systems, pp. 11–18, New York, NY, USA, 2009. ACM
P. Reinecke, S. Wittkowski, and K. Wolter
- A Survey on Fault-Models for QoS Studies of Service-Oriented Systems. Technical Report B-2010-02, Freie Universität Berlin, February 2010
P. Reinecke, K. Wolter, and M. Malek
- Evaluating the Adaptivity of Computing Systems. Performance Evaluation, 67(8), pp. 676-693, 2010
P. Reinecke, K. Wolter, and A. van Moorsel