Autonomes Performanz- und Ressourcen-Management in dynamischen, dienstorientierten Umgebungen
Final Report Abstract
The latest and major scientific progress achieved as part of the project is the release of the novel Descartes Modeling Language (DML). DML is a domain-specific language to describe infrastructure resources and software architectures in modern data centers as well as their dynamic aspects and adaptation processes. DML is designed to support online performance prediction to assess the impact of changes in the system environment and of possible adaptation actions during operation. Thus, it provides a foundation for autonomic model-based performance-aware resource management at run-time and future research in this field. Essentially, DML consists of four major sub-meta-models: a) a meta-model describing the resource landscape, i.e., the details of the execution environment including its layers like virtualization and middleware, b) a meta-model to describe the software architecture, i.e., its components, interfaces, and their relationships, c) an adaptation points meta-model to describe the dynamic aspects and adaptation possibilities of the modeled system, and d) a meta-model to describe adaptation processes. The scientific progress achieved through DML lies mainly in the improved model expressiveness providing: i) different levels of service behavior abstraction ii) probabilistic modeling of dependencies between model parameters, iii) additional structural information about the resource landscape, also covering the performanceinfluencing factors of the various layers of the execution environment, iv) the ability to model the dynamic system aspects to reflect adaptation scenarios, and v) a language to describe how a dynamic IT system can adapt to changes in the environment. In summary, DML provides the basis for model-based autonomic performance and resource management in IT systems, infrastructures and services. The advantage of such a holistic modelbased approach is the abstraction of technical details, giving system designers and software architects means to describe adaptations at a high level of abstraction, making it easier to reuse successful adaptation strategies and to maintain system adaptability. Furthermore, our comprehensive architecture-level models provide means to conduct tailored online performance predictions providing a basis for proactive system adaptation with predictable results. A second important scientific contribution was achieved in the area of automated model extraction. As demonstrated, architecture-level performance models are very useful and highly beneficial for performanceaware resource management. However, in general the development of such models is very expensive since it involves manual, time-consuming, error-prone tasks. We proposed a method to automatically extract architecture-level performance models based on monitoring data collected at run-time. We evaluated this approach with the novel SPECjEnterprise2010 benchmark. In this case study, we deployed the benchmark in a cluster environment consisting of up to eight nodes, executing the Oracle Weblogic Application Server. A major challenge in this work was to eliminate technical difficulties due to the complexity of the benchmark and the size of the infrastructure. However, this work demonstrated that it is possible to automatically extract models with a prediction error of roughly 10% even for complex software architectures, and that models can be extracted with low overhead using easily obtainable monitoring data. Further, we presented an approach to self-adaptive resource allocation in virtualized environments based on online architecture-level performance models. In a detailed case study with the extracted models of the SPECjEnterprise2010 benchmark deployed in a virtualized cluster environment consisting of six compute nodes, we showed that architecture-level performance models provide a powerful basis for autonomic performance-aware resource management. The great interest shown not only in the academic community but also by industry partners like VMware, IBM, Oracle or SAP as witnessed by several ongoing collaborations emphasizes the success and importance of the achieved research progress. Our long-term goal is to integrate DML with modern virtualized data centers and service-oriented environments with the goal to build self-aware systems that are able to autonomically adapt to changes in their environment and to use their resources efficiently, thereby saving administration and energy costs. As a long-term vision, we plan to extend our models and methodologies to ensure not only performance properties but also other non-functional properties like dependability (covering reliability and security).
Publications
- Performance Modeling in Industry: A Case Study on Storage Virtualization. In ACM/IEEE 32nd International Conference on Software Engineering (ICSE 2010), Software Engineering in Practice Track, Capetown, South Africa, pages 1–10, May 2-8, 2010
Nikolaus Huber, Steffen Becker, Christoph Rathfelder, Jochen Schweflinghaus, and Ralf Reussner
- Automated Extraction of Architecture-Level Performance Models of Distributed Component-Based Systems. In 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Oread, Lawrence, Kansas, November 2011
abian Brosig, Nikolaus Huber, and Samuel Kounev
- Automated Simulation- Based Capacity Planning for Enterprise Data Fabrics. In 4th International ICST Conference on Simulation Tools and Techniques, Barcelona, Spain, March 21-25, 2011. ICST Best Paper Award
Samuel Kounev, Konstantin Bender, Fabian Brosig, Nikolaus Huber, and Russell Okamoto
- Capacity Planning for Event-based Systems using Automated Performance Predictions. In 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pages 352–361, Oread, Lawrence, Kansas, November 2011
Christoph Rathfelder, Samuel Kounev, and David Evans
- Evaluating and Modeling Virtualization Performance Overhead for Cloud Environments. In Proceedings of the International Conference on Cloud Computing and Services Science (CLOSER 2011), Noordwijkerhout, The Netherlands, pages 563 – 573, May 7-9, 2011. Best Paper Award
Nikolaus Huber, Marcel von Quast, Michael Hauck, and Samuel Kounev
- I/O Performance Modeling of Virtualized Storage Systems. In Proceedings of the IEEE 21st International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, MASCOTS ’13, pages 121–130, 2013
Qais Noorshams, Kiana Rostami, Samuel Kounev, Petr Tuma, and Ralf Reussner
- Modeling Run-Time Adaptation at the System Architecture Level in Dynamic Service-Oriented Environments. Service Oriented Computing and Applications Journal (SOCA), 2013
Nikolaus Huber, André van Hoorn, Anne Koziolek, Fabian Brosig, and Samuel Kounev
- Architecture-Level Software Performance Abstractions for Online Performance Prediction. Elsevier Science of Computer Programming Journal (SciCo), Vol. 90, Part B:71–92, 2014
Fabian Brosig, Nikolaus Huber, and Samuel Kounev
(See online at https://doi.org/10.1016/j.scico.2013.06.004) - Quantitative evaluation of model-driven performance analysis and simulation of component-based architectures. IEEE Transactions on Software Engineering, PP(99):1–1, 2014
Fabian Brosig, Philipp Meier, Steffen Becker, Anne Koziolek, Heiko Koziolek, and Samuel Kounev
(See online at https://doi.org/10.1109/TSE.2014.2362755) - Resource Usage Control In Multi-Tenant Applications. In Proceedings of the 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2014). IEEE/ACM, May 2014
Rouven Krebs, Simon Spinner, Nadia Ahmed, and Samuel Kounev
(See online at https://doi.org/10.1109/CCGrid.2014.80)