x86 Virtualization

Registered by LPC Submitter on 2012-05-16

Virtualization Topics:
2) COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service - Eddie Dong
3) Reviewing Unused and Up-coming Hardware Virtualization Features - Jun Nakajima
4) Next Generation Interrupt Virtualization for KVM - Joerg Roedel

=== COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service ===

[Slides](http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/2012-lpc-virt-COLO-xen-dong.pdf)

Virtual machine (VM) replication (replicating the state of a primary VM running on a primary node to a secondary VM running on a secondary node) is a well known technique for providing application-agnostic, non-stop service. Unfortunately, existing VM replication approaches suffer from excessive replication overhead and, for client-server systems, there is really no need for the secondary VM to match its machine state with the primary VM at all times.

We propose COLO (COarse-grain LOck-stepping virtual machine solution for non-stop service), a generic and highly efficient non-stop service solution, based on on-demand VM replication. COLO monitors the output responses of the primary and secondary VMs. COLO considers the secondary VM a valid replica of the primary VM, as long as network responses generated by the secondary VM match that of the primary. The primary VM state is propagated to the secondary VM, if and only if outputs from the secondary and primary servers no longer match.

Topic Lead: Eddie Dong

=== Reviewing Unused and Up-coming Hardware Virtualization Features ===

[Slides](http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/2012-lpc-virt-intel-vt-feat-nakajima.pdf)

We review unused and up-coming hardware virtualization (Intel VT) features to discuss how they can improve virtualization for open source.

First, we review the existing hardware features that are not used by KVM or Xen today, showing examples for use cases.

1) For example, The descriptor-table exiting should be useful for the guest kernels or security agent to enhance security features.
2) The VMX-preemption timer allows the hypervisor to preempt guest VM execution after a specified amount of time, which is useful to implement fair scheduling. The hardware can save the timer value on each successive VM exit, after setting the initial VM quantum.
3) VMFUNC is an operation provided by the processor that can be invoked from VMX non-root operation without a VM exit. Today, EPTP switching is available, and we discuss how we can use the feature.

Second, we talk about the new hardware features, especially for interrupt optimizations.

Topic Lead: Jun Nakajima
Jun Nakajima is a Principal Engineer leading open source virtualization projects, such as Xen and KVM at the Intel Open Source Technology Center. He presented a number of times at technical conferences, including Xen Summit, OLS, KVM Forum, and USENIX.

=== Next Generation Interrupt Virtualization for KVM ===

[Slides](http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/2012-lpc-virt-interrupt-virt-kvm-roedel.pdf)

Virtualizing the x86 interrupt system is one of the most performance critical tasks a hypervisor has to
implement. For some workloads the overhead of a soft-virtualized APIC can mean a significant
performance degradation when running in a virtual machine.

This talk introduces a hardware extension to reduce this overhead. It will be explained how this
extension works and how we plan to integrate it into KVM.

Topic Lead: Joerg Roedel

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.