A Light-Weight Virtual Machine Monitor for Blue Gene/P
-
Author:
Jan Stoess, Udo Steinberg, Volkmar Uhlig, Jonathan Appavoo, Amos Waterland and Jens Kehne
-
Source:
International Workshop on Runtime and Operating Systems for Supercomputers (ROSS 2011), Tucson, AZ, USA, May 31, 2011
- Date: 31.05.2011
-
Abstract:
In this paper, we present a light-weight, 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 BG/P cores, memory, and interconnects; we also support running native applications directly atop the µ-kernel. Our design goal is to enable compatibility to standard OSes 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 OS noise.
Our prototype implementation successfully virtualizes a BG/P version of Linux with support for Ethernet-based communication mapped onto BG/P's collective and torus network devices. First experiences and experiments show that our VMM still shows a substantial performance hit; nevertheless, our approach poses an interesting OS 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 OS.
BibTex:
@inproceedings{Stoess:2011:LVM:1988796.1988798,
author = {Stoess, Jan and Appavoo, Jonathan and Steinberg, Udo and Waterland, Amos and Uhlig, Volkmar and Kehne, Jens},
title = {A light-weight virtual machine monitor for Blue Gene/P},
booktitle = {Proceedings of the 1st International Workshop on Runtime and Operating Systems for Supercomputers},
series = {ROSS '11},
year = {2011},
isbn = {978-1-4503-0761-1},
location = {Tucson, Arizona},
pages = {3--10},
numpages = {8},
url = {http://doi.acm.org/10.1145/1988796.1988798},
doi = {http://doi.acm.org/10.1145/1988796.1988798},
acmid = {1988798},
publisher = {ACM},
address = {New York, NY, USA},
}