Cost-Aware and SLO-Fulfilling Software as a Service

Virtualization technology makes data centers more dynamic and easier to administrate. Today, cloud providers offer customers access to complex applications running on virtualized hardware. Nevertheless, big virtualized data centers become stochastic environments and the simplification on the user side leads to many challenges for the provider. He has to find cost-efficient configurations and has to deal with dynamic environments to ensure service level objectives (SLOs). We introduce a software solution that reduces the degree of human intervention to manage clouds. It is designed as a multi-agent system (MAS) and placed on top of the Infrastructure as a Service (IaaS) layer. Worker agents allocate resources, configure applications, check the feasibility of requests, and generate cost estimates. They are equipped with application specific knowledge allowing it to estimate the type and number of necessary resources. During runtime, a worker agent monitors the job and adapts its resources to ensure the specified quality of service—even in noisy clouds where the job instances are influenced by other jobs. They interact with a scheduler agent, which takes care of limited resources and does a cost-aware scheduling by assigning jobs to times with low costs. The whole architecture is self-optimizing and able to use public or private clouds. Building a private cloud needs to face the challenge to find a mapping of virtual machines (VMs) to hosts. We present a rule-based mapping algorithm for VMs. It offers an interface where policies can be defined and combined in a generic way. The algorithm performs the initial mapping at request time as well as a remapping during runtime. It deals with policy and infrastructure changes. An energy-aware scheduler and the availability of cheap resources provided by a spot market are analyzed. We evaluated our approach by building up an SaaS stack, which assigns resources in consideration of an energy function and that ensures SLOs of two different applications, a brokerage system and a high-performance computing software. Experiments were done on a real cloud system and by simulations.

[1]  Nagarajan Kandasamy,et al.  Power and performance management of virtualized computing environments via lookahead control , 2008, 2008 International Conference on Autonomic Computing.

[2]  Carsten Kutzner,et al.  GROMACS 4:  Algorithms for Highly Efficient, Load-Balanced, and Scalable Molecular Simulation. , 2008, Journal of chemical theory and computation.

[3]  Wouter Joosen,et al.  Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware , 2008, Middleware 2008.

[4]  G. Magklis,et al.  Dynamic Frequency and Voltage Scaling for a Multiple-Clock-Domain Microprocessor , 2003, IEEE Micro.

[5]  Shonali Krishnaswamy,et al.  Estimating computation times of data-intensive applications , 2004, IEEE Distributed Systems Online.

[6]  Calton Pu,et al.  Understanding Performance Interference of I/O Workload in Virtualized Cloud Environments , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[7]  Xiaoyun Zhu,et al.  AppRAISE: application-level performance management in virtualized server environments , 2009, IEEE Transactions on Network and Service Management.

[8]  Janet L. Wiener,et al.  Cost-aware scheduling for heterogeneous enterprise machines (CASH’EM) , 2007, 2007 IEEE International Conference on Cluster Computing.

[9]  Le Yi Wang,et al.  VCONF: a reinforcement learning approach to virtual machines auto-configuration , 2009, ICAC '09.

[10]  Calton Pu,et al.  An Analysis of Performance Interference Effects in Virtual Environments , 2007, 2007 IEEE International Symposium on Performance Analysis of Systems & Software.

[11]  Kang G. Shin,et al.  Adaptive control of virtualized resources in utility computing environments , 2007, EuroSys '07.

[12]  Charng-da Lu,et al.  Application Tuning and Adaptation , 2004, The Grid 2, 2nd Edition.

[13]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[14]  Sang-Min Park,et al.  Self-Tuning Virtual Machines for Predictable eScience , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[15]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[16]  Aameek Singh,et al.  Shares and utilities based power consolidation in virtualized server environments , 2009, 2009 IFIP/IEEE International Symposium on Integrated Network Management.

[17]  Jan Broeckhove,et al.  Multiplexing Low and High QoS Workloads in Virtual Environments , 2010, JSSPP.

[18]  Ian T. Foster,et al.  Virtual workspaces: Achieving quality of service and quality of life in the Grid , 2005, Sci. Program..

[19]  André Brinkmann,et al.  Enforcing SLAs in Scientific Clouds , 2010, 2010 IEEE International Conference on Cluster Computing.

[20]  Rajkumar Buyya,et al.  A Heuristic for Mapping Virtual Machines and Links in Emulation Testbeds , 2009, 2009 International Conference on Parallel Processing.

[21]  Jing Xu,et al.  On the Use of Fuzzy Modeling in Virtualized Data Center Management , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[22]  장훈,et al.  [서평]「Computer Organization and Design, The Hardware/Software Interface」 , 1997 .

[23]  Jeffrey S. Chase,et al.  Automated control in cloud computing: challenges and opportunities , 2009, ACDC '09.

[24]  Xiaoyun Zhu,et al.  1000 islands: an integrated approach to resource management for virtualized data centers , 2009, Cluster Computing.

[25]  Yucai Zhu,et al.  Multivariable System Identification For Process Control , 2001 .

[26]  David A. Patterson,et al.  Computer Organization And Design: The Hardware/Software Interface , 1993 .

[27]  Michael L. Scott,et al.  Profile-based dynamic voltage and frequency scaling for a multiple clock domain microprocessor , 2003, ISCA '03.

[28]  Borja Sotomayor,et al.  Virtual Infrastructure Management in Private and Hybrid Clouds , 2009, IEEE Internet Computing.

[29]  Artur Andrzejak,et al.  Reducing Costs of Spot Instances via Checkpointing in the Amazon Elastic Compute Cloud , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[30]  André Brinkmann,et al.  An Energy-Aware SaaS Stack , 2011, 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems.

[31]  Akshat Verma,et al.  pMapper: Power and Migration Cost Aware Application Placement in Virtualized Systems , 2008, Middleware.

[32]  Peter Norvig,et al.  Artificial intelligence - a modern approach, 2nd Edition , 2003, Prentice Hall series in artificial intelligence.

[33]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[34]  Sunilkumar S. Manvi,et al.  An agent-based resource allocation model for grid computing , 2005, 2005 IEEE International Conference on Services Computing (SCC'05) Vol-1.

[35]  Jonathan M. Garibaldi,et al.  A Multi-agent Infrastructure and a Service Level Agreement Negotiation Protocol for Robust Scheduling in Grid Computing , 2005, EGC.

[36]  Ian T. Foster,et al.  Condor-G: A Computation Management Agent for Multi-Institutional Grids , 2004, Cluster Computing.

[37]  Subhash Saini,et al.  ARMS: An agent-based resource management system for grid computing , 2002, Sci. Program..

[38]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[39]  André Brinkmann,et al.  Rule-Based Mapping of Virtual Machines in Clouds , 2011, 2011 19th International Euromicro Conference on Parallel, Distributed and Network-Based Processing.

[40]  Yoav Shoham,et al.  Multiagent Systems - Algorithmic, Game-Theoretic, and Logical Foundations , 2009 .

[41]  Richard Wolski,et al.  The Eucalyptus Open-Source Cloud-Computing System , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[42]  Borja Sotomayor,et al.  Combining batch execution and leasing using virtual machines , 2008, HPDC '08.