- Bilal_2016.pdf (2M)
IEEE conference proceedings
Cloud service providers are trying to reduce their operating costs while offering their services with a higher quality via resorting to the concept of elasticity. However, the vast majority of related work focuses solely on guaranteeing the quality of service (QoS) of interactive applications such as Web services. Nevertheless, a broad range of applications have different QoS constraints that do not fall under the same class of latency-critical applications. For instance, batch processing possesses QoS requirements that are latency-tolerant and usually defined in terms of job progress. In this sense, a possible manner to quantify the performance of a batch processing application is to estimate its job progress so that to determine if future deadlines can be met. The novelty of this work is two-fold. First, we propose a hybrid controller coordinating resource allocation between interactive and batch applications running at the same infrastructure. The intuition is to deploy a controller for the interactive application at a faster time-scale than the batch application. Second, we bridge the gap between vertical and horizontal scaling under the same framework. In this perspective, vertical scaling is used for small fluctuations in the load, while horizontal scaling handles larger load changes. Comprehensive experimental results demonstrate the feasibility of our approach and its efficiency in ensuring a high CPU utilization across all experiments consisting of 83.70% for the Web service and 89.51% for the batch service, while meeting the respective QoS requirements of both services.
Permanent URL (for citation purposes)