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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- Eduardo F. Camacho and Carlos Bordons Alba. 2013. Model Predictive Control. Springer. 405 pages.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- HAProxy 2016. The Reliable, High Performance TCP/HTTP Load Balancer. Retrieved February 20, 2017 from http://www.haproxy.org/.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- Daniel Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. The MIT Press. Google ScholarDigital Library
- 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 ScholarDigital Library
- Donald L. Keefer. 1994. Certainty equivalents for three-point discrete-distribution approximations. Management Science 40, 6 (1994), 760--773.Google ScholarDigital Library
- Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- LQNS 2011. Layered Queueing Network Solver. Retrieved February 20, 2017 from http://www.sce.carleton.ca/rads/lqns.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- OPERA n.d. Optimization, Performance Evaluation and Resource Allocator. Retrieved February 20, 2017 from http://www.ceraslabs.com/technologies/opera.Google Scholar
- M. L. Puterman. 2002. Dynamic programming. Encyclopedia of Physical Science and Technology 4 (2002), 673--696.Google Scholar
- 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 ScholarDigital Library
- RUBiS 2009. RUBiS: Rice University Bidding System. Retrieved February 20, 2017 from http://rubis.ow2.org/.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Michael J. Veth. 1994. Advanced Formation Flight Control. Technical Report. Air Force Institute of Technology.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- Flexible and Efficient Decision-Making for Proactive Latency-Aware Self-Adaptation
Recommendations
Proactive self-adaptation under uncertainty: a probabilistic model checking approach
ESEC/FSE 2015: Proceedings of the 2015 10th Joint Meeting on Foundations of Software EngineeringSelf-adaptive systems tend to be reactive and myopic, adapting in response to changes without anticipating what the subsequent adaptation needs will be. Adapting reactively can result in inefficiencies due to the system performing a suboptimal sequence ...
Analyzing Latency-Aware Self-Adaptation Using Stochastic Games and Simulations
Special Section on Best Papers from SEAMS 2014 and Regular ArticlesSelf-adaptive systems must decide which adaptations to apply and when. In reactive approaches, adaptations are chosen and executed after some issue in the system has been detected (e.g., unforeseen attacks or failures). In proactive approaches, ...
A hybrid model for efficient decision-making in self-adaptive systems
Abstract Context:Engineering self-adaptive systems to guarantee the required quality properties is challenging and particularly in presence of uncertainties. Such uncertainties may occur in a variety of situations, ranging from ...
Comments