180 likes | 190 Views
Explore μDenali as a next-gen VMM, overcoming limitations to support VM services effectively. Learn about event routing, resource management, and interposition frameworks. Discover μDenali's architecture and applications.
E N D
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 sub-system 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 non-virtualizable instruction, and timers) • Support NetBSD OS
Denali Architecture • Virtual devices bridge between physical devices and VM usable interfaces. • Virtual CPU • Virtual MMU • Virtual timers • Virtual network • Virtual 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.
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.
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.