Provisioning Policies for Elastic Computing Environments

Resources experience dynamic load as demand fluctuates. Therefore, resource providers must estimate the appropriate amount of resources to purchase in order to meet variable user demand. With the relatively recent introduction of infrastructure-as-a-service (IaaS) clouds (e.g. Amazon EC2) resource providers may choose to outsource demand as needed. As a result, a resource provider may decide to decrease his initial capital outlay and purchase a smaller resource that meets the needs of his users the majority of the time while budgeting for future outsourcing costs. When bursts in demand exceed the capacity of the resource, a resource provider can use elastic computing to outsource excess demand to IaaS clouds based on a defined budget. To create efficient elastic environments, existing services must be extended with elastic computing functionality and resource provisioning policies that match resource deployments with demand must be developed. In this paper we consider an elastic environment that extends a local cluster resource with IaaS resources. We present resource provisioning policies to dynamically match resource supply with demand. Our policies balance the requirements of users and administrators, such as minimizing the monetary cost of the IaaS deployment and reducing job queued time. We develop a discrete event simulator, the elastic cloud simulator (ECS), to evaluate our policies using scientific workloads. Our results demonstrate that by outsourcing on a flexible basis instead of simply provisioning the maximum number of instances preemptively, we reduce the average queued time by up to 58% and cost by 38%. Our results also demonstrate that our multi-variable policies provide more flexibility in balancing budget and time requirements than typical single-variable reference policies, giving resource providers controls to manage their elastic environments.

[1]  Qian Zhu,et al.  Resource Provisioning with Budget Constraints for Adaptive Applications in Cloud Environments , 2010, IEEE Transactions on Services Computing.

[2]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[3]  Sathish S. Vadhiyar,et al.  A metascheduler for the Grid , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[4]  Dror G. Feitelson,et al.  Packing Schemes for Gang Scheduling , 1996, JSSPP.

[5]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[6]  Paul Marshall,et al.  Elastic Site: Using Clouds to Elastically Extend Site Resources , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[7]  Laurent Lefèvre,et al.  Designing and evaluating an energy efficient Cloud , 2010, The Journal of Supercomputing.

[8]  John J. Grefenstette,et al.  Optimization of Control Parameters for Genetic Algorithms , 1986, IEEE Transactions on Systems, Man, and Cybernetics.

[9]  Li Zhang,et al.  Tycoon: An implementation of a distributed, market-based resource allocation system , 2004, Multiagent Grid Syst..

[10]  Carl Kesselman,et al.  A provisioning model and its comparison with best-effort for performance-cost optimization in grids , 2007, HPDC '07.

[11]  Larry Rudolph,et al.  Parallel Job Scheduling: Issues and Approaches , 1995, JSSPP.

[12]  G. Bruce Berriman,et al.  Data Sharing Options for Scientific Workflows on Amazon EC2 , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[13]  Miron Livny,et al.  Condor: a distributed job scheduler , 2001 .

[14]  Robert L. Henderson,et al.  Job Scheduling Under the Portable Batch System , 1995, JSSPP.

[15]  Franck Cappello,et al.  Grid'5000: A Large Scale And Highly Reconfigurable Experimental Grid Testbed , 2006, Int. J. High Perform. Comput. Appl..

[16]  William Gropp,et al.  Beowulf Cluster Computing with Linux , 2003 .

[17]  Lavanya Ramakrishnan,et al.  Seeking supernovae in the clouds: a performance study , 2010, HPDC '10.

[18]  Chunlin Li,et al.  Utility driven dynamic resource allocation using competitive markets in computational grid , 2005, Adv. Eng. Softw..

[19]  M. Prange,et al.  Scientific Computing in the Cloud , 2008, Computing in Science & Engineering.

[20]  Paul Marshall,et al.  Improving Utilization of Infrastructure Clouds , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[21]  Ian T. Foster,et al.  The anatomy of the grid: enabling scalable virtual organizations , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[22]  Ivo F. Sbalzariniy,et al.  Multiobjective optimization using evolutionary algorithms , 2000 .

[23]  Andreas Wilke,et al.  Using clouds for metagenomics: A case study , 2009, 2009 IEEE International Conference on Cluster Computing and Workshops.

[24]  Henry M. Tufo,et al.  Developing a Cloud Computing Charging Model for High-Performance Computing Resources , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.