Home | english  | Impressum | KIT

A Light-Weight Virtual Machine Monitor for Blue Gene/P (extended journal version)

A Light-Weight Virtual Machine Monitor for Blue Gene/P (extended journal version)

Jan Stoess, Udo Steinberg, Volkmar Uhlig, Jens Kehne, Jonathan Appavoo, and Amos Waterland


International Journal of High Performance Computing Applications, May 2012 26: 95-109, first published on March 27, 2012 doi:10.1177/1094342011434815

Datum: 27.03.2012


In this paper, we present a lightweight, micro-kernel-based virtual machine monitor (VMM) for the Blue Gene/P supercomputer. Our VMM comprises a small µ-kernel with virtualization capabilities and, atop, a user-level VMM component that manages virtual Blue Gene/P cores, memory, and interconnects; we also support running native applications directly atop the µ-kernel. Our design goal is to enable compatibility to standard operating systems such as Linux on BG/P via virtualization, but to also keep the amount of kernel functionality small enough to facilitate shortening the path to applications and lowering operating system noise.

Our prototype implementation successfully virtualizes a Blue Gene/P version of Linux with support for Ethernet-based communication mapped onto Blue Gene/P’s collective and torus network devices. Our first experiences and experiments show that our VMM still shows a substantial performance hit, and that support for native application environments is a key requirement towards fully exploiting the capabilities of a supercomputer. Altogether, our approach poses an interesting operating system alternative for supercomputers, providing the convenience of a fully featured commodity software stack, while also promising to deliver the scalability and low latency of an HPC operating system.


  author = {Stoess, Jan and Steinberg, Udo and Uhlig, Volkmar and Kehne, Jens and Appavoo, Jonathan and Waterland, Amos},
  type = {publication},
  title = {A Light-Weight Virtual Machine Monitor for Blue Gene/P},
  publisher = {SAGE Publications},
  journal = {International Journal of High Performance Computing Applications},
  url = {http://hpc.sagepub.com/content/26/2/95.full.pdf+html},
  doi = {10.1177/1094342011434815},
  year = 2012,
  month = mar # "~27"