Resource Management Mechanisms to Support SLAs in IaaS Clouds

Resource Management Mechanisms to Support SLAs in IaaS Clouds

David Breitgand (IBM Haifa Research Lab, Israel), Amir Epstein (IBM Haifa Research Lab, Israel) and Benny Rochwerger (IBM Haifa Research Lab, Israel)
DOI: 10.4018/978-1-4666-1631-8.ch015
OnDemand PDF Download:


The authors consider elastic multi-VM workloads corresponding to multi-tier application and study the fundamental problems of VM placement optimization, subject to policy constraints, elasticity requirements, and performance SLAs. Numerous algorithmic and architecture proposals appeared recently in the area of resource provisioning in IaaS. The chapter provides a comprehensive review of related work in this field and presents the authors’ recent scientific findings in this area obtained in the framework of an EU funded project, RESERVOIR. The chapter discusses horizontal elasticity support in IaaS, its relationship to SLA protection, VM placement optimization and efficient capacity management to improve cost-efficiency of cloud providers. Elastic services comprise multiple virtualized resources that can be added and deleted on demand to match variability in the workload. A Service owner profiles the service to determine its most appropriate sizing under different workload conditions. This variable sizing is formalized through a service level agreement (SLA) between the service owner and the cloud provider. The Cloud provider obtains maximum benefit when it succeeds to fully allocate the resource set demanded by the elastic service subject to its SLA. Failure to do so may result in SLA breach and financial losses to the provider. The chapter defines a novel combinatorial optimization problem called elastic services placement problem to maximize the provider’s benefit from SLA compliant placement. It demonstrates the feasibility of our approach through a simulation study, showing that we are capable of consistently obtaining good solutions in a time efficient manner. In addition, we discuss how resource utilization level can be improved through an advanced capacity management leveraging elastic workload resource consumption variability.
Chapter Preview


We consider a popular Infrastructure as a Service (IaaS) Cloud Computing paradigm where service providers rent VM instances on-demand from the IaaS provider on a “pay-as-you-go” basis to provide functionality (service) using these resources. In this model, the payment per VM instance comprises an initial fixed fee for ordering an instance and a variable usage based fee where usage is aggregated in each billing period.

To take advantage of the “pay-as-you-go” model, service providers strive to use just the needed capacity to satisfy the target end-user QoS at any given time. This is termed thin provisioning to differentiate it from the traditional over-provisioning methodology that plans capacity for peak workloads. Since workload applied to services varies with time, to match these variations with minimum capacity, VM instance sets comprising the services are elastic. The structure of an elastic service remains fixed, but the number of instances and/or size of the instances may vary.

The elastic behavior of the services is programmed using service-specific elasticity policies (also known as elasticity rules) that match workload variations with on demand capacity allotments (“Right Scale”; n.d., Rochwerger et al., 2009). In response to executing an elasticity rule, the IaaS provider needs to solve the service placement optimization problem to accommodate new VMs and already deployed ones to maximize profit from service provisioning. In any given billing period, each elastic service contributes to the total revenue of the IaaS provider via the per VM usage based payments aggregated over this period. Currently most IaaS providers offer VM instances from a diversified catalog suggesting a number of discrete hardware configurations. For example, Amazon EC2 offers “small”, “large”, “extra large” and a few other VM configurations, where each configuration represents a different VM sizing and is charged using different instance hour rate1. Usually, VM types are provided under a single standard availability SLA. In (“RESERVOIR,” 2008), availability SLA are further diversified and extended as follows. At any given time, the set of VMs mandated by the active elasticity rules has to be placed in its entirety to comply with the availability SLA of the service. We refer to this as set requirements.

The main focus of our study is SLA compliant placement of multi-VM elastic services under set requirements and placement constraints. In addition, we discuss leveraging statistical multiplexing, inherent to the elastic workloads to improve cost-effoiciency of the cloud provisioning.

Our proposed approach to placement is general and deals with a variety of placement restriction types. In this work, however, we focus on anti-collocation constraints that demand all VMs of the service to be placed on different physical hosts2. While deployment of VMs under placement constraints has received a significant attention in the literature, to the best of our knowledge, this problem was not considered in conjunction with the set requirements.

In this chapter we present Elastic Service Placement Problem (ESPP) that generalizes the model studied by Urgaonkar et al. (2007). The input to ESPP includes set of hosts and set of services, where each service is composed of a set of VMs. Each VM has size and profit that may depend on its type, SLA and the provider costs. In general, each VM may have different profit and capacity demands (size) when assigned to different hosts. The goal of this optimization problem is to maximize the profit obtained from the placed VMs, while respecting the set requirements, placement constraints and resource capacity constraints.

Complete Chapter List

Search this Book: