skip to main content
research-article

Multi-Objective Optimization of Deployment Topologies for Distributed Applications

Published: 20 January 2018 Publication History

Abstract

Modern applications are typically implemented as distributed systems comprising several components. Deciding where to deploy which component is a difficult task that today is usually assisted by logical topology recommendations. Choosing inefficient topologies allocates the wrong amount of resources, leads to unnecessary operation costs, or results in poor performance. Testing different topologies to find good solutions takes a lot of time and might delay productive operations. Therefore, this work introduces a software-based deployment topology optimization approach for distributed applications. We use an enhanced performance model generator that extracts models from operational monitoring data of running applications. The extracted model is used to simulate performance metrics (e.g., resource utilization, response times, throughput) and runtime costs of distributed applications. Subsequently, we introduce a deployment topology optimizer, which selects an optimized topology for a specified workload and considers on-premise, cloud, and hybrid topologies. The following three optimization goals are presented in this work: (i) minimum response time for an optimized user experience, (ii) approximate resource utilization around certain peaks, and (iii) minimum cost for running the application. To evaluate the approach, we use the SPECjEnterpriseNEXT industry benchmark as distributed application in an on-premise and in a cloud/on-premise hybrid environment. The evaluation demonstrates the accuracy of the simulation compared to the actual deployment by deploying an optimized topology and comparing measurements with simulation results.

References

[1]
Aldeida Aleti, Barbora Buhnova, Lars Grunske, Anne Koziolek, and Indika Meedeniya. 2013. Software architecture optimization methods: A systematic literature review. IEEE Transactions on Software Engineering 39, 5 (2013), 658--683.
[2]
Danilo Ardagna, GiovanniPaolo Gibilisco, Michele Ciavotta, and Alexander Lavrentev. 2014. A multi-model optimization framework for the model driven design of cloud applications. In Search-Based Software Engineering. Lecture Notes in Computer Science, Vol. 8636. Springer International Publishing, 61--76.
[3]
Steffen Becker, Heiko Koziolek, and Ralf Reussner. 2009. The Palladio component model for model-driven performance prediction. Journal of Systems and Software (JSS) 82, 1 (2009), 3--22. Special Issue: Software Performance - Modeling and Analysis.
[4]
Fabian Brosig, Nikolaus Huber, and Samuel Kounev. 2014. Architecture-level software performance abstractions for online performance prediction. Science of Computer Programming 90 (2014), 71--92.
[5]
Andreas Brunnert and Helmut Krcmar. 2017. Continuous performance evaluation and capacity planning using resource profiles for enterprise applications. Journal of Systems and Software (JSS) 123 (2017), 239--262.
[6]
Andreas Brunnert, Andre van Hoorn, Felix Willnecker, et al. 2015. Performance-oriented DevOps: A Research Agenda. Technical Report SPEC-RG-2015-01. SPEC Research Group—DevOps Performance Working Group, Standard Performance Evaluation Corporation (SPEC).
[7]
Feifei Chen, John Grundy, Jean-Guy Schneider, Yun Yang, and Qiang He. 2015. StressCloud: A tool for analysing performance and energy consumption of cloud applications. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. 721--724.
[8]
Curtis Hrischuk, Murray Woodside, and Jerome Rolia. 1999. Trace-based load characterization for generating performance software models. IEEE Transactions on Software Engineering 25, 1 (Jan. 1999), 122--135.
[9]
Robert Huang and Eric Masanet. 2015. Data Center IT Efficiency Measures. Technical Report. National Renewable Energy Laboratory (NREL), Golden, CO.
[10]
Nicolas Huber, Fabian Brosig, Simon Spinner, Samuel Kounev, and Manuel Bahr. 2016. Model-based self-aware performance and resource management using the descartes modeling language. IEEE Transactions on Software Engineering PP, 99 (2016), 1--1.
[11]
Samuel Kounev. 2005. Performance Engineering of Distributed Component-Based Systems—Benchmarking, Modeling and Performance Prediction. Ph.D. dissertation. Technische Universität Darmstadt, Darmstadt, Germany.
[12]
Anne Koziolek, Heiko Koziolek, and Ralf Reussner. 2011. PerOpteryx: Automated application of tactics in multi-objective software architecture optimization. In Proceedings of the Joint ACM SIGSOFT Conference--QoSA and ACM SIGSOFT Symposium--ISARCS on Quality of Software Architectures--QoSA and Architecting Critical Systems--ISARCS. ACM, 33--42.
[13]
Heiko Koziolek, Steffen Becker, Jens Happe, Petr Tuma, and Thijmen de Gooijer. 2014. Towards software performance engineering for multicore and manycore systems. ACM SIGMETRICS Performance Evaluation Review 41, 3 (2014), 2--11.
[14]
Johannes Kross, Felix Willnecker, Thomas Zwickl, and Helmut Krcmar. 2016. PET: Continuous performance evaluation tool. In Proceedings of the 2nd International Workshop on Quality-Aware DevOps (QUDOS 2016). ACM, New York, 42--43.
[15]
Peter Libič, Lubomr Bulej, Vojtěch Horky, and Petr Tma. 2015. Estimating the impact of code additions on garbage collection overhead. In Computer Performance Engineering. Lecture Notes in Computer Science, Vol. 9272. Springer International Publishing, 130--145.
[16]
Martin Lukasiewycz, Michael Glaß, Felix Reimann, and Jürgen Teich. 2011. Opt4J—A modular framework for meta-heuristic optimization. In Proceedings of the Genetic and Evolutionary Computing Conference (GECCO 2011). 1723--1730.
[17]
Daniel A. Menascé. 2008. Computing missing service demand parameters for performance models. In Proceedings of the 2008 Computer Measurement Group Conference (CMG 2008). 241--248.
[18]
Benjamin Speitkamp and Martin Bichler. 2010. A mathematical programming approach for server consolidation problems in virtualized data centers. IEEE Transactions on Services Computing 3, 4 (2010), 266--278.
[19]
Simon Spinner, Giuliano Casale, Fabian Brosig, and Samuel Kounev. 2015. Evaluating approaches to resource demand estimation. Performance Evaluation 92 (2015), 51--71.
[20]
Felix Willnecker, Andreas Brunnert, Wolfgang Gottesheim, and Helmut Krcmar. 2015. Using dynatrace monitoring data for generating performance models of java ee applications. In Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering. 103--104.
[21]
Felix Willnecker and Helmut Krcmar. 2016. Optimization of deployment topologies for distributed enterprise applications. In Proceedings of the 2016 12th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA 2016).

