Authors:
Abdullahi Abubakar
1
;
Sakil Barbhuiya
2
;
Peter Kilpatrick
2
;
Ngo Anh Vien
2
and
Dimitrios S. Nikolopoulos
3
Affiliations:
1
Department of Computer Science, Waziri Umaru Federal Polytechnic, Birnin Kebbi, Nigeria, School of Electronics, Electrical Engineering and Computer Science, Queen’s University, Belfast, U.K.
;
2
School of Electronics, Electrical Engineering and Computer Science, Queen’s University, Belfast, U.K.
;
3
John W. Hancock Professor of Engineering, Computer Science, Virginia Tech, U.S.A.
Keyword(s):
Virtual Machine, Cloud/Data Centre, Prediction, Scalability, Performance, Partitioning, Parallelism, Big Data.
Abstract:
Most Cloud providers running Virtual Machines (VMs) have a constant goal of preventing downtime, increasing performance and power management among others. The most effective way to achieve these goals is to be proactive by predicting the behaviours of the VMs. Analysing VMs is important, as it can help cloud providers gain insights to understand the needs of their customers, predict their demands, and optimise the use of resources. To manage the resources in the cloud efficiently, and to ensure the performance of cloud services, it is crucial to predict the behaviour of VMs accurately. This will also help the cloud provider improve VM placement, scheduling, consolidation, power management, etc. In this paper, we propose a framework for fast analysis and prediction in large scale VM CPU utilisation. We use a novel approach both in terms of the algorithms employed for prediction and in terms of the tools used to run these algorithms with a large dataset to deliver a solid VM CPU utilis
ation predictor. We processed over two million VMs from Microsoft Azure VM traces and filter out the VMs with complete one month of data which amount to 28,858VMs. The filtered VMs were subsequently used for prediction. Our Statistical analysis reveals that 94% of these VMs are predictable. Furthermore, we investigate the patterns and behaviours of those VMs and realised that most VMs have one or several spikes of which the majority are not seasonal. For all the 28,858VMs analysed and forecasted, we accurately predicted 17,523 (61%) VMs based on their CPU. We use Apache Spark for parallel and distributed processing to achieve fast processing. In terms of fast processing (execution time), on average, each VM is analysed and predicted within three seconds.
(More)