Partial coscheduling of virtual machines based on memory access patterns

Anselm Busse, Jan H. Schönherr, Matthias Diener, Philippe O.A. Navaux, Hans Ulrich Heiß

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Virtualization is omnipresent in server environments. The scheduling of virtual machines is a challenging task because it is necessary to avoid differences in processing progress of the virtual CPUs, which otherwise can lead to a severe performance degradation. Coscheduling is a commonly used technique to solve this issue. With coscheduled virtual machines, all virtual CPUs are executed at the same time by the host. However, in a situation with virtual machines of arbitrary size, coscheduling of a whole virtual machine can lead to an under-utilization of the host. This situation occurs when the sizes of the virtual machines prohibit a scheduling where all cores of the host machines are used at every point in time. In this paper, we show that this under-utilization can be reduced through partial coscheduling. Partial coscheduling uses sets that are not based on the size of the virtual machine but on the requirements of the load inside the virtual machine. We show through experiments with the Linux Kernel Virtual Machine (KVM) in combination with a coscheduling capable Linux kernel, that partial coscheduling can lead to an overall performance improvement compared to full coscheduling of complete virtual machines. The partial coscheduling approach requires knowledge about the relation between processes and threads inside the virtual machine, which is usually not available at runtime. To gather this information without modifying the guest, we propose an automatic algorithm based on the recent technique of Communication Detection through Shared Pages (SPCD), which detects the memory access behavior of applications inside virtual machines. Our experiments show that partial coscheduling can improve the utilization of the host by reducing the waste of computation time caused by unnecessarily idle cores, thereby increasing the performance of virtual machines. In many scenarios, automated partial coscheduling can also increase the host utilization. Copyright is held by the owner/author(s).

Original languageEnglish (US)
Title of host publication2015 Symposium on Applied Computing, SAC 2015
EditorsDongwan Shin
PublisherAssociation for Computing Machinery
Pages2033-2038
Number of pages6
ISBN (Electronic)9781450331968
DOIs
StatePublished - Apr 13 2015
Externally publishedYes
Event30th Annual ACM Symposium on Applied Computing, SAC 2015 - Salamanca, Spain
Duration: Apr 13 2015Apr 17 2015

Publication series

NameProceedings of the ACM Symposium on Applied Computing
Volume13-17-April-2015

Conference

Conference30th Annual ACM Symposium on Applied Computing, SAC 2015
Country/TerritorySpain
CitySalamanca
Period4/13/154/17/15

Keywords

  • Communication detection
  • Coscheduling
  • Memory sharing
  • Scheduling
  • Virtualization

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Partial coscheduling of virtual machines based on memory access patterns'. Together they form a unique fingerprint.

Cite this