370 likes | 514 Views
前瞻 資訊科技 (II) - 虛擬化 (2) - Virtualization(V12N ). 薛智文 cwhsueh@csie.ntu.edu.tw http://www.csie.ntu.edu.tw/~cwhsueh/ 101 Spring, March 22, Fri 678, DTH 104. Outline. Introduction Xen Architecture Hypercall CPU Virtualization Memory Virtualization I/O Device Virtualization
E N D
前瞻資訊科技(II) -虛擬化 (2) -Virtualization(V12N) 薛智文 cwhsueh@csie.ntu.edu.tw http://www.csie.ntu.edu.tw/~cwhsueh/ 101 Spring,March 22, Fri 678, DTH 104
Outline • Introduction • Xen • Architecture • Hypercall • CPU Virtualization • Memory Virtualization • I/O Device Virtualization • Hardware Virtual Machine • Benchmark • Domain 1 • Summary /35
How to Virtualize ? • Binary translation • Hypercall Trap and emulate Full Virtualization Para Virtualization Hardware Assisted Virtualization Intel VT-x & AMD SVM /35
Virtual Machine Monitor (VMM)Hypervisor VM : Virtual Machine, Guest OS + Virtual Devices VM0 VM1 VMN … Hosted VMM, e.g. VMware VM0 VM1 VMN … Hypervisor, e.g. Xen Host Operating System Hardware Hardware Type I - Hypervisor Type II – Hosted VMM /35
Hypervisor (VMM) Type Type I • Type I + Microkernel • Xen (open source, Citrix), • Microsoft Hyper-V • Type I + Integrated kernel • VMware ESX, • KVM (kernel-base VM) • Type II (Host OS + Guest OS) • VMware GSX, workstation, • Microsoft virtual PC, • Microsoft virtual server, • Sun Virtual Box Type II /35
Xen Architecture (1/2) Domain U Domain U Domain 0 Domain U /35
Xen Architecture (2/2) • Compare to common Linux /35
Hyper Call System Call • int 0x80 • int 0x82 01 02 03 04 05 06 07 // linux/include/asm/unistd.h #define __NR_restart_syscall 0 #define __NR_exit 1 #define __NR_fork 2 #define __NR_read 3 … Guest OS Hypervisor HYPERVOSIR_sched_op int 82h hypercall Hypercall_table do_sched_op iret Hyper Call resume Guest OS 01 02 03 04 05 06 07 // xen/include/public/xen.h #define __HYPERVISOR_set_trap_table 0 #define __HYPERVISOR_mmu_update 1 #define __HYPERVISOR_set_gdt 2 #define __HYPERVISOR_stack_switch 3 … /35
Grant Table Domain A Domain B Domain A Domain B create GR create GR send GR send GR map page transfer page access page inform receive page unmap page release GR inform release GR • Page mapping & Page transferring • Page as a unit • Grant reference (GR) Grant entry /35
Xen Architecture (1/2) Domain U Domain U Domain 0 Domain U /35
Event Channel IDC IPI IPI vIRQ pIRQ • A lightweight signal mechanism • Use “ports” as identifers (pending+mask) • Four major purposes Guest OS Guest OS … VCPU VCPU … … VCPU VCPU Hypervisor VirtualMemory … Virtual CPU Scheduling Hardware PhysicalCPU PhysicalMemory … Eth0 Eth1 /35
CPU Virtualization • Architecture • 2 scheduling algorithms (Non-Work Conserving) • Simple Earliest Deadline First (SEDF) • Credit App App Guest OS Guest OS … Hypervisor … VCPU VCPU VCPU Scheduling PCPU PCPU PCPU … /35
PIC PIC Interrupt • Physical interrupt • For the hypervisor or for guest OSes • Virtual interrupt • Ask guest OSes to do • 8 for now (max is 24) Guest OS Guest OS … event OS Hypervisor ISR Hardware Hardware Device Device IRQn IRQn /35
Memory Virtualization (1/2) • Two-level memory • Three-level memory • Virtual, Pseudo-physical, Machine hypervisor Application - Virtual Memory OS Guest OS -Physical Memory -Pseudo-Physical Memory P2M M2P Hypervisor -Machine Memory /35
Memory Virtualization (2/2) 168M memory for hypervisor 0xFC000000 0xFC400000 Heap 0xFFFFFFFF /35
Memory Virtualization - Translation • 4 mechanisms to manipulate page tables • Paravirtualized page tables • Write page tables (Only level 1 is writable) • Shadow page tables • Hardware-assisted paging Virtual Memory Page Table Shadow Page Table MMU Page Fault ! (VM->PFN) (VM->MFN or VM->P2M) Pseudo-Physical Memory Second Level PagingHAP P2M Machine Memory /35
Memory Virtualization - Shared Info Page Structure Compare with start_info_page MAX : 32 VCPUs event channel TSC memory wall clock /35
I/O Device Virtualization • Hypervisor also provides three mechanisms to use devices. • Emulated Devices • ParavirtualizedDriver • Pass-through /35
I/O Device Virtualization - Emulated Devices • Implemented by QEMU • e.g. sound card, ac97, sb16, etc QEMU-DM /35
I/O Device Virtualization - Paravirtualized Driver • Split Device Driver Model • An example of sending packets Back-End Driver Front-End Driver Native Driver /35
I/O Device Virtualization - I/O Ring • Without data, it only transfers request/reply • An example with GR Dom U Dom 0 GR GR GR Grant Table I/O Channel Hypervisor Active Grant Table Device /35
I/O Device Virtualization - Pass-Through • Pass and directly use the device Dom U Dom 0 Dom U … NativeDriver NativeDriver Hypervisor VirtualMemory … Virtual CPU Scheduling Hardware PhysicalCPU PhysicalMemory … Eth0 Eth1 /35
Hardware Virtual Machine • Intel Virtualization Technology /35
CPU Benchmark (1/2) 8.3% Average over 100 tests, Deviation: 0.066~0.128% /35
CPU Benchmark (2/2) 5% Calculate the 32M digits of . /35
Network Benchmark (1/2) 59% Testing Time: 180 seconds, Deviation: 0.12~0.26%. /35
Network Benchmark (2/2) Average: 9.82% Sample Period: 2 seconds /35
Architecture Domain 1 – A Fake Domain 0 assignable hardware non-assignable hardware VGA eth usb … Dom1 Dom0 DomU … Windows Linux Android xend Drivers Drivers payload hypervisor BIOS /35
Types of Virtualization • Hardware/platform virtualization • Desktop virtualization • Software virtualization • OS-level, Workspace, Application • Storage virtualization • E.g. Virtual Tape Library, 1.2B USD sold to CA, 1996. • Data virtualization • Database virtualization • Network virtualization /35
WeOS: Emerge Off-Screen Services Seller Buyer Logistics Cash Flow ... 網民當家作主,共創資訊價值! 日本 AutonomousID Autonomous Distributed Match Engine 京都 ... 東京 大阪 ... ... ... USA Seattle Internet ... 台北 台灣 DC LA ... ... 嘉義 ... ... 台南 ... ... ... V12N to help G11N (I18N + L10N). /23
Answers for Big Questions • How fast can virtualization achieve? • 95+% 99.9% • What kinds of applications? • Well … • What problems it might incur? • Technical • Data • Security • Business • Politics • Globalization (G11N) = • Internationalization (I18N) + Localization (L10N) • … /35
Homework • Refer to Xen To-Do List • http://wiki.xen.org/wiki/Xen_Document_Days/TODO • Turn in a 3-5 page report answering any of the big or related questions, what problems you solve?And how? • 1-3 members per group, will be posted on course wiki. /35
Computer Science and Information Engineering 資訊工程 資訊科學 資訊管理 資訊教育 資訊電子 資訊處理 資訊傳播 生物資訊 醫學資訊 圖書資訊 金融資訊 /35
Summary • Stay hungry to be full [of passion]. • Stay foolish to be smart [on absorption]. • Virtualized realityvs. Real virtualization. • Life of Pi, trust yourself. • Virtualized to go anywhere? • For Taiwan Industry • Key is system, System is key. • 專題 vs. PhD • 創意 vs. 創業, 人事時地物本 • e.g. 鼎王, 麻油, 鳳梨酥, 掏寶, evernote, Line, PTT. • NTD, 1B, 1B, 20+B, 8/2T. /35