Interplay of Design Time Optimization and Run Time Optimization Anne Koziolek ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association are.ipd.kit.edu www.kit.edu Overview Software Architecture Optimization at Design Time Modelling Degrees of Freedom Abstract from what is changed and optimize Define search space Evaluation function using model transformations When to make decisions At design time At human-involved evolution time At re-optimization time, e.g. daily At “run time”, e.g. within minutes or seconds 2 20.01.2015 Interplay of Design Time Optimization and Run Time Optimization Anne Koziolek Architecture-driven Requirements Engineering Group Institute for Program Structures and Data Organization Predicting or Self-predictive? “Self-predictive: Able to predict the effect of dynamic changes (e.g., changing workloads) as well as predict the effect of possible adaptation actions (e.g., adding/removing resources)” (seminar page) Need to predict the effect at design time first, are goals attainable at all? Decide whether to fix design or to keep some degrees of freedom for later (at run time) Move decisions to runtime if Want to save operating costs? State space too large? Unanticipated change (can that be?) Run time costs to determine better (or optimal) solution acceptable 14 20.01.2015 Interplay of Design Time Optimization and Run Time Optimization Anne Koziolek Architecture-driven Requirements Engineering Group Institute for Program Structures and Data Organization Design time, Run time, …? Similar to organic computing levels Evolution loop (human redesign) Feedback (from monitoring or user) Re-optimization loop (automated), rare, costly Meeting point of design time and run time techniques? - MDD techniques - Rules for inner loop Which degrees of freedom to consider? How “globally” to optimize? Design time 15 20.01.2015 Run time Self adaptation loop Quick reaction to changing workload, predefined rules? Interplay of Design Time Optimization and Run Time Optimization Anne Koziolek Architecture-driven Requirements Engineering Group Institute for Program Structures and Data Organization Conclusions & Outlook Software Architecture Optimization at Design Time Modelling Degrees of Freedom Abstract from what is changed and optimize Define search space Evaluation function using model transformations Apply to your self-aware systems approach? When to make decisions At design time At human-involved evolution time At re-optimization time, e.g. daily Looking forward to discuss with you At “run time”, e.g. within minutes or seconds 16 20.01.2015 Interplay of Design Time Optimization and Run Time Optimization Anne Koziolek Architecture-driven Requirements Engineering Group Institute for Program Structures and Data Organization PerOpteryx References [WCOP2008] Anne Martens and Heiko Koziolek. Performance-oriented Design Space Exploration. In Proceedings of the Thirteenth International Workshop on Component-Oriented Programming (WCOP'08), Karlsruhe, Germany, pages 25-32, 2008. [FESCA2009] Anne Martens and Heiko Koziolek. Automatic, model-based software performance improvement for componentbased software designs. In Proceedings of the Sixth International Workshop on Formal Engineering approches to Software Components and Architectures (FESCA 2009), volume 253 of Electronic Notes in Theoretical Computer Science, pages 77 - 93. Elsevier, 2009. [Quasoss2009] Anne Martens, Franz Brosch, and Ralf Reussner. Optimising multiple quality criteria of service-oriented software architectures. In Proceedings of the 1st international workshop on Quality of service-oriented software systems (QUASOSS), pages 25-32. ACM, New York, NY, USA, 2009. [Quasoss2010] Qais Noorshams, Anne Martens, and Ralf Reussner. Using quality of service bounds for effective multi-objective software architecture optimization. In QUASOSS '10: Proceedings of the 2nd International Workshop on the Quality of ServiceOriented Software Systems, pages 1:1-1:6. ACM, New York, NY, USA, 2010. [ICPE2010] ] Anne Martens, Heiko Koziolek, Steffen Becker, and Ralf H. Reussner. Automatically improve software models for performance, reliability and cost using genetic algorithms. In WOSP/SIPEW '10: Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering, pages 105-116, New York, NY, USA, 2010. ACM. [FASE2010] Vittorio Cortellessa, Anne Martens, Ralf Reussner, and Catia Trubiani. A process to effectively identify guilty performance antipatterns. In David Rosenblum and Gabriele Taentzer, editors, Fundamental Approaches to Software Engineering, 13th International Conference, FASE 2010, pages 368-382. Springer-Verlag Berlin Heidelberg, 2010. [QoSA2010] Anne Martens, Danilo Ardagna, Heiko Koziolek, Raffaela Mirandola, and Ralf Reussner. A Hybrid Approach for MultiAttribute QoS Optimisation in Component Based Software Systems. In George Heineman, Jan Kofron, and Frantisek Plasil, editors, Research into Practice - Reality and Gaps (Proceeding of QoSA 2010), volume 6093 of LNCS, pages 84-101. Springer-Verlag Berlin Heidelberg, 2010. [ICPE2011] Catia Trubiani and Anne Koziolek. Detection and solution of software performance antipatterns in palladio architectural models. In Proceeding of the second joint WOSP/SIPEW international conference on Performance engineering, ICPE '11, pages 19-30. ACM, New York, NY, USA, 2011. ICPE best paper award. [QoSA2011] Anne Koziolek, Heiko Koziolek, and Ralf Reussner. Peropteryx: Automated application of tactics in multi-objective software architecture optimization. In Proceedings of the Seventh International ACM Sigsoft Conference on the Quality of Software Architectures (QoSA 2011), Boulder, Colorado, USA, June 2011. ACM, New York, NY, USA. [CBSE2011] Anne Koziolek and Ralf Reussner. Towards a generic quality optimisation framework for component-based system models. In Proceedings of the 14th International Symposium on Component Based Software Engineering (CBSE 2011), Boulder, Colorado, USA, June 2011. ACM, New York, NY, USA. 17 20.01.2015 Interplay of Design Time Optimization and Run Time Optimization Anne Koziolek Architecture-driven Requirements Engineering Group Institute for Program Structures and Data Organization Other References [Aleti2009] Aleti, A., Björnander, S., Grunske, L., and Meedeniya, I. (2009a). Archeopterix: An extendable tool for architecture optimization of AADL models. In Proc. of ICSE 2009 Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES), pages 61--71. IEEE Computer Society. [Becker2007] Becker, S., Koziolek, H., and Reussner, R.: Model-based Performance Prediction with the Palladio Component Model. In WOSP '07: Proceedings of the 6th International Workshop on Software and performance, pages 54-65, New York, NY, USA, February 5-8 2007. ACM. [Brosch 2009] Franz Brosch, Heiko Koziolek, Barbora Buhnova, and Ralf Reussner. Architecture-based reliability prediction with the palladio component model. Transactions on Software Engineering, 38(6), 2011, IEEE Computer Society. [Canfora2008] Canfora, G., Penta, M. D., Esposito, R., and Villani, M. L. (2008). A framework for qos-aware binding and re-binding of composite web services. Journal of Systems and Software, 81(10):1754--1769. [Diaz-Pace2008] Diaz Pace, A., Kim, H., Bass, L., Bianco, P., and Bachmann, F. (2008). Integrating qualityattribute reasoning frameworks in the archE design assistant. In Proceedings of the 4th International Conference on the Quality of Software-Architectures (QoSA 2008), volume 5281 of Lecture Notes in Computer Science, pages 171{188. Springer-Verlag, Berlin, Germany. [H. Koziolek2008] Heiko Koziolek and Ralf Reussner. A model-transformation from the palladio component model to layered queueing networks. In Proc. of the SPEC International Workshop on Performance Engineering (SIPEW'08), volume 5119 of LNCS, pages 58-78. Springer, June 2008. [Menasce2010] Menasce, D. A., Casalicchio, E., and Dubey, V. (2010). On optimal service selection in service oriented architectures. Performance Evaluation, 67(8):659--675. Special Issue on Software and Performance. [Zeng2008] Zeng, L., Ngu, A., Benatallah, B., Podorozhny, R., and Lei, H. (2008). Dynamic composition and optimization of web services. Distributed and Parallel Databases, 24:45--72. 18 20.01.2015 Interplay of Design Time Optimization and Run Time Optimization Anne Koziolek Architecture-driven Requirements Engineering Group Institute for Program Structures and Data Organization