Abstract
Leveraging Virtual Machine (VM) technologies to host multiple Web applications on the same physical machine can improve the resource utilization and thus save a cloud provider's provisioning cost. By allocating and scheduling virtual CPU (vCPU) resources for running VMs, a hosted Web application may achieve varying performances. Thus, when facing an end user with a specific SLA (Service Level Agreement) requirement, a cloud provider needs to decide how many vCPUs to provision for the target SaaS application to meet the user's end-to-end performance requirement while saving cost. However, it is a non-trivial task to economically determine an optimal resource configuration to meet an end user's SLA requirement. Accurate performance analytic models based on traditional modeling techniques such as queuing systems are difficult to construct for web applications. In this paper, we describe our experience in studying the impact of vCPU provisioning on the performance of 2-tier Web applications, through benchmarking a 2-tier web application in the context of provisioning vCPUs to SaaS applications in a cloud environment. From a cloud provider's perspective, we focus on a generic approach for SaaS benchmarking, which can help to study the impact of vCPU allocations on a Web application's performance and make the optimal vCPU allocation decisions to meet end users' QoS requirements while saving provisioning costs. Besides, based on our benchmark experimental results, we also propose an adaptive controller with a vCPU allocation optimization algorithm which can automatically adjust the vCPU allocations to meet the end users' workload requirements.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have