Improving the Smartness of Cloud Management via Machine Learning Based Workload Prediction

Yongjia Yu, Vasu Jindal, Farokh Bastani, Fang Li, I‐Ling Yen · 2018

Cloud computing has been widely adopted by many companies and government entities. To ensure high quality computing resource provisioning, cloud platforms should offer smart resource management solutions. An important step toward better resource management is to accurately predict the workloads of the applications running on the cloud. Many existing workload prediction methods are regression based, which require the workloads of the applications show clear seasonality and trend. However, it is difficult to use these methods for tasks which may not have such recurring workload patterns. From careful analysis of the workloads in a real-world cloud, we found that many tasks have busty workloads that are very difficult to predict using regression-based prediction. Instead, we consider a job-pool based approach, where the knowledge about the workloads of a large pool of tasks is used to help predict the workloads of new tasks. In particular, we develop a clustering-based learning approach to realize the job-pool based concept. The pool of jobs are clustered based on their workloads, and a neuralnet is used to learn the characteristics of the workloads in each cluster. When a new job arrives, we use its initial workload pattern and submission parameters to find the cluster it belongs to. Then, the corresponding neuralnet is used to predict the workload of the new job far into the future. Based on this predicted long-term workload, smart resource management decisions can be made to reduce the potential overhead in scaling and migration. We also consider a non-clustering based learning solution and compare it with the clustering-based learning solution. Experimental results show that the clustering-based learning approach can predict the workload more accurately.

Read the paper · More papers on PaperTik