NWU-EECS-09-14 July 20 , 2009 Palacios and Kitten : High Performance Operating Systems For Scalable Virtualized and Native Supercomputing

Palacios and Kitten are new open source tools that enable applications, whether ported or not, to achieve scalable high performance on large machines. They provide a thin layer over the hardware to support both full-featured virtualized environments and native codebases. Kitten is an OS under development at Sandia that implements a lightweight kernel architecture to provide predictable behavior and increased flexibility on large machines, while also providing Linux binary compatibility. Palacios is a VMM that is under development at Northwestern University and the University of New Mexico. Palacios, which can be embedded into Kitten and other OSes, supports existing, unmodified applications and operating systems by using virtualization that leverages hardware technologies. We describe the design and implementation of both Kitten and Palacios. Our benchmarks show that they provide near native, scalable performance. Palacios and Kitten provide an incremental path to using supercomputer resources that is not performance-compromised. This project is made possible by support from the National Science Foundation (NSF) via grants CNS0709168, CNS-0707365, and the Department of Energy (DOE) via a subcontract from Oak Ridge National Laboratory on grant DE-AC05-00OR22725. Sandia National Laboratory has also provided assistance. Jack Lange was partially supported by a Symantec Research Labs Fellowship. Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000.

[1]  Ron Brightwell,et al.  Characterizing application sensitivity to OS interference using kernel-level noise injection , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[2]  Chi-Keung Luk,et al.  PinOS: a programmable framework for whole-system dynamic instrumentation , 2007, VEE '07.

[3]  Zhao Zhang,et al.  Toward loosely coupled programming on petascale systems , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[4]  Rolf Riesen,et al.  SUNMOS for the Intel Paragon - a brief user`s guide , 1994 .

[5]  Samuel Thibault,et al.  Improving performance by embedding HPC applications in lightweight Xen domains , 2008, HPCVirt '08.

[6]  Vishakha Gupta,et al.  High-Performance Hypervisor Architectures: Virtualization in HPC Systems , 2007 .

[7]  Nicholas Wells,et al.  BusyBox: A Swiss Army Knife for Linux , 2000 .

[8]  Daniel C. Stanzione,et al.  HPC Cluster Readiness of Xen and User Mode Linux , 2006, 2006 IEEE International Conference on Cluster Computing.

[9]  Gil Neiger,et al.  Intel virtualization technology , 2005, Computer.

[10]  Christian Engelmann,et al.  Proactive fault tolerance for HPC with Xen virtualization , 2007, ICS '07.

[11]  Harish Patil,et al.  Pin: building customized program analysis tools with dynamic instrumentation , 2005, PLDI '05.

[12]  Chandra Krintz,et al.  Evaluating the Performance Impact of Xen on MPI and Process Execution For HPC Systems , 2006, First International Workshop on Virtualization Technology in Distributed Computing (VTDC 2006).

[13]  Rolf Riesen,et al.  CONCURRENCY AND COMPUTATION : PRACTICE AND EXPERIENCE Concurrency Computat , 2008 .

[14]  Kevin T. Pedretti,et al.  SMARTMAP: Operating system support for efficient data sharing among processes on a multi-core processor , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[15]  Dennis M. Ritchie A Guest Facility for Unicos * , .

[16]  Sameer Kumar,et al.  Evaluating the effect of replacing CNK with linux on the compute-nodes of blue gene/l , 2008, ICS '08.

[17]  Orran Krieger,et al.  Virtualization for high-performance computing , 2006, OPSR.

[18]  Peter A. Dinda,et al.  An Introduction to the Palacios Virtual Machine Monitor—Release 1.0 , 2008 .

[19]  Ronald Minnich,et al.  Right-weight kernels: an off-the-shelf alternative to custom light-weight kernels , 2006, OPSR.

[20]  Keith D. Underwood,et al.  SeaStar Interconnect: Balanced Bandwidth for Scalable Performance , 2006, IEEE Micro.

[21]  Peter A. Dinda,et al.  Towards Virtual Passthrough I/O on Commodity Devices , 2008, Workshop on I/O Virtualization.

[22]  Rolf Riesen,et al.  Towards a framework for dedicated operating systems development in high-end computing systems , 2006, OPSR.

[23]  Robert P. Goldberg,et al.  Survey of virtual machine research , 1974, Computer.

[24]  Anthony M. Filippi,et al.  Effects of virtualization on a scientific application running a hyperspectral radiative transfer code on virtual machines , 2008, HPCVirt '08.

[25]  Dhabaleswar K. Panda,et al.  A case for high performance computing with virtual machines , 2006, ICS '06.

[26]  J. M. McGlaun,et al.  CTH: A software family for multi-dimensional shock physics analysis , 1995 .

[27]  T. Inglett,et al.  Designing a Highly-Scalable Operating System: The Blue Gene/L Story , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[28]  David Hovemeyer,et al.  Running on the bare metal with GeekOS , 2004, SIGCSE '04.