SlideShare une entreprise Scribd logo
1  sur  15
OS vs. VMM
Hwanju Kim
1
OS vs. VMM
• A common thing
• Managing and Providing HW resources to SW entities
• Differences
• Abstraction (OS) vs. Virtualization (VMM)
• But, a thread is also called virtual processor, and disk and
network devices can be directly accessed in an OS…
• So, fundamentally similar…
• VMM is another layer of OS to provide “machine abstraction”
HW resources OS (abstraction) VMM (virtualization)
CPU Thread & Process Virtual CPU
Memory Virtual memory Virtual memory
Disk File & Directory Virtual disk
Network Socket Virtual network
2/15
CPU Virtualization
• Privileged level
• VMM makes OS step down to less-privileged layer
• VMM must trap and virtualize any OS’s attempt to
run privileged operations
OS
Application
VMM
OS
Application
OS VMM
[Issue] How to trap and virtualize OS’s privileged operations
3/15
CPU Management
• Another scheduling layer: “VMM scheduler”
Virtual
CPU
OS VMM
[Issue] How to efficiently schedule virtual CPUs 4/15
Memory Virtualization
• OS: Virtual memory
• Virtual address  Physical address
Level 2
Page
table
Page
table
Page
table
Page
table
Level 1
Page
table
.
.
.
Physical memory
Virtual address
Physical address
5/15
Memory Virtualization
• VMM: “Virtualizing virtual memory”
• Virtual  Physical  Machine
Level 2
Page
table
Page
table
Page
table
Page
table
Level 1
Page
table
.
.
.
Machine memory
Virtual address
Physical
to
Machine
Pseudo physical
memory
Terminology
- Xen
Virtual  (Pseudo) Physical  Machine
- Others (general)
Guest-virtual  Guest-physical  Host-physical
[Issue] How to transparently and efficiently
manage additional memory translation 6/15
Memory Management
• Memory sharing
• OS
• Parent-child copy-on-write sharing
• VMM
• No semantic of parent-child relationship
• Content-based page sharing invented by VMware [OSDI’02]
• Memory oversubscription (to be explained later)
VM 1 VM 2
Machine Memory
[Issue] How to efficiently use limited memory by avoiding
redundant and idle memory 7/15
I/O Virtualization
• Two ways of I/O virtualization
• I/O virtualization in VMM
• Rewritten Device drivers in VMM
• + High performance
• - High engineering cost
• - Low fault tolerance (driver bugs)
• Hosted I/O virtualization
• Existing device drivers in a host OS
• + Low engineering cost
• + High fault tolerance
• - Performance overheads
VMM
Guest VM
Block
device driver
Network
device driver
HW Block device Network device
Guest VM
VMM
Privileged VM
or Host OS
Block
device
driver
HW Block device Block device
Guest
VMNetwork
device
driver
Guest
VM
Most VMMs (except VMware ESX Server) adopt
hosted I/O virtualization
8/15
Block I/O Virtualization
• Block I/O virtualization
HDD or
SSD
VM VM
Privileged VM
or
Host OS
HDD or
SSD
OS VMM
9/15
Network I/O Virtualization
• OS: network I/O
Physical machine
Switch
10/15
Network I/O Virtualization
• VMM: Virtualizing network devices
VM VMPrivileged VM or Host OS
Virtual
switch
[Issue] How to achieve near-native I/O performance? 11/15
OS over VMM
• Nested resource virtualization
• Complicating efficient resource management
• “Commodity OSes have been designed and
optimized assuming that HW is dedicated”
• Semantic gap
PCPU
VMM scheduler
PCPU
VCPU VCPU
OS scheduler
VCPU
OS scheduler
VMM
VM VM VM
VCPU VCPU
OS scheduler
Task Task Task Task Task TaskTask Task
I believe my all
CPUs are
always online!
Sorry, your CPUs
are virtualized &
I don’t know what
kinds of tasks are
running on your
VCPUs
Another level of indirection invalidates
sophisticated OS-level optimizations
Semantic gap
for CPU resources 12/15
Nested Virtualization
• IBM’s Turtles project [OSDI’10]
• Nesting is being continued…
• Nesting is being needed…
• Cloud of cloud
• Gang migration
• Hypervisor development
Guest VMM
Guest
VM
Host VMM
HW
Guest VMM
Guest
VM
Guest
VM
Guest
VM
Microkernels Meet Recursive Virtual Machines [OSDI’96]
13/15
Nested Virtualization is Not New
• Theoretical analysis
• [IEEE Computer’74], [Commun. ACM’74], [SIGOPS rev’75]
• Hardware architecture
• [ACM’75]
• Nested virtualization on IBM z/VM
• [IBM system journal’91]
• Microkernel-based nested virtualization
• [OSDI’96]
• Nested virtualization on KVM with AMD
• [Linux Plumbers Conference’09]
• Nested virtualization on Xen
• [Xen summit’09]
• Blue Pill
• [Blackhat’09]
14/15
Summary
• VMM is another OS
• But, giving machine abstraction
• Nested resource virtualization complicates
computer systems
• OS and apps should consider that underlying
HW is not real!
• ASPLOS RESoLVE workshop
• Runtime Environments/Systems, Layering, and Virtualized
Environments (RESoLVE) Workshop
15/15

