Cloud Computing Workload and Capacity
Management Using Domain Specific Modelling
Rafidah Pakir Mohamad, Dimitrios S. Kolovos and Richard F. Paige Department of Computer Science,
University of York, UK
{rafidah,dkolovos,paige}@cs.york.ac.uk
Abstract. Cloud computing is a technology through which software, platforms and infrastructure can be provided as services. Managing re-sources which enable this technology is a crucial task to maximise per-formance and benefits all related parties. Demand for resources starts with application requests initiated by the users. These trigger the cre-ation of virtual machines, which in turn trigger the alloccre-ation of physical resources. This paper proposes a solution for cloud computing workload management and capacity planning by utilising domain specific mod-elling, model transformation, and time series analysis techniques with estimation algorithms. Each application’s workload is different depend-ing on its behaviour, software design and the technologies it builds atop. As such, each application needs to provide a custom workload domain specific language (WL-DSL) through which clients can express their an-ticipated workloads. Models conforming to different WL-DSLs can be transformed to a model conforming to a Virtual Machine domain spe-cific language (VM-DSL) to assist the SaaS or PaaS service provider to manage their virtual resources in the cloud. The IaaS provider can also benefit from numbers of VM-DSL from their customer to manage their physical resources in the actual data centre by transforming multi-ple incoming VM-DSL models into a model that conforms to a Physical Machine Domain Specific Language (PM-DSL).
1
Introduction
Cloud computing generally offers three types of services: software as service (SaaS), platform as service (PaaS) and infrastructure as a service (IaaS). SaaS provides software applications such as e-mail, file backup and CRM; PaaS pro-vides platforms for software development such as those provided by Microsoft Azure1 and Google App Engine2; and IaaS is a complete computing infrastruc-ture provided as a service for the customer to be used for software development and/or service hosting such as these provided by GoGrid3 and Amazon EC24.
1 http://www.windowsazure.com/en-us/ 2 http://www.google.com/enterprise/cloud/appengine/ 3 http://www.gogrid.com/ 4 http://aws.amazon.com/ec2/
These three types of services are provided with computing resources through the internet.
Capacity management is the process of assuring that the correct amount of resources is allocated to satisfy the required level of computing demand. The cost of a cloud computing service provider is closely related to resource usage and this renders effective capacity management essential in order to avoid resource over-provision and at the same time to maintain the required level of performance. This study focuses on the scenario in which SaaS and PaaS providers (SPSP) use a computing infrastructure provided by an IaaS provider (ISP) and provide their services to customers as application software or as a software development platform. In this context, capacity management is conducted by two parties. Firstly, by the SPSP, who estimate virtual machine resources demand based on their users’ workload, and secondly, by the ISP who ensures that the physical resources are available for the SPSP to create virtual machines in the cloud data centre. Figure 1 shows the relationship between these parties. SPSP tries to minimise operational costs and to maintain the performance at an acceptable level by utilising auto-scaling to avoid resource over provisioning. On the other hand, the ISP also tries to minimise operation costs of data centre by optimising the utilisation of physical machines through consolidation.
Fig. 1.Relationship between Users, SPSP, ISP and Data Centre
Although auto-scaling is a cost-effective method for SPSP to run their ser-vices, it can be particularly challenging for ISPs to manage virtual machines demands on limited physical resources in an efficient manner. Both SPSP and ISP would try to avoid Service Level Agreements (SLAs) violations with their respective customers, but in some cases SLA violations occur with or without control. Managing SLA violations is closely related to capacity management, and several approaches [1, 3, 7] have been proposed for particular types of applica-tions. In this work, we propose an integrated framework for capacity management in scenarios involving multiple applications using domain specific modelling. Do-main specific modelling (DSM) is a methodology which advocates constructing and using modelling languages that are tailored to the domain of interest. DSM has been adopted in many fields [9] such as automotive, telecommunications and high-integrity systems and in this work, DSM is utilised in cloud computing re-source management to facilitate rigorous specification and automated analysis of workloads.
The remainder of the paper is organised as follows. Section 2 discusses related techniques and tools for workload management and resource estimation meth-ods and Section 3 clarifies the motivation for conducting this study, Section 4 explains the proposal of workload and capacity management by utilising domain specific modelling, and Section 5 concludes the paper by outlining the expected outcomes of this study.
2
Background
2.1 Techniques and Tools to Generate Workloads and to Estimate
Resources
The characteristics of workloads are categorised based on application types, e.g., web applications [5, 11, 13], data intensive [8] and media streaming (audio and video) [3]. Synthetic workload generation for selected applications based on the analysis of existing log files is important to estimate the required resources for that particular application [2, 5, 13]. Various parameters are accessed from the application logs for each category of workload since the nature of each category is different. Furthermore, it is difficult to establish generic workload prediction mechanisms because the behaviour of the users of each application as well as its architecture and implementation style make each workload pattern unique.
However, having a standardised workload specification mechanism for each category has been shown to be possible by implementing domain specific mod-elling languages with identified parameters extracted from previous log infor-mation of the application. Bahga and Madisetti have developed the Workload Specification Language (WSL), to examine and compare IaaS package offerings before moving multi-tier web applications to the cloud [2].
Previous workload patterns and their associated system parameters are es-sential to estimate future workload. For this purpose, parameters required for each category of applications have been compiled in Table 1. Mainly statisti-cal approaches have been used to estimate future workloads such as KCCA [8], PCA [17], regression analysis [13], and Maximum Likelihood Estimation [2]. Ta-ble 1 summarises the techniques and tools used for workload generation as well as the workload estimation methods and parameters used in these works.
2.2 Physical and Virtual Machine Capacity Management
To be cost-effective, the right amount of resources need to be allocated for the instantiation of virtual machines (VM) to ensure an acceptable level of per-formance for the hosted applications and to avoid over or under provisioning of resources. Workload demand prediction is essential for supporting resource auto-scaling in cloud computing. However, assigning additional resources to SPSP vir-tual data centres from limited ISP physical resources can be challenging. An ISP needs to run a minimum number of physical servers with optimum utilisation to fulfil SPSP VM demands with the agreed response time for VM creation in the
Application Specification Workloads Generator Workload Esti-mation
Parameter Access from Log File Web Application Workload Spec-ification Lan-guage (WSL) [2]. SPECweb99, SURGE, SWAT and httperf Probabilistic Finite State Machine and Maximum Likeli-hood Estimation [2]
Input, output, states, tran-sitions and probability of a transition
Jean 2 model Semantic descrip-tions [7]
not applicable
KOOZA [5] Markov Chain
Models for storage, processor and mem-ory. Simple queuing for network.
Storage: block size, type, randomness, inter-arrival times. Processor: CPU utilization. Network: arrival-rate
not applicable Autoregressive
moving
av-erage method (ARMA) [13]
Number of visits to a single page from the total number of customers, number of machines providing the ser-vice demand and the think time for clients
Data Intensive not applicable Kernel Canoni-cal Correlation Analysis [8]
Map time, reduce time, to-tal execution time, map output bytes, HDFS bytes written, and locally writ-ten bytes
Media streaming Medisyn [3] Mathematical model in a tool called MediaProf
Time, file name, duration, file size, available users bandwidth and elapse end time
Table 1. Techniques and Tools for workloads generation and estimation
SLA. At the same time, the ISP offers the flexibility to increase VM resources with auto-scaling. But sometimes node failure or unpredicted VM demand might occur. Both SPSP and ISP need to perform capacity management to avoid or minimise SLA violations. Several methods for performing capacity management from the SPSP and ISP perspective are outlined in Table 2. SPSPs perform capacity management in virtual data centres where the computing resources are virtually accessed from the cloud, while ISPs perform capacity management in physical data centres.
The main computing resources of interest to capacity management are CPU, memory, storage, disk I/O and network use. Certain works have combined all those resources as a unit [1, 13] while others study only a selected component or a selection of specific components. Ejarque et. al. and Tan et. al. focus on CPU and memory usage [7, 17] and Sun et. al. include storage in their study [16]
while [5] explore the combination of four components by extending their studies to include network resources. Ganapathi et. al explore execution time of data intensive workloads for scheduling and resource allocation with KCCA statistic-driven with Hadoop task [8].
Capacity Manage-ment
Cost Model Operational Models
Virtual Data Centre reward and penalty based on respond time [1]
Normal and surge operations model [1]. Markov Chain Models; for storage, processor and mem-ory and simple queue model for network [5]. Decision retrieving media file from memory or disk [3]. Minimum resource requirement [7]. Gradually increase number of ma-chine to identify the right number of resources required by calling the Mean Value Analysis [13]. Kalman filter, double exponential smooth-ing, and Markov prediction [12]. input, output, states, transitions and probability of a transition Physical Data Centre Customer Priority
model [7]. Cost with energy consumption and cost of VM creation [6]
Surplus resource distribution [7]. Prebooted and preconfigured VM instances with common feature [6]. Markov chain technique [10]. Multi-dimensional Resource Integrated Scheduling algorithm [16]
Table 2.Physical and Virtual Machine Capacity Managements
2.3 SLA related issues in workload management
Quality of Service (QoS) in an SLA can refer to response time, throughput, availability, reliability, and security [10] of the provided service. Response time is more favourable in most studies [1, 5, 6, 10] as it can be easily measured and associated with resource demand.
2.4 Domain Specific Modelling
Domain Specific Modelling is a technique advocating the use of Domain Specific Modelling Languages (DSMLs) for modelling solutions in particular application domains [15]. The rationale behind DSM is that each application domain is char-acterised by its own set of abstractions which are represented more precisely and
effectively using tailored modelling languages instead of generic languages such as UML. A Domain Specific Language consists of five fundamental components [4]: abstract syntax, concrete syntax, syntactic mapping, semantic domain and se-mantic mapping. In a DSML, these components are used to formally represent a specific set of structural, behavioural and requirement features of a particular domain in the form of a meta-model. A meta-model is a model that describes the abstract syntax and static semantics of a DSML. Concrete syntax is the concrete form of textual or graphical constructs used to create a model.
3
Motivation
Most of the previous works [1, 3, 6, 12] are focused on managing resources for a single application rather than considering a combination of applications. Work conducted in [3] proposed a VM demand estimation formula for media streaming and this formula can be adopted to estimate numbers of virtual machines needed by considering the cost of accessing media files from disk or memory. Workload forecasting methods such as ARMA [13], PCA [17], KCCA [8], Kalman Fil-tering [12] are good prediction methods for times series in statistics to predict future workload. In addition, Dougherty et. al [6] used Model Driven Engineer-ing to assist in green auto-scalEngineer-ing which reduce energy consumptions resultEngineer-ing from idle machines. Feature models are used as an abstraction which describes the software platform’s behaviour and its associated configurable variables for a single application in [6].
Three important phases are identified in providing services in cloud environ-ments. Firstly, managing fluctuating workloads initiated by end-users and these workloads can be for different SaaS or PaaS provider using IaaS as IT solution. Secondly, managing virtual machine resources, which are used to run the ser-vices; and finally, managing physical resources in IaaS data centres. Previous research has focused on individual phases. This work proposes an integrated framework for capacity management from the end-user to the infrastructure ser-vice provider. A set of domain specific modelling languages (DSMLs) is used to facilitate the integrations of these three phases.
Each application hosted on a virtual machine has its own unique character-istics and as such workload specification models are unique to each application. The behaviour of web application and media stream application is not the same although they might have common attributes as an application. Furthermore, technology and the architecture used to construct the application also makes the application is unique to each other. This can be expressed using a DSM lan-guage tailored to the application. A DSM lanlan-guage can precisely capture all the parameters needed to express the estimated user workloads, and the workload models can then be analysed and consolidated in order to estimate the virtual machine and physical resource usage. While applications are unique and each of them requires its own DSML to specify its workload, it is anticipated that a single domain specific language will be sufficient to express virtual machine workload specifications by capturing requirements for CPU, memory and other
resources over time. Virtual machine workload models can be used to perform capacity management, in order to achieve an acceptable balance between per-formance and cost. Moreover, the information captured in the virtual machine demand model (VM-DSL) can be used to optimise physical resources in the ISP data centre.
4
Proposed Work
Workloads generated by users utilise the virtual machine resources in SPSP virtual data centres. The SPSP needs to provide sufficient resources with the correct specifications of virtual machines offered by the ISP to assure the ad-equate performance of the hosted applications and minimise the cost by not over provisioning resources. Previous works focus only on a particular applica-tion while in practice SPSPs typically provide multiple applicaapplica-tions as services sharing the virtual machines and computing resources. As discussed earlier, each application has its own unique characteristics and as such workload specification models are unique for each application and this can be expressed using a DSM language tailored to that application. A DSM language can precisely capture all the parameters needed to express users’ estimated workloads, and workload models can then be analysed and consolidated in order to estimate VM and physical resource usage.
Fig. 2.Workload and Capacity Management Framework
While applications are unique and each of them requires its own DSML to specify its workload, we anticipate that a single domain specific language is suf-ficient to express virtual machines workload specifications by capturing require-ments for CPU, memory, storage, disk I/O, network bandwidth and response time. VM workload models can be used to perform capacity management and achieve an acceptable balance between performance and cost. Moreover, the in-formation captured in the virtual machine demand model (VM-DSL) can be used to optimise physical resources on the ISP data centre. Efficient physical resource utilisation with consolidation reduces the operating cost of data centres [14].
Figure 2 illustrates the framework proposed in this work to manage workload and capacity using domain specific modelling languages in three stages. First, each application will have their unique workload specification DSL. Secondly, application workload specification models can be transformed to virtual ma-chine workload specification models (instances of the VM-DSL) to estimate the overall virtual machine resource demand and to perform a VM request from the ISP. Finally, the ISP can transform a collection of VM-DSL models from their customers to instances of the physical machine DSL (PM-DSL) to estimate the overall demand for physical resources in the data centre.
5
Expected Research Outcome
The proposed work is aimed at assisting capacity managers who are providing and/or using IaaS to plan future resource requirements in physical and virtual data centres. This task is performed by integrating the analysis techniques iden-tified from the literature. It is anticipated that using DSML models to specify workloads will render capacity management more flexible, precise and effective.
References
1. Bruno Abrahao, Virgilio Almeida, Jussara Almeida, Alex Zhang, Dirk Beyer, and Fereydoon Safai. Self-adaptive sla-driven capacity management for internet ser-vices. In Network Operations and Management Symposium, 2006. NOMS 2006. 10th IEEE/IFIP, pages 557–568, April 2006.
2. Arshdeep Bahga and Vijay Krishna Madisetti. Synthetic workload generation for cloud computing applications. Journal of Software Engineering and Applications, 4(7):396–410, July 2011.
3. Ludmila Cherkasova, Wenting Tang, and Sharad Singhal. An sla-oriented capacity planning tool for streaming media services. InProceedings of the 2004 International Conference on Dependable Systems and Networks, pages 743–752, Washington, DC, USA, 2004. IEEE Computer Society.
4. Tony Clark, Andy Evans, Stuart Kent, and Paul Sammut. The mmf approach to engineering object-oriented design languages. In Proceedings of the Workshop on Language Descriptions, Tools and Applications, April 2001.
5. Christina Delimitrou and Christos Kozyrakis. Cross-examination of datacenter workload modeling techniques. In 31st International Conference on Distributed Computing Systems Workshops (ICDCSW), pages 72 –79, june 2011.
6. Brian Dougherty, Jules White, and Douglas C. Schmidt. Model-driven auto-scaling of green cloud computing infrastructure. Future Generation Computer Systems, 28(2):371–378, 2012.
7. Jorge Ejarque, Marc de Palol, Inigo Goiri, Ferran Julia, Jordi Guitart, Rosa M. Badia, and Jordi Torres. Sla-driven semantically-enhanced dynamic resource allo-cator for virtualized service providers. In Fourth IEEE International Conference on eScience, 2008.
8. Archana Ganapathi, Yanpei Chen, Armando Fox, Randy Katz, and David Patter-son. Statistics-driven workload modeling for the cloud. InIEEE 26th International Conference on Data Engineering Workshops (ICDEW), pages 87–92. IEEE, March 2010.
9. Steven Kelly and Juha-Pekka Tolvanen. Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Pr, March 2008.
10. Hamzeh Khazaei, Jelena Misic, and Vojislav B. Misic. Modelling of cloud comput-ing centers uscomput-ing m/g/m queues. In31st International Conference on Distributed Computing Systems Workshops (ICDCSW), pages 87–92, June 2011.
11. Xue Liu, Xiaoyun Zhu, Sharad Singhal, and Martin Arlitt. Adaptive entitlement control of resource containers on shared servers. In9th IFIP/IEEE International Symposium on Integrated Network Management, 2005.
12. C.C.T. Mark, D. Niyato, and Tham Chen-Khong. Evolutionary optimal virtual machine placement and demand forecaster for cloud computing. InIEEE Interna-tional Conference on Advanced Information Networking and Applications (AINA), pages 348–355, March 2011.
13. Nilabja Roy, Abhishek Dubey, and Aniruddha Gokhale. Efficient autoscaling in the cloud using predictive models for workload forecasting. InIEEE International Conference on Cloud Computing (CLOUD), pages 500–507, July 2011.
14. Shekhar Srikantaiah, Aman Kansal, and Feng Zhao. Energy aware consolidation for cloud computing. InProceedings of the 2008 conference on Power aware computing and systems, HotPower’08, Berkeley, CA, USA, 2008. USENIX Association. 15. Thomas Stahl, Markus Vølter, Jorn Bettin, Arno Haase, and Simon Helsen.
Model-Driven Software Development: Technology, Engineering, Managementb. Wiley, 2006.
16. Xin Sun, Sen Su, Peng Xu, Shuang Chi, and Yan Luo. Multi-dimensional resource integrated scheduling in a shared data center. In31st International Conference on Distributed Computing Systems Workshops (ICDCSW), pages 7–13, June 2011. 17. Jian Tan, P. Dube, Xiaoqiao Meng, and Li Zhang. Exploiting resource usage
patterns for better utilization prediction. In 31st International Conference on Distributed Computing Systems Workshops (ICDCSW), pages 14–19, June 2011.