Xen 3.0 - What is it? By Luke St.Clair Overview Memory - - PowerPoint PPT Presentation

xen 3 0 what is it
SMART_READER_LITE
LIVE PREVIEW

Xen 3.0 - What is it? By Luke St.Clair Overview Memory - - PowerPoint PPT Presentation

Xen 3.0 - What is it? By Luke St.Clair Overview Memory Management Interrupts Device I/O Starvation HVM And so much more... Memory Start of Day - Initial page, and address of the translation Domain builder


slide-1
SLIDE 1

Xen 3.0 - What is it?

By Luke St.Clair

slide-2
SLIDE 2

Overview

  • Memory Management
  • Interrupts
  • Device I/O
  • Starvation
  • HVM
  • And so much more...
slide-3
SLIDE 3

Memory

  • Start of Day - Initial page, and address of

the translation

  • Domain builder takes over
  • Different types of pages - like pt, rw
  • Different types, different restrictions
  • read only pt, can’t be rw/pt, etc.
  • Two lookups - physical to machine, and

machine to physical

slide-4
SLIDE 4

General

  • SMP Guests
  • HVM
  • x86_64
  • Driver Domains?
  • Migration
  • XenStore
slide-5
SLIDE 5

Page Tables, Default

  • Read only
  • explicit hypervisor requests
  • much like standard linux
  • ref counts
  • final result - a lot of the updates are

“batched”, but this requires a lot of guest OS modifications

slide-6
SLIDE 6

Page Tables, writing

  • Domain tries to write
  • Disconnected Page
  • Reconnected
  • pre-emption
  • explicit calls
slide-7
SLIDE 7

Page Tables, Shadow Mode

  • DomU keeps its own tables - separate

from HW

  • Xen then takes changes and puts them in

HW

  • Basically, a copy in domU and a copy in

dom0

slide-8
SLIDE 8

Shared Info Pages

  • Pages shared between VMM and guest

OS

  • timing
  • interrupt vectors
  • Basically, communicates VCPU state
slide-9
SLIDE 9

Interrupts

  • Xen “event” == “hardware interrupt”
  • event_channel_op - controls event

channels from domU

  • domU registers PIRQs, just like real

IRQs, and waits for notifications from them

  • domUs can talk to each other
slide-10
SLIDE 10

Devices

  • Frontend - everyone can use
  • Backend - direct access to hardware.

Can be dom0 or driver domain

  • Serious, serious safety concerns - see

the safe hardware paper, ironically

  • Block - thru VBD driver
slide-11
SLIDE 11

Networking Devices

  • As mentioned before...
  • 2 rings - one transmit, one receive
  • domU gives up memory, to get back

memory

slide-12
SLIDE 12

*-vation

  • Memory - Not an issue
  • CPU - Not an issue
  • scheduler can now be changed, via

hypercall - DOM0_SCHEDCTL

  • I/O - Still a problem
  • Can this be fixed?
slide-13
SLIDE 13

CPU Scheduler

  • BVT
  • Atropos - Atropos is a soft real time scheduler. It

provides guarantees about absolute shares of the CPU, with a facility for sharing slack CPU time on a best-effort basis. It can provide timeliness guarantees for latency-sensitive domains.

  • Round Robin
  • Edf
slide-14
SLIDE 14

HVM

  • Unified interface to VT-X and Pacifica
  • Support unmodified VMs
  • If you can install on 386, it probably

works

  • Right now, a little slow
slide-15
SLIDE 15

More HVM

  • Adds a “ring -1”
  • Adds VM_ENTER, VM_EXIT
  • hw support for switching VMs
  • If you want to see the details, go to

Intel’s http://www.intel.com/ technology/computing/vtech

slide-16
SLIDE 16

MIgration

  • Let the other talk speak for itself
slide-17
SLIDE 17

Future Work

  • Better HVM
  • VMWare killer?
  • Coalitions
  • LVM snapshotting that isn’t terrible
slide-18
SLIDE 18

Didn’t Mention

  • Grant Tables
  • Pausing/Unpausing Domains
  • Networking Testing