Contenu connexe

Tendances

Virtualization presentation
Virtualization presentationVirtualization presentation
Virtualization presentation
Mangesh Gunjal
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructure
Gokulan Subramani
 

Tendances (20)

Lecture5 virtualization
Lecture5 virtualizationLecture5 virtualization
Lecture5 virtualization
 
Introduction to Hyper-V
Introduction to Hyper-VIntroduction to Hyper-V
Introduction to Hyper-V
 
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
 
virtualization (Hyper-V)
virtualization (Hyper-V)virtualization (Hyper-V)
virtualization (Hyper-V)
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
 
Virtualization 101
Virtualization 101Virtualization 101
Virtualization 101
 
cloud computing:Types of virtualization
cloud computing:Types of virtualizationcloud computing:Types of virtualization
cloud computing:Types of virtualization
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
VMware Presentation
VMware PresentationVMware Presentation
VMware Presentation
 
RedHat OpenStack Platform Overview
RedHat OpenStack Platform OverviewRedHat OpenStack Platform Overview
RedHat OpenStack Platform Overview
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Virtualization presentation
Virtualization presentationVirtualization presentation
Virtualization presentation
 
Virtualization.ppt
Virtualization.pptVirtualization.ppt
Virtualization.ppt
 
Virtual Machines - Virtual Box
Virtual Machines  - Virtual BoxVirtual Machines  - Virtual Box
Virtual Machines - Virtual Box
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Paul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStackPaul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStack
 
High Availability of SAP ASCS in Microsoft Azure
High Availability of SAP ASCS in Microsoft AzureHigh Availability of SAP ASCS in Microsoft Azure
High Availability of SAP ASCS in Microsoft Azure
 
Monitoring in CloudStack
Monitoring in CloudStackMonitoring in CloudStack
Monitoring in CloudStack
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructure
 

En vedette

ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
The Linux Foundation
 

En vedette (15)

3. CPU virtualization and scheduling
3. CPU virtualization and scheduling3. CPU virtualization and scheduling
3. CPU virtualization and scheduling
 
CPU Scheduling for Virtual Desktop Infrastructure
CPU Scheduling for Virtual Desktop InfrastructureCPU Scheduling for Virtual Desktop Infrastructure
CPU Scheduling for Virtual Desktop Infrastructure
 
4. Memory virtualization and management
4. Memory virtualization and management4. Memory virtualization and management
4. Memory virtualization and management
 
5. IO virtualization
5. IO virtualization5. IO virtualization
5. IO virtualization
 
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...ARM Architecture-based System Virtualization: Xen ARM open source software pr...
ARM Architecture-based System Virtualization: Xen ARM open source software pr...
 
Xen & virtualization
Xen & virtualizationXen & virtualization
Xen & virtualization
 
Hsdpa overview
Hsdpa overviewHsdpa overview
Hsdpa overview
 
Task-aware Virtual Machine Scheduling for I/O Performance
Task-aware Virtual Machine Scheduling for I/O PerformanceTask-aware Virtual Machine Scheduling for I/O Performance
Task-aware Virtual Machine Scheduling for I/O Performance
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
 
