Palacios is a virtual machine monitor (VMM) that is available for public use as a community resource. Palacios is highly configurable and designed to be embeddable into different host operating systems, such as Linux and the Kitten lightweight kernel. Palacios is a non-paravirtualized VMM that makes extensive use of the virtualization extensions in modern Intel and AMD x86 processors. Palacios is a compact codebase that has been designed to be easy to understand and readily configurable for different environments. It is unique in being designed to be embeddable into other OSes instead of being implemented in the context of a specific OS. Palacios is distributed under the BSD license.

Palacios is part of the V3VEE Project.


You can access our public git repository to see an up-to-the-minute view of development and to contribute.

Download the latest released version of Palacios (1.3 - November 18, 2011)

Older released versions are available here



Documentation
  • Quick Start Guide to Palacios 1.3
  • An Introduction to the Palacios Virtual Machine Monitor---Version 1.3
    Pretty much all you need to know to download, use, and develop Palacios
  • Booting Palacios/Kitten and Palacios/Linux Over the Network Using PXE
    How to set up remote booting to support OS testing or for use in clusters

  • News

  • November 18, 2011
    Palacios 1.3 has been released and can be downloaded from here. Palacios 1.3 contains all you need to build and use it as a Linux kernel module. If you would like to use Palacios 1.3 with Kitten as your host OS, you will also need Kitten 1.3.0, which can be downloaded from here.
  • January 28, 2010
    Palacios 1.2 and Kitten 1.2.0 have been released and can be downloaded from here.
  • January 21, 2010
    Palacios has been used to virtualize Sandia's Red Storm Supercomputer at scales in excess of 4096 nodes. You can read more in our joint press releases: Northwestern, Sandia, New Mexico
    We have also been written up in Slashdot, HPCwire, CACM, ZDNet, and the New York Times
  • January 15, 2010
    Our public git repository is available
  • Week of January 11, 2010
    The 3rd Palacios/Kitten Joint Developers meeting was held in Evanston, IL.
  • May 1, 2009
    Palacios Version 1.1 has been released. Here is the announcement and the list of changes from 1.0.
  • Week of March 24, 2009
    The 2nd Palacios/Kitten Joint Developers meeting was recently held in Albuquerque, NM.
  • December 4, 2008
    Palacios 1.0 has been released. Here is the announcement and the release notes
  • Week of October 20, 2008
    The first Palacios/Kitten Joint Developers meeting was held in Evanston, IL.
  • February 21-22, 2008
    V3VEE Advisory Board Meeting in Albuquerque, NM.

  • Get Involved

    We are continuously looking for people to become engaged in this project. There are numerous ways to do so:
  • We are looking for graduate students at both Northwestern University and the University of New Mexico.
  • We have independent study and paid REU opportunities for undergraduate students at Northwestern University and the University of New Mexico.
  • This is an open source community development project and we encourage involvement by the broader community.

  • Project Resources

  • General Open Discussion Group
  • Open Discussion Group for Developers
  • Invitation-only Discussion Group for Developers
  • Start Page (For research group members)

  • Papers

    Note: the following lists papers that are specific to the design and implementation of Palacios. To see all project papers, please see the Main V3VEE Page.
  • J. Lange, P. Dinda, K. Hale, L. Xia, An Introduction to the Palacios Virtual Machine Monitor---Version 1.3, Technical Report NWU-EECS-11-10, Department of Electrical Engineering and Computer Science, Northwestern University, November, 2011. pdf
  • J. Lange, K. Pedretti, T. Hudson, P. Dinda, Z. Cui, L. Xia, P. Bridges, A. Gocke, S. Jaconette, M. Levenhagen, R. Brightwell, Palacios and Kitten: New High Performance Operating Systems for Scalable Virtualized and Native Supercomputing, Proceedings of the 24th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2010), April, 2010. pdf
  • J. Lange, K. Pedretti, T. Hudson, P. Dinda, Z. Cui, L. Xia, P. Bridges, S. Jaconette, M. Levenhagen, R. Brightwell, P. Widener, Palacios and Kitten: High Performance Operating Systems For Scalable Virtualized and Native Supercomputing, Technical Report NWU-EECS-09-14, Department of Electrical Engineering and Computer Science, Northwestern University, July, 2009. pdf
  • L. Xia, J. Lange, P. Dinda, and C. Bae, Investigating Virtual Passthrough I/O on Commodity Devices, Operating Systems Review, pdf
  • J. Lange, P. Dinda, An Introduction to the Palacios Virtual Machine Monitor---Release 1.0, Technical Report NWU-EECS-08-11, Department of Electrical Engineering and Computer Science, Northwestern University. pdf
  • L. Xia, J. Lange, and P. Dinda, Towards Virtual Passthrough I/O on Commodity Devices, Proceedings of the First Workshop on I/O Virtualization at OSDI (WIOV), pdf

  • Acknowledgments

    This project is made possible by support from the National Science Foundation (NSF) via grants CNS-0709168 (Northwestern), CNS-0707365 (UNM), and the Department of Energy (DOE) via grant DE-SC0005343 (Northwestern, UNM, U.Pittsburgh, Sandia, and ORNL). Seed funding to help start the development of Palacios at Northwestern was provided via a subcontract from Oak Ridge National Laboratory (ORNL) on DOE grant DE-AC05-00OR22725. Seed funding to help start multicore guest development at Northwestern was provided via a subcontract from Sandia National Laboratories. Jack Lange was partially supported by a Symantec Research Labs Fellowship.