Towards an Adaptive, Fully Automated Performance Modeling Methodology for Cloud Applications

The advent of the Cloud computing era along with the wide adoption of the distributed paradigm has enabled applications to increase their performance standards and greatly extend their scalability limits. Nevertheless, the ability of modern applications to be deployed in numerous different ways has complicated their structure and enormously increased the difficulty of extracting accurate performance models for them. This capability is crucial for many operations, such as the identification of the most appropriate execution setups for an anticipated workload, finding bottlenecks, etc. In this work, we propose a fully automated performance modeling methodology that aims at the creation of highly accurate performance models for a given maximum number of deployments. The main idea of the proposed methodology lies on the "smart" exploration of the application configuration space, the selection and deployment of a set of representative application configurations and the construction of the performance model through the adoption of Machine Learning techniques. Moreover, taking into consideration the often unstable and error-prone nature of the cloud, the proposed system attempts to overcome transient cloud failures that occur during the application deployment phase through the re-execution of the parts that failed. Our evaluation, conducted for a set of real-world applications frequently deployed over cloud infrastructures, indicates that our system is capable of both constructing performance models of high accuracy and doing so in an efficient manner, fixing application deployments that present errors without requiring human intervention.

[1]  Kaushik Dutta,et al.  Modeling virtualized applications using machine learning techniques , 2012, VEE '12.

[2]  Babak Falsafi,et al.  Clearing the clouds: a study of emerging scale-out workloads on modern hardware , 2012, ASPLOS XVII.

[3]  Nabor das Chagas Mendonça,et al.  Performance Inference: A Novel Approach for Planning the Capacity of IaaS Cloud Applications , 2015, 2015 IEEE 8th International Conference on Cloud Computing.

[4]  Rajkumar Buyya,et al.  CloudAnalyst: A CloudSim-Based Visual Modeller for Analysing Cloud Computing Environments and Applications , 2010, 2010 24th IEEE International Conference on Advanced Information Networking and Applications.

[5]  Dimitrios Tsoumakos,et al.  PANIC: Modeling Application Performance over Virtualized Resources , 2015, 2015 IEEE International Conference on Cloud Engineering.

[6]  Xiaowei Yang,et al.  CloudCmp: comparing public cloud providers , 2010, IMC '10.

[7]  Yang Xiang,et al.  Hadoop Performance Modeling for Job Estimation and Resource Provisioning , 2016, IEEE Transactions on Parallel and Distributed Systems.

[8]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[9]  Ioannis Konstantinou,et al.  CELAR: Automated application elasticity platform , 2014, 2014 IEEE International Conference on Big Data (Big Data).

[10]  Stephen S. Lavenberg,et al.  Computer Performance Modeling Handbook , 1983, Int. CMG Conference.

[11]  Hjörtur Björnsson,et al.  Dynamic performance profiling of cloud caches , 2013, SoCC.

[12]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[13]  Kenli Li,et al.  Optimal Multiserver Configuration for Profit Maximization in Cloud Computing , 2013, IEEE Transactions on Parallel and Distributed Systems.

[14]  Wilhelm Hasselbring,et al.  CDOSim: Simulating cloud deployment options for software migration support , 2012, 2012 IEEE 6th International Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA).

[15]  M. H. MacDougall Simulating computer systems: techniques and tools , 1989 .

[16]  Richard S. Sutton,et al.  Reinforcement Learning: An Introduction , 1998, IEEE Trans. Neural Networks.

[17]  Ioannis Konstantinou,et al.  AURA: Recovering from Transient Failures in Cloud Deployments , 2017, 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID).

[18]  Dimitrios Tsoumakos,et al.  Mix ‘n’ match multi-engine analytics , 2016, 2016 IEEE International Conference on Big Data (Big Data).

[19]  Srikanth Kandula,et al.  CloudProphet: towards application performance prediction in cloud , 2011, SIGCOMM 2011.

[20]  Tommaso Cucinotta,et al.  Challenges in real-time virtualization and predictable cloud computing , 2014, J. Syst. Archit..

[21]  S. Glantz Primer of applied regression and analysis of variance / Stanton A. Glantz, Bryan K. Slinker , 1990 .

[22]  Lior Rokach,et al.  Ensemble-based classifiers , 2010, Artificial Intelligence Review.

[23]  Nabor das Chagas Mendonça,et al.  Cloud Crawler: a declarative performance evaluation environment for infrastructure‐as‐a‐service clouds , 2017, Concurr. Comput. Pract. Exp..

[24]  Ian H. Witten,et al.  The WEKA data mining software: an update , 2009, SKDD.

[25]  David R. O'Hallaron,et al.  //TRACE: Parallel Trace Replay with Approximate Causal Events , 2007, FAST.

[26]  Burr Settles,et al.  Active Learning Literature Survey , 2009 .

[27]  Albert G. Greenberg,et al.  WebProphet: Automating Performance Prediction for Web Services , 2010, NSDI.

[28]  Eric A. Hanushek 4 – Ordinary Least Squares in Practice , 1977 .

[29]  Jie Huang,et al.  The HiBench benchmark suite: Characterization of the MapReduce-based data analysis , 2010, 2010 IEEE 26th International Conference on Data Engineering Workshops (ICDEW 2010).

[30]  Kaushik Dutta,et al.  Application performance modeling in a virtualized environment , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[31]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[32]  Lieven Eeckhout,et al.  Performance prediction based on inherent program similarity , 2006, 2006 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[33]  Verena Kantere,et al.  I/O Performance Modeling for Big Data Applications over Cloud Infrastructures , 2015, 2015 IEEE International Conference on Cloud Engineering.

[34]  Minoru Tanaka,et al.  A practical bottleneck detection method , 2001, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).