Constructing Services with Interposable Virtual Hardware Author: Andrew Whitaker, Richard S. Cox,

Download Report

Transcript Constructing Services with Interposable Virtual Hardware Author: Andrew Whitaker, Richard S. Cox,

Constructing Services with
Interposable Virtual Hardware
Author: Andrew Whitaker, Richard S. Cox,
Marianne Shaw, and Steven D. Gribble
Presenter: Huajing Li
Outline






Study Motivation
Overview of a previous VMM, Denali
An extensible VMM: μDenali
Key feature of μDenali: event
routing framework
Application studies
Discussion
Study Motivation

Resurgence in popularity of VMMs





A powerful platform for new system
services
Simplify problem solution
Novel applications
Applied in relevant study areas
A promising application of VMM: as
a virtual machine service platform.
Design Limitation of Current VMMs

Little support was given for developing
and deploying virtual machine services




Non-programmable
Non-extensible
Self-tailored blackbox system without standard
interfaces
Similar with many previous scenarios



No standards or commonly-aware protocols are
agreed
Inter-operability is a serious issue
Unnecessary efforts are devoted in repeated
works
Interoperability Requirements


Goal: give programmers efficient facilities to
develop services that manipulate the virtual
machine interface.
What functionality should VMM provide to VM
services?




Interpose events (messaging across VMs)
Extend hardware (resources)
More?
How to support the previous two key services?

Intuitively, as the solution we developed for
distributed systems, we need to create a subsystem to coordinate between parts of the system.


Messaging protocol and supportive network
Resource assignment and management
Overview of a previous VMM, Denali

The novel VMM proposed in the paper is
based on a previous VMM: Denali.



Type-I VMM
Design goal: support a large scale of VMs
 Strategically modifies the virtual architecture
(interrupt processing, handling nonvirtualizable instruction, and timers)
Support NetBSD OS
Denali Architecture

Virtual devices bridge between physical devices and VM
usable interfaces.





Virtual
Virtual
Virtual
Virtual
Virtual
CPU
MMU
timers
network
disk
An extensible VMM: μDenali


Denali neither supports interposition nor
extension.
μDenali is an updated version of Denali,
in which three basic functions of a VMM
are handled in a clean separated manner:




Physical resource management
Device namespace virtualization
Virtual hardware event trapping and routing
Recall the two interoperability
requirements discussed above. The
separation of the three functions can
perfectly meet them.
Event Routing Infrastructure in μDenali



Events (typed messages) are
associated with destination ports.
The port mapping is configurable,
managed by VMM.
A hardware of a VM (child) can be
bound to another VM (parent) so
that the parent VM has the privilege
to interpose the child’s device.
μDenali Architecture
The NetBSD Interposition Library

Describe a set of operations that a parent
VM can perform on a child.



A protocol which consists of a set of downcalls
sent to children VMs as well as a set of
responses returned by children.
Security concern: global events are not
included in the protocol.
The set of operations
 Virtual machine control
 I/O device interposition
 Exposing μDenali internal state
 Tracking and logging non-deterministic events
Event Routing

A framework to receive, route and deliver
typed messages encoded by VMs.


An interval messaging network
Ports are created as protected
communication channel between VMs.


Each virtual device in each VM has a set of
standardized ports associated with it.
A link between a child VM’s port and its parent
VM’s port establishes the message delivery
connection.
μDenali Port Tables

A centralized control by VMM



Question: alternative approach?
Pros and Cons
μDenali VMM maintains a table of port
capabilities on behalf of each VM.



Port capability includes receive, send and
send-once rights.
Stated in the paper: “From the point of view of
μDenali, a virtual machine is simply a port
table”.
It is the parent VM’s responsibility to initialize
the port table of a child VM.
μDenali Port Queues and Message
Buffers

Messages are not stored by VMM



Simplify the message delivery process.
VMM is not involved in the checkpoints
or recovery of a specific VM.
Each virtual device which owns
message receiving port implements
its own port queue.

μDenali asks each VM to maintain ring
buffers to store messages.
Example Port Table and Buffers
Applications

As use studies of μDenali





Internet suspend / resume
Drop-in network services
Continuous rejuvenation
Disk and swap device extensions
Supported by the interposition
library provided by μDenali, the
above services are easy to be
implemented.
Discussion


Summary: this paper addresses the
problem of lack of support for developing
cooperative virtual machine services in
current popular VMMs and proposes
μDenali to solve it.
Question: What is the desired level of
interoperability and extensibility?

μDenali supports VMM-managed (centralized)
resource and event sharing.
Thank you!