Cost-Effective Resource Configurations for Multi-Tenant Database Systems in Public Clouds

Cost-Effective Resource Configurations for Multi-Tenant Database Systems in Public Clouds

Rizwan Mian (School of Computing, Queen's University, Kingston, Ontario, Canada), Patrick Martin (School of Computing, Queen's University, Kingston, Ontario, Canada), Farhana Zulkernine (School of Computing, Queen's University, Kingston, Ontario, Canada) and Jose Luis Vazquez-Poletti (Departamento de Arquitectura de Computadores y Automatica, Universidad Complutense de Madrid, Madrid, Spain)
Copyright: © 2015 |Pages: 22
DOI: 10.4018/IJCAC.2015040101
OnDemand PDF Download:


Cloud computing is a promising paradigm for deploying applications due to its large resource offerings on a pay-as-you-go basis. This paper examines the problem of determining the most cost-effective provisioning of a multi-tenant database system as a service over public clouds. The authors formulate the problem of resource provisioning, and then define a framework to solve it. Their framework uses heuristic based algorithms to select cost-effective configurations. The algorithms can optionally balance resource costs against penalties incurred from the violation of Service Level Agreements (SLAs) or opt for non SLA violating configurations. The specific resource demands on the virtual machines for a workload and SLAs are accounted for by the performance and cost models, which are used to predict performance and expected cost respectively. The work validates our approach experimentally using workloads based on standard TPC database benchmarks in the Amazon EC2 cloud.
Article Preview

1. Introduction

Increasingly, application providers are using Infrastructure-as-a-Service (IaaS) clouds to provide their service offerings in a Software-as-a-Service (SaaS) setting. For example, Netflix offers online media streaming and its infrastructure is being migrated to Amazon IaaS cloud since 2010 (Cockcroft, 2011). It is easy to see that Netflix would like to minimize the operational costs using IaaS clouds while providing some guarantees on its service, such as “jerk” free movie streaming.

Similarly, NASDAQ offers a SaaS abstraction to store some financial data of an electronic trading market over the Amazon cloud (NASDAQ-OMX, 2013). This abstraction is called FinQloud. The query component of FinQloud allows broker-dealers to run fast, on-demand queries and facilitate efficient retrievals of stored data. Again, the queries must return results in a timely manner.

Likewise, Gallant FX provides a range of trading services using a SaaS abstraction in a foreign exchange trading market (Forex) using Rackspace IaaS cloud (RackSpace, 2013). Average daily trading on Forex is estimated at $3.21 trillion, and brokers are constantly connected to Forex. Gallant FX aims to provide an infrastructure that can withstand this strenuous demand and provide a reliable network uptime using Rackspace. In all the above cases, failure to meet SaaS user expectations results in monetary losses to the SaaS providers.

A key question for a SaaS provider is to minimize the cost of hosting an application in a public IaaS cloud. For this, a SaaS provider needs to determine appropriate amounts of compute, storage and network resources. Further, a SaaS provider must balance resource costs against monetary losses arising from poor service delivery when using inadequate resources in an IaaS cloud.

Our work is aimed at minimizing the cost1 of providing a multi-tenant database system (mDBMS) as a SaaS service using a public IaaS cloud. We capture the quality of service agreements between SaaS users and providers as SLAs. The potential loss in failing to meet these SLAs is modeled as a penalty cost that is added to the overall cost of hosting the mDBMS in an IaaS. Alternately, any SLA violation may be avoided from the outset by using more powerful IaaS resources.

Determining the least costly resource configuration in an IaaS environment faces several challenges. For example, the space of possible configurations is very large, and therefore, exact solutions cannot be efficiently determined (Mian, Martin & Vazquez-Poletti, 2013). Secondly, performance unpredictability is a major issue in meeting SLAs (Schad et al., 2010). Thirdly, the seemingly unlimited number of resources creates a tradeoff between multiplexing and scaling (Mian, 2011). Fourthly, the availability of multiple resource types (e.g. multiple storage types) increases the dimensionality of the configuration space. Further, the existence of various pricing schemes for various resource types not conforming to the pay-as-you-go philosophy complicates the provisioning problem.

We see an active interest (Bicer et al., 2012; Ghanbari et al., 2012; Li et al., 2010; Li, Chinneck, Woodside & Litoiu, 2009; Li, Chinneck, Woodside, Litoiu, et al., 2009; Li et al., 2011; Ruiz-Alvarez et al., 2012; Zhu et al., 2010) in optimizing an objective in an IaaS cloud, such as resource cost or execution times, typically subject to some constraints such as deadline or budget. We see that some work (Curino et al., 2011; Ghanbari, et al., 2012; Li, Chinneck, Woodside & Litoiu, 2009; Li, Chinneck, Woodside, Litoiu, et al., 2009; Ruiz-Alvarez, et al., 2012) that models the provisioning problem are able to offer optimality guarantees but usually at the cost of some simplifying assumptions, such as the existence of a single minimum when using linear programming (LP). While others assume advanced knowledge of performance parameters (Ruiz-Alvarez, et al., 2012), or use analytical performance models (Li, et al., 2010; Li, Chinneck, Woodside & Litoiu, 2009; Li, Chinneck, Woodside, Litoiu, et al., 2009; Li, et al., 2011).

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 7: 4 Issues (2017): 3 Released, 1 Forthcoming
Volume 6: 4 Issues (2016)
Volume 5: 4 Issues (2015)
Volume 4: 4 Issues (2014)
Volume 3: 4 Issues (2013)
Volume 2: 4 Issues (2012)
Volume 1: 4 Issues (2011)
View Complete Journal Contents Listing