Abstract
In this chapter, we explain how to extract and learn run-time models that a system can use for self-aware performance and resource management in data centers. We abstract from concrete formalisms and identify extraction aspects relevant to performance models. We categorize the learning aspects into: (i) model structure, (ii) model parametrization (estimation and calibration of model parameters), and (iii) model adaptation options (change point detection and run-time reconfiguration). The chapter identifies alternative approaches for the respective model aspects. The type and granularity of each aspect depend on the characteristic of the concrete performance models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Mahmoud Awad and Daniel A. Menascé. Computer Performance Engineering: 11th European Workshop, EPEW 2014, Florence, Italy, September 11–12, 2014. Proceedings, chapter On the Predictive Properties of Performance Models Derived through Input-Output Relationships, pages 89–103. Springer International Publishing, Cham, 2014.
Paul Barham, Austin Donnelly, Rebecca Isaacs, and Richard Mortier. Using Magpie for request extraction and workload modelling. In Proceedings of the 6th Symposium on Operating Systems Design & Implementation (OSDI’04), pages 18–18. USENIX Association, 2004.
Steffen Becker, Michael Hauck, Mircea Trifu, Klaus Krogmann, and Jan Kofron. Reverse engineering component models for quality predictions. In Proceedings of the 14th European Conference on Software Maintenance and Reengineering (CSMR ’10), pages 199–202. IEEE, 2010.
Antonia Bertolino, Antonello Calabrò, Francesca Lonetti, and Antonino Sabetta. Glimpse: A generic and flexible monitoring infrastructure. In Proceedings of the 13th European Workshop on Dependable Computing, EWDC ’11, pages 73–78, New York, NY, USA, 2011. ACM.
Lionel C. Briand, Yvan Labiche, and Johanne Leduc. Toward the reverse engineering of UML sequence diagrams for distributed Java software. IEEE Transactions of Software Engineering, 32(9):642–663, 2006.
Fabian Brosig. Architecture-Level Software Performance Models for Online Performance Prediction. PhD thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2014.
Fabian Brosig, Nikolaus Huber, and Samuel Kounev. Automated extraction of architecture-level performance models of distributed component-based systems. In Proceedings of the 26th IEEE/ACM International Conference On Automated Software Engineering (ASE 2011), 2011.
Fabian Brosig, Samuel Kounev, and Klaus Krogmann. Automated Extraction of Palladio Component Models from Running Enterprise Java Applications. In Proceedings of the 1st International Workshop on Run-time mOdels for Self-managing Systems and Applications (ROSSA 2009). ACM, 2009.
Andreas Brunnert, Andre van Hoorn, Felix Willnecker, Alexandru Danciu, Wilhelm Hasselbring, Christoph Heger, Nikolas Herbst, Pooyan Jamshidi, Reiner Jung, Joakim von Kistowski, Anne Koziolek, Johannes Kroß, Simon Spinner, Christian Vögele, Jürgen Walter, and Alexander Wert. Performance-oriented DevOps: A research agenda. Technical Report SPEC-RG-2015-01, SPEC Research Group — DevOps Performance Working Group, Standard Performance Evaluation Corporation (SPEC), 2015.
Andreas Brunnert, Christian Vgele, and Helmut Krcmar. Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications. In MariaSimonetta Balsamo, WilliamJ. Knottenbelt, and Andrea Marin, editors, Computer Performance Engineering, volume 8168 of Lecture Notes in Computer Science, pages 74–88. Springer Berlin Heidelberg, 2013.
Mauro Caporuscio, Antinisca Di Marco, and Paola Inverardi. Model-based system reconfiguration for dynamic performance management. Journal of Systems and Software, 80(4):455–473, 2007.
Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Stefano Iannucci, Francesco Lo Presti, and Raffaela Mirandola. MOSES: A framework for qos driven runtime adaptation of service-oriented systems. IEEE Trans. Software Eng., 38(5):1138–1159, 2012.
Antonio Carzaniga, David S. Rosenblum, and Alexander L. Wolf. Design and evaluation of a wide-area event notification service. ACM Trans. Comput. Syst., 19(3):332–383, 2001.
Vittorio Cortellessa, Antinisca Di Marco, and Paola Inveradi. Model-based software performance analysis. Springer-Verlag, 2011.
Marc Courtois and Murray Woodside. Using regression splines for software performance analysis. In Proceedings of the 2nd International Workshop on Software and Performance (WOSP ’00), pages 105–114. ACM, 2000.
Antinisca Di Marco, Paola Inverardi, and Romina Spalazzese. Synthesizing self-adaptive connectors meeting functional and performance concerns. In Marin Litoiu and John Mylopoulos, editors, Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2013, San Francisco, CA, USA, May 20–21, 2013, pages 133–142. IEEE Computer Society, 2013.
Lei Ding and Nenad Medvidovic. Focus: A light-weight, incremental approach to software architecture recovery and evolution. In In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA ’01), pages 191–200. IEEE, 2001.
Ilenia Epifani, Carlo Ghezzi, Raffaela Mirandola, and Giordano Tamburrelli. Model evolution by run-time parameter adaptation. In Proceedings of the 31st International Conference on Software Engineering, (ICSE 2009), pages 111–121. IEEE, 2009.
Carlo Ghezzi, Valerio Panzica La Manna, Alfredo Motta, and Giordano Tamburrelli. Performance-driven dynamic service selection. Concurrency and Computation: Practice and Experience, 27(3):633–650, 2015.
Susan L. Graham, Peter B. Kessler, and Marshall K. Mckusick. Gprof: A call graph execution profiler. SIGPLAN Not., 17(6):120–126, 1982.
Robert J. Hall. Call path profiling. In Proceedings of the 14th International Conference on Software Engineering (ICSE ’92), pages 296–306. ACM, 1992.
Robert Heinrich, Eric Schmieders, Reiner Jung, Kiana Rostami, Andreas Metzger, Wilhelm Hasselbring, Ralf Reussner, and Klaus Pohl. Integrating run-time observations and design component models for cloud system analysis. In Proceedings of the 9th Workshop on Models@run.time co-located with 17th International Conference on Model Driven Engineering Languages and Systems (MODELS 2014), Valencia, Spain, September 30, 2014., pages 41–46, 2014.
Curtis E. Hrischuk, C. Murray Woodside, Jerome A. Rolia, and Rod Iversen. Trace-based load characterization for generating performance software models. IEEE Transactions of Software Engineering, 25(1):122–135, January 1999.
Nikolaus Huber, André van Hoorn, Anne Koziolek, Fabian Brosig, and Samuel Kounev. Modeling Run-Time Adaptation at the System Architecture Level in Dynamic Service-Oriented Environments. Service Oriented Computing and Applications Journal (SOCA), 8(1):73–89, March 2014.
Marianne Huchard, A. Djamel Seriai, and Alae-Eddine El Hamdouni. Component-based architecture recovery from object-oriented systems via relational concept analysis. In Proceedings of the 7th International Conference on Concept Lattices and Their Applications (CLA 2010), pages 259–270, 2010.
Hyperic. Hyperic (2014). http://www.hyperic.com, 2014.
Tauseef Israr, Murray Woodside, and Greg Franks. Interaction tree algorithms to extract effective architecture and layered performance models from traces. Journal of Systems and Software, 80(4):474–492, 2007.
Gregory Katsaros, George Kousiouris, Spyridon V. Gogouvitis, Dimosthenis Kyriazis, Andreas Menychtas, and Theodora Varvarigou. A self-adaptive hierarchical monitoring mechanism for clouds. Journal of Systems and Software, 85(5):1029 – 1041, 2012.
Samuel Kounev, Konstantin Bender, Fabian Brosig, Nikolaus Huber, and Russell Okamoto. Automated simulation-based capacity planning for enterprise data fabrics. In Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques (SIMUTools ’11), pages 27–36. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2011.
Samuel Kounev, Fabian Brosig, and Nikolaus Huber. The Descartes Modeling Language. Technical report, Department of Computer Science, University of Wuerzburg, 2014.
Heiko Koziolek, Steffen Becker, Jens Happe, Petr Tuma, and Thijmen de Gooijer. Towards Software Performance Engineering for Multicore and Manycore Systems. SIGMETRICS Perform. Eval. Rev., 41(3):2–11, December 2013.
Klaus Krogmann. Reconstruction of Software Component Architectures and Behaviour Models using Static and Dynamic Analysis. PhD thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2010.
Michael Kuperberg, Martin Krogmann, and Ralf Reussner. ByCounter: Portable runtime counting of bytecode instructions and method invocations. In Proceedings of the 3rd International Workshop on Bytecode Semantics, Verification, Analysis and Transformation, 2008.
Michael Kuperberg, Martin Krogmann, and Ralf Reussner. TimerMeter: Quantifying accuracy of software times for system analysis. In Proceedings of the 6th International Conference on Quantitative Evaluation of SysTems (QEST) 2009, 2009.
Moreno Marzolla and Raffaela Mirandola. Performance aware reconfiguration of software systems. In Alessandro Aldini, Marco Bernardo, Luciano Bononi, and Vittorio Cortellessa, editors, Computer Performance Engineering - 7th European Performance Engineering Workshop, EPEW 2010, Bertinoro, Italy, September 23–24, 2010. Proceedings, volume 6342 of Lecture Notes in Computer Science, pages 51–66. Springer, 2010.
Daniel A. Menascé, Mohamed Bennani, and H.Honglei Ruan. On the use of online analytic performance models, in self-managing and self-organizing computer systems. In Self-star Properties in Complex Information Systems, pages 128–142, 2005.
Daniel A. Menascé and Hassan Gomaa. A method for design and performance modeling of client/server systems. IEEE Transactions of Software Engineering, 26(11):1066–1085, 2000.
Daniel A. Menascé, Honglei Ruan, and Hassan Gomaa. QoS management in service-oriented architectures. Perform. Eval., 64(7-8):646–663, 2007.
Adrian Mos. A framework for adaptive monitoring and performance management of component-based enterprise applications. PhD thesis, Dublin City Universit, 2004.
Dorin C. Petriu and C. Murray Woodside. Software performance models from system scenarios in use case maps. In Proceedings of the 12th International Conference on Computer Performance Evaluation, Modelling Techniques and Tools (TOOLS ’02), pages 141–158. Springer-Verlag, 2002.
Connie U. Smith and Lloyd G. Williams. Performance Solutions: A practical guide to creating responsive, scalable software. Addison-Wesley, 2002.
Simon Spinner, Giuliano Casale, Xiaoyun Zhu, and Samuel Kounev. LibReDE: A library for resource demand estimation. In Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering (ICPE ’14), pages 227–228. ACM, 2014.
Markus von Detten. Archimetrix: A tool for deficiency-aware software architecture reconstruction. In Proceedings of the 2012 19th Working Conference on Reverse Engineering (WCRE ’12), pages 503–504. IEEE Computer Society, 2012.
Dennis Westermann, Jens Happe, Rouven Krebs, and Roozbeh Farahbod. Automated inference of goal-oriented performance prediction functions. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 190–199, 2012.
Xiuping Wu and Murray Woodside. Performance modeling from software components. In Proceedings of the 4th International Workshop on Software and Performance (WOSP ’04), pages 290–301. ACM, 2004.
Zenoss. Zenoss (2014). http://www.zenoss.com, 2014.
Zhuoyao Zhang, L. Cherkasova, and Boon Thau Loo. Automating platform selection for mapreduce processing in the cloud. In Cloud and Autonomic Computing (ICCAC), 2015 International Conference on, pages 125–136, Sept 2015.
Anne Koziolek, Heiko Koziolek, and Ralf Reussner. PerOpteryx: automated application of tactics in multi-objective software architecture optimization. In Ivica Crnkovic, Judith A. Stafford, Dorina C. Petriu, Jens Happe, and Paola Inverardi, editors, Joint proceedings of the Seventh International ACM SIGSOFT Conference on the Quality of Software Architectures and the 2nd ACM SIGSOFT International Symposium on Architecting Critical Systems (QoSA-ISARCS 2011), pages 33–42. ACM, New York, NY, USA, 2011.
Acknowledgements
This work is supported by the German Research Foundation (DFG) in the Priority Programme “DFG-SPP 1593: Design For Future-Managed Software Evolution” (KO 3445/15-1).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Walter, J., Di Marco, A., Spinner, S., Inverardi, P., Kounev, S. (2017). Online Learning of Run-Time Models for Performance and Resource Management in Data Centers. In: Kounev, S., Kephart, J., Milenkoski, A., Zhu, X. (eds) Self-Aware Computing Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-47474-8_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-47474-8_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47472-4
Online ISBN: 978-3-319-47474-8
eBook Packages: Computer ScienceComputer Science (R0)