Seoul National University Virtualization
Virtualization History of Computing = History of Virtualization Seoul National University Virtualization Illusion History of Computing = History of Virtualization e.g., process abstraction, virtual memory, cache memory, virtual machine, simultaneous multithreading (SMT),…(the list goes on)
Virtualization Example: Process abstraction Seoul National University Virtualization Example: Process abstraction Source: http://bwrc.eecs.berkeley.edu/CIC/die_photos/21164.gif CPU Time Multiplexing of physical CPU within the operating system (OS) using timer circuit/interrupt + = CPU CPU Single physical CPU Multiple logical CPUs
Virtualization Example: Virtual Machine Seoul National University Virtualization Example: Virtual Machine Thin software layer below operating system Linux Windows XP + = . . . e.g., VMware, VirtualPC, Connectix Virtual PC
Virtualization Example: Cache Memory Seoul National University Virtualization Example: Cache Memory New Memory Technology (Performance: SRAM) (Cost: DRAM) + = SRAM DRAM
Virtualization Example: Virtual Memory Seoul National University Virtualization Example: Virtual Memory Dedicated (virtual) Memory for each process + = Hard Disk DRAM
Two Aspects of Virtualization Seoul National University Two Aspects of Virtualization Functionality Hardware: MMU (memory management unit) and exception mechanism (“page fault”) Software: virtual memory management routines based on page tables, one for each process, in the operating system (OS) Performance Optimizing regular memory references Temporal locality (locality in time) If an item is referenced, it will tend to be referenced again soon. Spatial locality (locality in space) If an item is referenced, items whose addresses are close by will tend to be referenced soon. Optimizing page table references TLB (Translation Look-aside Buffer)
Typical Workload Pattern Seoul National University Typical Workload Pattern Source: Glass & Cao (1997 ACM SIGMETRICS)