A Light-Weight Virtual Machine Monitor for Blue Gene/P (extended journal version)
-
Author:
Jan Stoess, Udo Steinberg, Volkmar Uhlig, Jens Kehne, Jonathan Appavoo, and Amos Waterland
-
Source:
International Journal of High Performance Computing Applications, May 2012 26: 95-109, first published on March 27, 2012 doi:10.1177/1094342011434815
- Date: 27.03.2012
-
Abstract:
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.
BibTex:
@article{stoess11vmm,
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",
}