Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.

Similar presentations


Presentation on theme: "Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan."— Presentation transcript:

1 Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan

2 Sam KingOperating System Support for Virtual Machines2 of 18 Virtual Machines Software abstraction of a machine Software backward compatibility Convenient place for new services Strong isolation

3 Sam KingOperating System Support for Virtual Machines3 of 18 Virtual Machine Configurations Runs directly on hardware Good performance Uses existing host OS abstractions to implement services Poor performance Type I VMM Hardware Virtual Machine Monitor Guest Operating System Guest Process Type II VMM Virtual Machine Monitor Guest Operating System Host Operating System Hardware Guest Process

4 Sam KingOperating System Support for Virtual Machines4 of 18 Can we have Type I performance with Type II elegance? Yes! Only 510 lines of code added to Linux Type II VMM attain performance that approaches type I VMM

5 Sam KingOperating System Support for Virtual Machines5 of 18 Presentation Outline Background on UMLinux Discussion of optimizations Conclusions

6 Sam KingOperating System Support for Virtual Machines6 of 18 UMLinux Architecture Linux on top of Linux Port of Linux to run in UMLinux ptrace used for virtualization –intercept guest system calls –track guest user / kernel mode transitions Guest OS Linux Operating System PC Hardware Guest Process UMLinux VMM

7 Sam KingOperating System Support for Virtual Machines7 of 18 Hardware Equivalents

8 Sam KingOperating System Support for Virtual Machines8 of 18 Performance

9 Sam KingOperating System Support for Virtual Machines9 of 18 Original UMLinux Guest System Call Host operating system VMM Process Guest application Guest operating system

10 Sam KingOperating System Support for Virtual Machines10 of 18 Move VMM to Host Kernel Host operating system VMM Process Guest application Guest operating system VMM Process

11 Sam KingOperating System Support for Virtual Machines11 of 18 Performance

12 Sam KingOperating System Support for Virtual Machines12 of 18 Switching Guest Modes Significant number of guest kernel / user mode crossings –Kernel compile benchmark: 22 million guest memory exceptions 1.4 million guest system calls Protection provided using mprotect system calls Instead, use x86 segmentation hardware

13 Sam KingOperating System Support for Virtual Machines13 of 18 Use Segmentation Bounds for Kernel Protection Guest OS 0x70000000 Guest Apps 0x00000000 guest kernel- mode segment bound Host OS 0xffffffff 0xc0000000 Accessible Memory Guest OS 0x70000000 Guest Apps 0x00000000 guest user- mode segment bound Host OS 0xffffffff 0xc0000000 Accessible Memory

14 Sam KingOperating System Support for Virtual Machines14 of 18 Performance

15 Sam KingOperating System Support for Virtual Machines15 of 18 Original UMLinux Guest Application Context Switching proc_a mem proc_b mem RAM File process_a running 0x8000 Guest Application Memory proc_a mem proc_b mem 0x8000 RAM File process_b page at 0x8000 mapped in, process_b executes Guest Application Memory

16 Sam KingOperating System Support for Virtual Machines16 of 18 Multiple Address Space Definitions Instead, modify hardware page table pointer Page Table Ptr Host operating system Guest OS guest proc a guest proc bswitchguest syscall

17 Sam KingOperating System Support for Virtual Machines17 of 18 Final Performance Results

18 Sam KingOperating System Support for Virtual Machines18 of 18 Conclusion Existing OS abstractions sufficient, slow Fast interception of signals and exceptions Expose power of underlying hardware Type II VMM CAN be as fast as type I Questions?

19 Sam KingOperating System Support for Virtual Machines19 of 18 Related Work User-Mode-Linux SUNY Palladium Mach, Exokernel, L4 Wisconsin Wind Tunnel

20 Sam KingOperating System Support for Virtual Machines20 of 18 Further Areas of Improvement Asynchronous I/O Exception Handling


Download ppt "Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan."

Similar presentations


Ads by Google