Presentation is loading. Please wait.

Presentation is loading. Please wait.

Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.

Similar presentations


Presentation on theme: "Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield."— Presentation transcript:

1 Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield

2 Apology / Disclaimer

3 Why Virtualise? Consolidate machines Isolate performance Stay flexible

4 HARDWARE

5 ???

6 HARDWARE ??? LinuxWinXP

7 HARDWARE ??? LinuxWinXPMirage

8 HARDWARE Virtual Machine Monitor LinuxWinXPMirage

9 How to Build a VMM 1: Emulation HARDWARE Normal OS EMULATOR PROCESS Guest Kernel Guest App “Physical” memory Virtual MMU Virtual System Calls Virtual CPU

10 How to Build a VMM 2: Trap and Emulate HARDWARE Normal OS EMULATOR PROCESS Guest Kernel “Physical” memory Virtual MMU Virtual System Calls Guest App

11 How to Build a VMM 2: Trap and Emulate HARDWARE Normal OS EMULATOR PROCESS Guest Kernel “Physical” memory Virtual MMU Virtual System Calls Guest App add %eax, %ebx

12 How to Build a VMM 2: Trap and Emulate HARDWARE Normal OS EMULATOR PROCESS Guest Kernel “Physical” memory Virtual MMU Virtual System Calls Guest App outb %al

13 How to Build a VMM 2: Trap and Emulate HARDWARE Normal OS EMULATOR PROCESS Guest Kernel “Physical” memory Virtual MMU Virtual System Calls Guest App outb %al

14 How to Build a VMM 2: Trap and Emulate HARDWARE Normal OS EMULATOR PROCESS Guest Kernel “Physical” memory Virtual MMU Virtual System Calls Guest App sysenter handle_sysenter

15 How to Build a VMM 2: Trap and Emulate for(i = 0; i < 256; i++) mangle_pagetable_entry(&ptes[i]); 256 traps into the emulator Severe performance penalty

16 How to Build a VMM 3: Dynamic Binary Translation HARDWARE Normal OS TRANSLATOR PROCESS Rewritten Guest Kernel Rewritten Guest App “Physical” memory Virtual MMU Virtual System Calls

17 How to Build a VMM 3: Dynamic Binary Translation for(i = 0; i < 256; i++) mangle_pagetable_entry(&ptes[i]);

18 How to Build a VMM 3: Dynamic Binary Translation pte_t new_ptes[256]; for(i = 0; i < 256; i++) new_ptes[i] = mangled_entry(&ptes[i]); register_new_ptes(new_ptes, 256); But when is this a safe alteration?

19 How to Build a VMM 4: Xen Q. But when is this a safe alteration? A. Let the humans worry about that. Manually hack the OS: “paravirtualisation”.

20 Xen: Founding Principles Minimally alter guest OS Don't disguise multiplexing Thusly, be faster than the competition

21 VMWare Memory Management VAS Pages“Physical” frames

22 VMWare Memory Management VAS Pages“Physical” frames Page Table

23 VMWare Memory Management VAS PagesPhysical frames Page Table (not really)

24 VMWare Memory Management VAS PagesPhysical frames Shadow Page Table

25 Xen Memory Management VAS PagesPhysical frames

26 Xen Memory Management VAS PagesPhysical frames Page Table

27 VMWare I/O “Physical” Memory “Device” Memory “I/O Ports” “Device” Ports NE2000 Model Rubbish NIC One op at a time Shared buffers

28 Xen I/O Own Memor y Packet Async Queue --> <-- Async Queue Hypervisor

29 Xen I/O Own Memor y Packet Async Queue --> <-- Async Queue Hypervisor

30 Xen I/O Own Memor y Buffer Async Queue --> <-- Async Queue Hypervisor

31 Strawman Warning VMWare does that too “Guest additions” are basically paravirt

32 Is it Any Good?


Download ppt "Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield."

Similar presentations


Ads by Google