Adaptive Performance Modeling and Prediction of Applications in Multi-Tenant Clouds
Hamidreza Moradi, Wei Wang, Dakai K. Zhu · 2019
Clouds have been adopted by many organizations as their computing infrastructure due to the support for flexible re-source demands and low cost, which is normally achieved through sharing the underlying hardware among multiple cloud tenants. However, such sharing can result in large variations for the performance of applications running in virtual machines (VMs) on same hosts. In this paper, we propose User-APMP, a user-level application performance modeling and prediction frame-work, based on micro-benchmarks and regression techniques for applications that run repetitively in clouds (such as on-line data analytics). Specifically, a few micro-benchmarks are devised to probe the in-situ perceivable performance of CPU, memory and I/O components of the target VM. Then, based on such probe information and in-place measured performance of applications, the performance model can be adaptively developed and refined at runtime with regression techniques. Moreover, sliding-windows are exploited to control the number of historical data items to retrain the model. We evaluate the prediction accuracy for the considered benchmark applications. The evaluation results show that, the prediction error of User-APMP generally decreases with higher adaptation frequencies and more historical data points, which however leads to higher runtime overhead. With only 100 data points, the average prediction errors can reach 25%.