Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Public Access

Flexible and Efficient Decision-Making for Proactive Latency-Aware Self-Adaptation

Published: 16 April 2018 Publication History

Abstract

Proactive latency-aware adaptation is an approach for self-adaptive systems that considers both the current and anticipated adaptation needs when making adaptation decisions, taking into account the latency of the available adaptation tactics. Since this is a problem of selecting adaptation actions in the context of the probabilistic behavior of the environment, Markov decision processes (MDPs) are a suitable approach. However, given all the possible interactions between the different and possibly concurrent adaptation tactics, the system, and the environment, constructing the MDP is a complex task. Probabilistic model checking has been used to deal with this problem, but it requires constructing the MDP every time an adaptation decision is made to incorporate the latest predictions of the environment behavior. In this article, we describe PLA-SDP, an approach that eliminates that runtime overhead by constructing most of the MDP offline. At runtime, the adaptation decision is made by solving the MDP through stochastic dynamic programming, weaving in the environment model as the solution is computed. We also present extensions that support different notions of utility, such as maximizing reward gain subject to the satisfaction of a probabilistic constraint, making PLA-SDP applicable to systems with different kinds of adaptation goals.

References

[1]
Mehdi Amoui, Mazeiar Salehie, Siavash Mirarab, and Ladan Tahvildari. 2008. Adaptive action selection in autonomic software using reinforcement learning. In Proceedings o f the 4th International Conference on Autonomic and Autonomous Systems (ICAS’08). IEEE, 175--181.
[2]
Konstantinos Angelopoulos, Alessandro V. Papadopoulos, Vítor E. Silva Souza, and John Mylopoulos. 2016. Model predictive control for software systems with CobRA. In Proceedings of the 11th International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’16). ACM, 35--46.
[3]
Martin F. Arlitt and T. Jin. 2000. A workload characterization study of the 1998 World Cup web site. IEEE Network 14, 3 (2000), 30--37.
[4]
Martin F. Arlitt and Carey L. Williamson. 1996. Web server workload characterization. Proceedings of the 1996 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’96) 24 (May 1996), 126--137.
[5]
Enda Barrett, Enda Howley, and Jim Duggan. 2013. Applying reinforcement learning towards automating resource allocation and application scalability in the cloud. Concurrency and Computation: Practice and Experience 25, 12 (Aug. 2013), 1656--1674.
[6]
L. F. Bertuccelli and J. P. How. 2005. Robust UAV search for environments with imprecise probability maps. In Proceedings of the 44th IEEE Conference on Decision and Control. IEEE, 5680--5685.
[7]
Eduardo F. Camacho and Carlos Bordons Alba. 2013. Model Predictive Control. Springer. 405 pages.
[8]
Javier Cámara, Gabriel A. Moreno, and David Garlan. 2014. Stochastic game analysis and latency awareness for proactive self-adaptation. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM, New York, 155--164.
[9]
Javier Cámara, Gabriel A. Moreno, David Garlan, and Bradley Schmerl. 2016. Analyzing latency-aware self-adaptation using stochastic games and simulations. ACM Transactions on Autonomous and Adaptive Systems 10, 4 (Jan. 2016), 1--28.
[10]
Betty H. C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, Jeff Magee, Jesper Andersson, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Giovanna Marzo Serugendo, Schahram Dustdar, Anthony Finkelstein, Cristina Gacek, Kurt Geihs, Vincenzo Grassi, Gabor Karsai, Holger M. Kienle, Jeff Kramer, Marin Litoiu, Sam Malek, Raffaela Mirandola, Hausi A. Müller, Sooyong Park, Mary Shaw, Matthias Tichy, Massimo Tivoli, Danny Weyns, and Jon Whittle. 2009. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems, Betty H. C. Cheng, Rogério Lemos, Holger Giese, Paola Inverardi, and Jeff Magee (Eds.). Lecture Notes in Computer Science, Vol. 5525. Springer, Berlin, 1--26.
[11]
Shang-Wen Cheng and David Garlan. 2012. Stitch: A language for architecture-based self-adaptation. Journal of Systems and Software 85, 12 (Dec. 2012), 2860--2875.
[12]
Subhasri Duttagupta, Rupinder Virk, and Manoj Nambiar. 2014. Predicting performance in the presence of software and hardware resource bottlenecks. In Proceedings of the International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS’14). IEEE, 542--549.
[13]
Anshul Gandhi, Parijat Dube, Alexei Karve, Andrzej Kochut, and Li Zhang. 2014. Modeling the impact of workload on cloud resource scaling. In Proceedings of the 2014 IEEE 26th International Symposium on Computer Architecture and High Performance Computing. IEEE, 310--317.
[14]
Anshul Gandhi, Mor Harchol-Balter, Ram Raghunathan, and Michael A. Kozuch. 2012. Autoscale: Dynamic, robust capacity management for multi-tier data centers. ACM Transactions on Computer Systems 30, 4 (2012).
[15]
HAProxy 2016. The Reliable, High Performance TCP/HTTP Load Balancer. Retrieved February 20, 2017 from http://www.haproxy.org/.
[16]
Scott A. Hissam, Sagar Chaki, and Gabriel A. Moreno. 2015. High assurance for distributed cyber physical systems. In Proceedings of the 2015 European Conference on Software Architecture Workshops. ACM, New York, 1--4.
[17]
C. A. R. Hoare. 1985. Programs are predicates. In Mathematical Logic and Programming Languages, C. A. R. Hoare and J. C. Shepherdson (Eds.). Prentice-Hall, 141--154.
[18]
Stefano Iannucci and Sherif Abdelwahed. 2016. A probabilistic approach to autonomic security management. In Proceedings of the 2016 IEEE International Conference on Autonomic Computing (ICAC’16). IEEE, 157--166.
[19]
Mohammad Islam, Shaolei Ren, Hasan Mahmud, and Gang Quan. 2015. Online energy budgeting for cost minimization in virtualized data center. IEEE Transactions on Services Computing PP, 99 (2015), 1--1.
[20]
Daniel Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. The MIT Press.
[21]
Gueyoung Jung, Kaustubh R. Joshi, Matti A. Hiltunen, Richard D. Schlichting, and Calton Pu. 2009. A cost-sensitive adaptation engine for server consolidation of multitier applications. In Proceedings of the 10th International Middleware Conference (Middleware’09), ACM/IFIP/USENIX, Jean Bacon and Brian F. Cooper (Eds.). Springer, 163--183.
[22]
Donald L. Keefer. 1994. Certainty equivalents for three-point discrete-distribution approximations. Management Science 40, 6 (1994), 760--773.
[23]
Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50.
[24]
Cristian Klein, Martina Maggio, Karl-Erik Årzén, and Francisco Hernández-Rodriguez. 2014. Brownout: Building more robust cloud applications. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). ACM, New York, 700--711.
[25]
Christian Krupitzer, Felix Maximilian Roth, Sebastian VanSyckel, Gregor Schiele, and Christian Becker. 2014. A survey on engineering approaches for self-adaptive systems. Pervasive and Mobile Computing 17, Part B (Oct. 2014), 184--206.
[26]
Dara Kusic, Jeffrey O. Kephart, James E. Hanson, Nagarajan Kandasamy, and Guofei Jiang. 2008. Power and performance management of virtualized computing environments via lookahead control. Cluster Computing 12, 1 (Oct. 2008), 1--15.
[27]
Marta Kwiatkowska, Gethin Norman, and David Parker. 2011. PRISM 4.0: Verification of probabilistic real-time systems. In Proceedings of the 23rd International Conference on Computer Aided Verification. Springer-Verlag, 585--591.
[28]
LQNS 2011. Layered Queueing Network Solver. Retrieved February 20, 2017 from http://www.sce.carleton.ca/rads/lqns.
[29]
Ming Mao and Marty Humphrey. 2012. A performance study on the VM startup time in the cloud. In Proceedings of the 2012 IEEE 5th International Conference on Cloud Computing. IEEE, 423--430.
[30]
Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2015. Proactive self-adaptation under uncertainty: A probabilistic model checking approach. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). ACM Press, New York, 1--12.
[31]
Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2016. Efficient decision-making under uncertainty for proactive self-adaptation. In Proceedings of the 2016 IEEE International Conference on Autonomic Computing (ICAC’16). IEEE, 147--156.
[32]
Athanasios Naskos, Emmanouela Stachtiari, Anastasios Gounaris, Panagiotis Katsaros, Dimitrios Tsoumakos, Ioannis Konstantinou, and Spyros Sioutas. 2015. Dependable horizontal scaling based on probabilistic model checking. In Proceedings of the 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. IEEE, 31--40.
[33]
OPERA n.d. Optimization, Performance Evaluation and Resource Allocator. Retrieved February 20, 2017 from http://www.ceraslabs.com/technologies/opera.
[34]
M. L. Puterman. 2002. Dynamic programming. Encyclopedia of Physical Science and Technology 4 (2002), 673--696.
[35]
Kashifuddin Qazi, Yang Li, and Andrew Sohn. 2014. Workload prediction of virtual machines for harnessing data center resources. In Proceedings of the 2014 IEEE 7th International Conference on Cloud Computing. IEEE, 522--529.
[36]
RUBiS 2009. RUBiS: Rice University Bidding System. Retrieved February 20, 2017 from http://rubis.ow2.org/.
[37]
Mazeiar Salehie and Ladan Tahvildari. 2009. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems 4, 2 (May 2009), 1--42.
[38]
Andrew Symington, Sonia Waharte, Simon Julier, and Niki Trigoni. 2010. Probabilistic target detection by camera-equipped UAVs. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation. IEEE, 4076--4081.
[39]
B. Trushkowsky, P. Bodík, A. Fox, and M. J. Franklin. 2011. The SCADS director: Scaling a distributed storage system under stringent performance requirements. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST’11). USENIX Association, 163--176.
[40]
Michael J. Veth. 1994. Advanced Formation Flight Control. Technical Report. Air Force Institute of Technology.
[41]
Eric Yuan, Naeem Esfahani, and Sam Malek. 2014. A systematic survey of self-protecting software systems. ACM Transactions on Autonomous and Adaptive Systems 8, 4 (Jan. 2014), 1--41.
[42]
Ji Zhang, Zhenxiao Yang, Betty H. C. Cheng, and Philip K. McKinley. 2004. Adding safeness to dynamic adaptation techniques. In Proceedings of the ICSE 2004 Workshop on Architecting Dependable Systems.
[43]
Jiheng Zhang and Bert Zwart. 2008. Steady state approximations of limited processor sharing queues in heavy traffic. Queueing Systems 60, 3--4 (Nov. 2008), 227--246.

