Description
Marzipan builds systems of collaborating virtual machines, using
the L4Ka::Pistachio microkernel as the hypervisor. Marzipan is a
small L4 user-level task that manages virtual machines, assigns
resources, and enforces policies. It takes advantage of the
flexibility of the L4 API to construct an environment that
supports classical virtual machine applications (such as server
consolidation), federated systems of collaborating virtual
machines (such as tiered servers), and domain specific systems where
the virtual machine augments other L4-native applications.
Marzipan is our test framework for the L4Ka
pre-virtualization and device driver reuse
projects.
The principal component of Marzipan is the resource monitor, an L4
root task. The resource monitor assumes authorative control over all
machine resources. It distributes the resources between its children
virtual machines. It also serves as a resource directory and locator,
permitting virtual machines to publish services, which other virtual
machines can locate.
Marzipan also includes the set of interface definitions
used by the virtualization projects. Since communication between
protection domains uses L4 IPC, the interfaces are flexible, easily
enhanced to accomodate new features, and do not involve changes to the
hypervisor (in contrast to typical virtual machine environments).
Marzipan is a research system. We use it to find best principles
and practices for building virtual machine environments. Security is
one of our research investigations (such as applying the principles of
confinement recursively, to build multiple federated virtual machine
systems in their own confinement domains). Performance, and
multiprocessor performance, are active research topics. And we
investigate intelligent solutions for remotely deploying, controlling,
and configuring virtual machines.
Supported Systems
The resource monitor supports IA32 and IA64 systems. The other platforms
of L4Ka::Pistachio's rich platform support can be enabled as necessary.
Audience
The resource monitor is for L4 developers, and users of the
afterburn project.
It is also suitable as an example L4 application for beginning
L4 developers.
Licensing
Most of the source code is authored by and copyrighted by the University of
Karlsruhe, and is released under the two-clause BSD
license. The remaining source code (some utility routines) was imported
from the BSD project, and is also licensed under the BSD license.
More Information
|