Cited By

View all
  • (2022)Architectural Design of Cloud Applications: A Performance-Aware Cost Minimization ApproachIEEE Transactions on Cloud Computing10.1109/TCC.2020.301570310:3(1571-1591)Online publication date: 1-Jul-2022
  • (2022)Towards Supporting the Generation of Infrastructure as Code Through Modelling Approaches - Systematic Literature Review2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C54293.2022.00048(210-217)Online publication date: Mar-2022
  • (2021)Evaluating the DevOps Reference Architecture for Multi-cloud IoT-ApplicationsSN Computer Science10.1007/s42979-021-00519-62:2Online publication date: 1-Apr-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Internet Technology
ACM Transactions on Internet Technology  Volume 18, Issue 2
Special Issue on Internetware and Devops and Regular Papers
May 2018
294 pages
ISSN:1533-5399
EISSN:1557-6051
DOI:10.1145/3182619
  • Editor:
  • Munindar P. Singh
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 January 2018
Accepted: 01 June 2017
Revised: 01 May 2017
Received: 01 October 2016
Published in TOIT Volume 18, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Deployment topology optimzation
  2. distributed enterprise applications
  3. memory simulation
  4. performance model
  5. performance model generation

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • DevOps Performance Working Group of the Standard Performance Evaluation Corporation (SPEC)

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)2
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Architectural Design of Cloud Applications: A Performance-Aware Cost Minimization ApproachIEEE Transactions on Cloud Computing10.1109/TCC.2020.301570310:3(1571-1591)Online publication date: 1-Jul-2022
  • (2022)Towards Supporting the Generation of Infrastructure as Code Through Modelling Approaches - Systematic Literature Review2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C54293.2022.00048(210-217)Online publication date: Mar-2022
  • (2021)Evaluating the DevOps Reference Architecture for Multi-cloud IoT-ApplicationsSN Computer Science10.1007/s42979-021-00519-62:2Online publication date: 1-Apr-2021

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media