skip to main content
research-article
Public Access

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

Published:16 April 2018Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  7. Eduardo F. Camacho and Carlos Bordons Alba. 2013. Model Predictive Control. Springer. 405 pages.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. HAProxy 2016. The Reliable, High Performance TCP/HTTP Load Balancer. Retrieved February 20, 2017 from http://www.haproxy.org/.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  20. Daniel Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. The MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Donald L. Keefer. 1994. Certainty equivalents for three-point discrete-distribution approximations. Management Science 40, 6 (1994), 760--773.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. LQNS 2011. Layered Queueing Network Solver. Retrieved February 20, 2017 from http://www.sce.carleton.ca/rads/lqns.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. OPERA n.d. Optimization, Performance Evaluation and Resource Allocator. Retrieved February 20, 2017 from http://www.ceraslabs.com/technologies/opera.Google ScholarGoogle Scholar
  34. M. L. Puterman. 2002. Dynamic programming. Encyclopedia of Physical Science and Technology 4 (2002), 673--696.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. RUBiS 2009. RUBiS: Rice University Bidding System. Retrieved February 20, 2017 from http://rubis.ow2.org/.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Michael J. Veth. 1994. Advanced Formation Flight Control. Technical Report. Air Force Institute of Technology.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • 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

        Copyright © 2018 ACM

        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: 1 September 2017
        • Revised: 1 August 2017
        • Received: 1 February 2017
        Published in taas Volume 13, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader