Self managed virtual machine scheduling in Cloud systems

Stelios Sotiriadis, Nik Bessis, Rajkumar Buyya

Research output: Contribution to journalArticle (journal)peer-review

60 Citations (Scopus)
187 Downloads (Pure)


In Cloud systems, Virtual Machines (VMs) are scheduled to hosts according to their instant resource usage (e.g. to hosts with most available RAM) without considering their overall and long-term utilization. Also, in many cases, the scheduling and placement processes are computational expensive and affect performance of deployed VMs. In this work, we present a Cloud VM scheduling algorithm that takes into account already running VM resource usage over time by analyzing past VM utilization levels in order to schedule VMs by optimizing performance. We observe that Cloud management processes, like VM placement, affect already deployed systems (for example this could involve throughput drop in a database cluster), so we aim to minimize such performance degradation. Moreover, overloaded VMs tend to steal resources (e.g. CPU) from neighbouring VMs, so our work maximizes VMs real CPU utilization. Based on these, we provide an experimental analysis to compare our solution with traditional schedulers used in OpenStack by exploring the behaviour of different NoSQL (MongoDB, Apache Cassandra and Elasticsearch). The results show that our solution refines traditional instant-based physical machine selection as it learns the system behaviour as well as it adapts over time. The analysis is prosperous as for the selected setting we approximately minimize performance degradation by 19% and we maximize CPU real time by 2% when using real world workloads.
Original languageEnglish
Pages (from-to)381-400
Number of pages20
JournalInformation Sciences
Early online date8 Jul 2017
Publication statusPublished - 1 Apr 2018


  • Cloud computing
  • OpenStack
  • Virtualmachine placement
  • Virtual machinescheduling
  • Virtual machine scheduling
  • Virtual machine placement


Dive into the research topics of 'Self managed virtual machine scheduling in Cloud systems'. Together they form a unique fingerprint.

Cite this