Cqi basics
Cqi basicsCqi basics
Cqi basics
 
Dave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMU
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
Introduction to virtualization
Introduction to virtualizationIntroduction to virtualization
Introduction to virtualization
 

Similaire à 2. OS vs. VMM

2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp012virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
Vietnam Open Infrastructure User Group
 
Server Virtualization
Server VirtualizationServer Virtualization
Server Virtualization
webhostingguy
 
Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testing
elliando dias
 
vSphere APIs for performance monitoring
vSphere APIs for performance monitoringvSphere APIs for performance monitoring
vSphere APIs for performance monitoring
Alan Renouf
 

Similaire à 2. OS vs. VMM (20)

2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp012virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
2virtualizationtechnologyoverview 13540659831745-phpapp02-121127193019-phpapp01
 
Server Virtualization
Server VirtualizationServer Virtualization
Server Virtualization
 
virtual machine.ppt
virtual machine.pptvirtual machine.ppt
virtual machine.ppt
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Usenix Invited Talk
Usenix Invited TalkUsenix Invited Talk
Usenix Invited Talk
 
Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testing
 
Server virtualization
Server virtualizationServer virtualization
Server virtualization
 
Xen revisited
Xen revisitedXen revisited
Xen revisited
 
VMware DCV_ICM_Architectural Differences, Virtual Machines, Guest OS Install
VMware DCV_ICM_Architectural Differences, Virtual Machines, Guest OS InstallVMware DCV_ICM_Architectural Differences, Virtual Machines, Guest OS Install
VMware DCV_ICM_Architectural Differences, Virtual Machines, Guest OS Install
 
17-virtualization.pptx
17-virtualization.pptx17-virtualization.pptx
17-virtualization.pptx
 
Virtualization and how it leads to cloud
Virtualization and how it leads to cloudVirtualization and how it leads to cloud
Virtualization and how it leads to cloud
 
More on Virtualization 3.pptx
More on Virtualization 3.pptxMore on Virtualization 3.pptx
More on Virtualization 3.pptx
 
vSphere APIs for performance monitoring
vSphere APIs for performance monitoringvSphere APIs for performance monitoring
vSphere APIs for performance monitoring
 
Presentation v mware performance overview
Presentation   v mware performance overviewPresentation   v mware performance overview
Presentation v mware performance overview
 
DeltaV Virtualization
DeltaV VirtualizationDeltaV Virtualization
DeltaV Virtualization
 
Xen 10th anniversary Status Report (at SELF 2013)
Xen 10th anniversary Status Report (at SELF 2013)Xen 10th anniversary Status Report (at SELF 2013)
Xen 10th anniversary Status Report (at SELF 2013)
 
V mware view™ poc jumpstart service
V mware view™ poc jumpstart serviceV mware view™ poc jumpstart service
V mware view™ poc jumpstart service
 
Nordic VMUG User Conference 2014 - Design VMware vCenter Server
Nordic VMUG User Conference 2014 - Design VMware vCenter ServerNordic VMUG User Conference 2014 - Design VMware vCenter Server
Nordic VMUG User Conference 2014 - Design VMware vCenter Server
 
Presentation cloud computing workshop - virtualization
Presentation   cloud computing workshop - virtualizationPresentation   cloud computing workshop - virtualization
Presentation cloud computing workshop - virtualization
 

Dernier

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Dernier (20)

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 