Cited By

View all
  • (2024)Latency-aware RDMSim: Enabling the Investigation of Latency in Self-Adaptation for the Case of Remote Data MirroringProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644106(182-188)Online publication date: 15-Apr-2024
  • (2024)Scalable Relational Analysis via Relational Bound PropagationProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639171(1-12)Online publication date: 20-May-2024
  • (2024)A Proactive Self-Adaptation Approach Based on Ensemble Prediction for Service-Based SystemsJournal of Circuits, Systems and Computers10.1142/S0218126624502347Online publication date: 14-Mar-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Autonomous and Adaptive Systems
ACM Transactions on Autonomous and Adaptive Systems  Volume 13, Issue 1
March 2018
184 pages
ISSN:1556-4665
EISSN:1556-4703
DOI:10.1145/3208359
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 ACM 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: 16 April 2018
Accepted: 01 September 2017
Revised: 01 August 2017
Received: 01 February 2017
Published in TAAS Volume 13, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Markov decision process
  2. Self-adaptive systems
  3. proactive latency awareness

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • National Science Foundation
  • Department of Defense
  • Office of Naval Research
  • National Security Agency
  • research and development center
  • Carnegie Mellon University for the operation of the Software Engineering Institute

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)153
  • Downloads (Last 6 weeks)23
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Latency-aware RDMSim: Enabling the Investigation of Latency in Self-Adaptation for the Case of Remote Data MirroringProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644106(182-188)Online publication date: 15-Apr-2024
  • (2024)Scalable Relational Analysis via Relational Bound PropagationProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639171(1-12)Online publication date: 20-May-2024
  • (2024)A Proactive Self-Adaptation Approach Based on Ensemble Prediction for Service-Based SystemsJournal of Circuits, Systems and Computers10.1142/S0218126624502347Online publication date: 14-Mar-2024
  • (2024)Understanding Web Application Workloads and Their Applications: Systematic Literature Review and Characterization2024 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58944.2024.00050(474-486)Online publication date: 6-Oct-2024
  • (2024)Reliable proactive adaptation via prediction fusion and extended stochastic model predictive controlJournal of Systems and Software10.1016/j.jss.2024.112166217:COnline publication date: 1-Nov-2024
  • (2024)Insights into cloud autoscaling: a unique perspective through MDP and DTMC formal modelsThe Journal of Supercomputing10.1007/s11227-023-05665-780:4(5073-5107)Online publication date: 1-Mar-2024
  • (2023)Virtual Environment Model Generation for CPS Goal Verification using Imitation LearningACM Transactions on Embedded Computing Systems10.1145/363380423:1(1-29)Online publication date: 27-Nov-2023
  • (2023)Predicting Nonfunctional Requirement Violations in Autonomous SystemsACM Transactions on Autonomous and Adaptive Systems10.1145/363240519:1(1-25)Online publication date: 14-Nov-2023
  • (2023)Automatically reconciling the trade-off between prediction accuracy and earliness in prescriptive business process monitoringInformation Systems10.1016/j.is.2023.102254118(102254)Online publication date: Sep-2023
  • (2022)An Adaptive System for a Real-Time Matching ApplicationInternational Journal of Web Services Research10.4018/IJWSR.29901819:1(1-22)Online publication date: 15-Apr-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media