A Multi-Platform, Multi-Purpose Research Hypervisor
$Id: rhype.sgml,v 1.3 2005/03/11 13:04:46 jimix Exp $
Copyright © 2005 by IBM Corp.
We'll be trying to keep this up to date as much as possible.
New CVS instructions, please see below.
New draft white paper describing the
hypervisors funtion.
Linux patch finally released. It is a single diff that
represets three distinct pieces of work.
The Linux x86 patch.
Commonized VIO layer, where the PPC64 VIO layer is
"fixed" so it can target x86 as well.
Teach the MAPLE PPC64 configureation to be hypervisor aware.
Mailing lists have been added, information below.
The Research Hypervisor from IBM research has been
developed over the last 3 years to validate virtualization
features in new hardware architectures and to study fundamental
research issues in virtualization. For example, the Research
Hypervisor has been used:
to validate features developed for new processors like the
Cell.
to study future architecture ideas and functions for the
high performance computing community within the PERCS
project for DARPA.
to study security in the context of virtualization within
the sHype
project.
The Research Hypervisor was designed from the start to be
multi-platform, and today supports both the Power and x86
architectures. On Power, it conforms to the interfaces used
by Linux running on IBM's commercial POWER Hypervisor in the new
POWER5-based
servers, and hence runs unmodified Linux
distributions. On Intel we support a modified Linux kernel and
demonstrate the multi-platform characteristics of the POWER Hypervisor
interfaces.
Core architects of the project are:
The overall maintainer is Jimi Xenidis, and the maintainer for
x86 is Leendert Van Doorn.
On PowerPC the Research Hypervisor can run unmodified Linux
distributions. Also, on Power we support the K42 operating system
kernel, and a library OS that we have been developing for High
Performance Computing applications. On Intel we support a
modified Linux kernel.
| From-scratch implementation and design decisions that allow
the core trusted code base to be tiny, making it appropriate
for secure design.
|
| Memory management architecture designed to enable large
pages, to be cache efficient on common operations and
friendly to future self-virtualizing I/O devices.
|
| Source configuration system and careful choice of internal
interfaces to allow implementation to be tuned to specific
platform requirements and supported services, and maximizes
code reuse/sharing between platforms.
|
| On Intel, design decisions that result in a small set of
changes to Linux. (The Power Linux kernel runs unmodified.)
|
| A reduced and open source implementation of the proven LPAR
environment used in IBM's commercial Hypervisors; unmodified
distributions are supported. Interfaces are designed with
SMP/SMT clients from the beginning.
|
Unfortunately we are unable to accept patches at this time.
However, we do wish to make our source available for discussion
and use by a larger group.
| Warning |
We have switched to using ssh. Please follow the
instructions below.
|
Make sure you are setup to use ssh, http://www.openssh.org/
is an excellent place to start.
Place the following public "private key" in a file. The
example below assumes it is in
~/.ssh/kcvs:
-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQC2mAehzPXSfpwSpvWLh4qAJZooBGL/2GXvQU66LgvvaoCCnB0A
f+USAEpG03cXEWhXhLtLMLKQTzaidfepau2k5+Ix9yVLtkEVYTDfaa/rN1u8lYUO
RBAnODc3ZwcjwPVY1/P0CJZVikpM1fHQ/Gd844J+znWkJT9+7JpsA5OMwQIVAJ5s
L29MyukPBtU/lCH1rbpAd4wTAoGBALCyQIRspcKnFl0AcWtw8UBqqtazXsH33FO3
PwVTg9E/sLYN1JhXHD09iMKnDF6O87AMnY9ryrK4ML6BYFRlo0LiFx459PiV6Azn
f5Z4I1eRMR44nTx74ZoWnYRAhFIWooCQx2wE0zts4Rfwhmu2g9+1Dr7wlQCQmSto
kDfxqSE6AoGAFEE5vSlYkEAlvB80tFS+Fu7QhAqrmw5fLQvvqLlrpPCiNrJWwi0e
x0Tdo0P2s0hnODBbtpOsOSbqnBxKj3gKLzCX7Yz7VCWBRcR+p2C9HjNdi+eBW+3G
fTfbjAJ9oXnlmRBeXGsq9hEiDUOw0E5rg8jhHT+afnCYkUscW/hJBCsCFFaxiti8
LubgdNfucZUY0FGY7tLq
-----END DSA PRIVATE KEY-----
Add the following lines to ~/.ssh/config:
Host kcvs
HostName kcvs.watson.ibm.com
User cvs
IdentityFile ~/.ssh/kcvs
Protocol 2
ForwardAgent no
ForwardX11 no
Compression yes
Now you can access the source by using the following command:
$ cvs -d cvs@kcvs:/u/kitchawa/cvsroot co rhype
Once you've got the repository checked out, cvs
update will sync your local copy with the
repository. See the CVS manual for additional information on
how to use CVS.
Contacts, docs and other tasty morsels.
Thanks to our friends at OzLabs we now have
some mailing lists.
Can be build like all other documentation. A recent snap
shot is here
(HackersGuide) for your amusement.