2. OS vs. VMM

  • 2. OS vs. VMM • A common thing • Managing and Providing HW resources to SW entities • Differences • Abstraction (OS) vs. Virtualization (VMM) • But, a thread is also called virtual processor, and disk and network devices can be directly accessed in an OS… • So, fundamentally similar… • VMM is another layer of OS to provide “machine abstraction” HW resources OS (abstraction) VMM (virtualization) CPU Thread & Process Virtual CPU Memory Virtual memory Virtual memory Disk File & Directory Virtual disk Network Socket Virtual network 2/15
  • 3. CPU Virtualization • Privileged level • VMM makes OS step down to less-privileged layer • VMM must trap and virtualize any OS’s attempt to run privileged operations OS Application VMM OS Application OS VMM [Issue] How to trap and virtualize OS’s privileged operations 3/15
  • 4. CPU Management • Another scheduling layer: “VMM scheduler” Virtual CPU OS VMM [Issue] How to efficiently schedule virtual CPUs 4/15
  • 5. Memory Virtualization • OS: Virtual memory • Virtual address  Physical address Level 2 Page table Page table Page table Page table Level 1 Page table . . . Physical memory Virtual address Physical address 5/15
  • 6. Memory Virtualization • VMM: “Virtualizing virtual memory” • Virtual  Physical  Machine Level 2 Page table Page table Page table Page table Level 1 Page table . . . Machine memory Virtual address Physical to Machine Pseudo physical memory Terminology - Xen Virtual  (Pseudo) Physical  Machine - Others (general) Guest-virtual  Guest-physical  Host-physical [Issue] How to transparently and efficiently manage additional memory translation 6/15
  • 7. Memory Management • Memory sharing • OS • Parent-child copy-on-write sharing • VMM • No semantic of parent-child relationship • Content-based page sharing invented by VMware [OSDI’02] • Memory oversubscription (to be explained later) VM 1 VM 2 Machine Memory [Issue] How to efficiently use limited memory by avoiding redundant and idle memory 7/15
  • 8. I/O Virtualization • Two ways of I/O virtualization • I/O virtualization in VMM • Rewritten Device drivers in VMM • + High performance • - High engineering cost • - Low fault tolerance (driver bugs) • Hosted I/O virtualization • Existing device drivers in a host OS • + Low engineering cost • + High fault tolerance • - Performance overheads VMM Guest VM Block device driver Network device driver HW Block device Network device Guest VM VMM Privileged VM or Host OS Block device driver HW Block device Block device Guest VMNetwork device driver Guest VM Most VMMs (except VMware ESX Server) adopt hosted I/O virtualization 8/15
  • 9. Block I/O Virtualization • Block I/O virtualization HDD or SSD VM VM Privileged VM or Host OS HDD or SSD OS VMM 9/15
  • 10. Network I/O Virtualization • OS: network I/O Physical machine Switch 10/15
  • 11. Network I/O Virtualization • VMM: Virtualizing network devices VM VMPrivileged VM or Host OS Virtual switch [Issue] How to achieve near-native I/O performance? 11/15
  • 12. OS over VMM • Nested resource virtualization • Complicating efficient resource management • “Commodity OSes have been designed and optimized assuming that HW is dedicated” • Semantic gap PCPU VMM scheduler PCPU VCPU VCPU OS scheduler VCPU OS scheduler VMM VM VM VM VCPU VCPU OS scheduler Task Task Task Task Task TaskTask Task I believe my all CPUs are always online! Sorry, your CPUs are virtualized & I don’t know what kinds of tasks are running on your VCPUs Another level of indirection invalidates sophisticated OS-level optimizations Semantic gap for CPU resources 12/15
  • 13. Nested Virtualization • IBM’s Turtles project [OSDI’10] • Nesting is being continued… • Nesting is being needed… • Cloud of cloud • Gang migration • Hypervisor development Guest VMM Guest VM Host VMM HW Guest VMM Guest VM Guest VM Guest VM Microkernels Meet Recursive Virtual Machines [OSDI’96] 13/15
  • 14. Nested Virtualization is Not New • Theoretical analysis • [IEEE Computer’74], [Commun. ACM’74], [SIGOPS rev’75] • Hardware architecture • [ACM’75] • Nested virtualization on IBM z/VM • [IBM system journal’91] • Microkernel-based nested virtualization • [OSDI’96] • Nested virtualization on KVM with AMD • [Linux Plumbers Conference’09] • Nested virtualization on Xen • [Xen summit’09] • Blue Pill • [Blackhat’09] 14/15
  • 15. Summary • VMM is another OS • But, giving machine abstraction • Nested resource virtualization complicates computer systems • OS and apps should consider that underlying HW is not real! • ASPLOS RESoLVE workshop • Runtime Environments/Systems, Layering, and Virtualized Environments (RESoLVE) Workshop 15/15