Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen...

41
Virtualization COMP - Lecture Antoniu Pop [email protected] February Antoniu Pop – Virtualization /

Transcript of Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen...

Page 1: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

VirtualizationCOMP 252 - Lecture 5

Antoniu Pop

[email protected]

12 February 2019

Antoniu Pop – Virtualization 1 / 12

Page 2: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Learning Objectives

I To describe the aims of virtualization– in the context of similar aims in other software components

I To distinguish between system and process virtualization

I To place system and process virtualization in the context ofother virtualization technologies

I To understand how system, process and other virtualizationtechnologies are likely to develop

Antoniu Pop – Virtualization 2 / 12

Page 3: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Learning Objectives

I To describe the aims of virtualization– in the context of similar aims in other software components

I To distinguish between system and process virtualization

I To place system and process virtualization in the context ofother virtualization technologies

I To understand how system, process and other virtualizationtechnologies are likely to develop

Antoniu Pop – Virtualization 2 / 12

Page 4: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Learning Objectives

I To describe the aims of virtualization– in the context of similar aims in other software components

I To distinguish between system and process virtualization

I To place system and process virtualization in the context ofother virtualization technologies

I To understand how system, process and other virtualizationtechnologies are likely to develop

Antoniu Pop – Virtualization 2 / 12

Page 5: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Learning Objectives

I To describe the aims of virtualization– in the context of similar aims in other software components

I To distinguish between system and process virtualization

I To place system and process virtualization in the context ofother virtualization technologies

I To understand how system, process and other virtualizationtechnologies are likely to develop

Antoniu Pop – Virtualization 2 / 12

Page 6: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Learning Objectives

I To describe the aims of virtualization– in the context of similar aims in other software components

I To distinguish between system and process virtualization

I To place system and process virtualization in the context ofother virtualization technologies

I To understand how system, process and other virtualizationtechnologies are likely to develop

Antoniu Pop – Virtualization 2 / 12

Page 7: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Additional (optional) Reading

All available on the course materials webpage:http://syllabus.cs.manchester.ac.uk/ugt/2017/COMP25212/

I Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A.,Neugebauer, R., Pratt, I. and Warfield, A., 2003, October. Xen andthe art of virtualization. In ACM SIGOPS operating systemsreview (Vol. 37, No. 5, pp. 164-177). ACM.

I Rosenblum, M. and Garfinkel, T., 2005. Virtual machinemonitors: Current technology and future trends. Computer,38(5), pp.39-47.

I Adams, K. and Agesen, O., 2006. A comparison of software andhardware techniques for x86 virtualization. ACM SIGARCHComputer Architecture News, 34(5), pp.2-13.

Regarding memory subsystems:I Drepper, U., 2007. What every programmer should know about

memory. Red Hat, Inc, 11, p.2007.

Antoniu Pop – Virtualization 3 / 12

Page 8: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Additional (optional) Reading

All available on the course materials webpage:http://syllabus.cs.manchester.ac.uk/ugt/2017/COMP25212/

I Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A.,Neugebauer, R., Pratt, I. and Warfield, A., 2003, October. Xen andthe art of virtualization. In ACM SIGOPS operating systemsreview (Vol. 37, No. 5, pp. 164-177). ACM.

I Rosenblum, M. and Garfinkel, T., 2005. Virtual machinemonitors: Current technology and future trends. Computer,38(5), pp.39-47.

I Adams, K. and Agesen, O., 2006. A comparison of software andhardware techniques for x86 virtualization. ACM SIGARCHComputer Architecture News, 34(5), pp.2-13.

Regarding memory subsystems:I Drepper, U., 2007. What every programmer should know about

memory. Red Hat, Inc, 11, p.2007.Antoniu Pop – Virtualization 3 / 12

Page 9: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies

I CPU

I Virtual Memory

I Storage Virtualization

I Virtual Machines (e.g., Java)

I System Virtualization (e.g., VMware, VirtualBox, XEN)

Antoniu Pop – Virtualization 4 / 12

Page 10: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies

I CPU

I Virtual Memory

I Storage Virtualization

I Virtual Machines (e.g., Java)

I System Virtualization (e.g., VMware, VirtualBox, XEN)

Antoniu Pop – Virtualization 4 / 12

Page 11: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies

I CPU

I Virtual Memory

I Storage Virtualization

I Virtual Machines (e.g., Java)

I System Virtualization (e.g., VMware, VirtualBox, XEN)

Antoniu Pop – Virtualization 4 / 12

Page 12: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies

I CPU

I Virtual Memory

I Storage Virtualization

I Virtual Machines (e.g., Java)

I System Virtualization (e.g., VMware, VirtualBox, XEN)

Antoniu Pop – Virtualization 4 / 12

Page 13: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies

I CPU

I Virtual Memory

I Storage Virtualization

I Virtual Machines (e.g., Java)

I System Virtualization (e.g., VMware, VirtualBox, XEN)

Antoniu Pop – Virtualization 4 / 12

Page 14: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies – Objectives

Isolate details of hardware from the software that uses it

I VM: amount of physical memory and layoutI Storage: position, size, and location of virtual diskI JVM: instruction set encoding, registers, etcI System: I/O devices, memory, #CPUs

Sounds familiar?

Antoniu Pop – Virtualization 5 / 12

Page 15: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies – Objectives

Isolate details of hardware from the software that uses it

I VM: amount of physical memory and layout

I Storage: position, size, and location of virtual diskI JVM: instruction set encoding, registers, etcI System: I/O devices, memory, #CPUs

Sounds familiar?

Antoniu Pop – Virtualization 5 / 12

Page 16: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies – Objectives

Isolate details of hardware from the software that uses it

I VM: amount of physical memory and layoutI Storage: position, size, and location of virtual disk

I JVM: instruction set encoding, registers, etcI System: I/O devices, memory, #CPUs

Sounds familiar?

Antoniu Pop – Virtualization 5 / 12

Page 17: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies – Objectives

Isolate details of hardware from the software that uses it

I VM: amount of physical memory and layoutI Storage: position, size, and location of virtual diskI JVM: instruction set encoding, registers, etc

I System: I/O devices, memory, #CPUs

Sounds familiar?

Antoniu Pop – Virtualization 5 / 12

Page 18: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies – Objectives

Isolate details of hardware from the software that uses it

I VM: amount of physical memory and layoutI Storage: position, size, and location of virtual diskI JVM: instruction set encoding, registers, etcI System: I/O devices, memory, #CPUs

Sounds familiar?

Antoniu Pop – Virtualization 5 / 12

Page 19: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Virtualization Technologies – Objectives

Isolate details of hardware from the software that uses it

I VM: amount of physical memory and layoutI Storage: position, size, and location of virtual diskI JVM: instruction set encoding, registers, etcI System: I/O devices, memory, #CPUs

Sounds familiar?

Antoniu Pop – Virtualization 5 / 12

Page 20: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Operating System and Virtualization

I Operating System isolates Application from Hardware

I Operating System still closely integrated with hardware:I device drivers, interrupts, #CPUs, disk layout, etc

I Installing OS creates stateI Installing an application within OS creates stateI Moving an installed Application from one system to another is

complexI Moving an installed OS is very complex

I Moving a running application is almost impossible

Antoniu Pop – Virtualization 6 / 12

Page 21: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Operating System and Virtualization

I Operating System isolates Application from HardwareI Operating System still closely integrated with hardware:

I device drivers, interrupts, #CPUs, disk layout, etc

I Installing OS creates stateI Installing an application within OS creates stateI Moving an installed Application from one system to another is

complexI Moving an installed OS is very complex

I Moving a running application is almost impossible

Antoniu Pop – Virtualization 6 / 12

Page 22: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Operating System and Virtualization

I Operating System isolates Application from HardwareI Operating System still closely integrated with hardware:

I device drivers, interrupts, #CPUs, disk layout, etcI Installing OS creates state

I Installing an application within OS creates stateI Moving an installed Application from one system to another is

complexI Moving an installed OS is very complex

I Moving a running application is almost impossible

Antoniu Pop – Virtualization 6 / 12

Page 23: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Operating System and Virtualization

I Operating System isolates Application from HardwareI Operating System still closely integrated with hardware:

I device drivers, interrupts, #CPUs, disk layout, etcI Installing OS creates stateI Installing an application within OS creates state

I Moving an installed Application from one system to another iscomplex

I Moving an installed OS is very complex

I Moving a running application is almost impossible

Antoniu Pop – Virtualization 6 / 12

Page 24: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Operating System and Virtualization

I Operating System isolates Application from HardwareI Operating System still closely integrated with hardware:

I device drivers, interrupts, #CPUs, disk layout, etcI Installing OS creates stateI Installing an application within OS creates stateI Moving an installed Application from one system to another is

complex

I Moving an installed OS is very complex

I Moving a running application is almost impossible

Antoniu Pop – Virtualization 6 / 12

Page 25: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Operating System and Virtualization

I Operating System isolates Application from HardwareI Operating System still closely integrated with hardware:

I device drivers, interrupts, #CPUs, disk layout, etcI Installing OS creates stateI Installing an application within OS creates stateI Moving an installed Application from one system to another is

complexI Moving an installed OS is very complex

I Moving a running application is almost impossible

Antoniu Pop – Virtualization 6 / 12

Page 26: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Operating System and Virtualization

I Operating System isolates Application from HardwareI Operating System still closely integrated with hardware:

I device drivers, interrupts, #CPUs, disk layout, etcI Installing OS creates stateI Installing an application within OS creates stateI Moving an installed Application from one system to another is

complexI Moving an installed OS is very complex

I Moving a running application is almost impossible

Antoniu Pop – Virtualization 6 / 12

Page 27: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Process vs. System Virtualization

I Process Virtualization:I Run a process under the

control of a layer of softwareI e.g. JVM, Rosetta, Pin

I System Virtualization:I Run an operating system

under the control of a layer ofsoftware

I e.g. VMware, XEN, KVM, etc

Applications Applications

Guest AOperating System

Virtual Machine Monitor (VMM) / Hypervisor

Host Hardware

Guest BOperating System

Application A Application B

Host Operating System

Virtual Machine

Host Hardware

Virtual Machine

Antoniu Pop – Virtualization 7 / 12

Page 28: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Process vs. System Virtualization

I Process Virtualization:I Run a process under the

control of a layer of softwareI e.g. JVM, Rosetta, Pin

I System Virtualization:I Run an operating system

under the control of a layer ofsoftware

I e.g. VMware, XEN, KVM, etc

Applications Applications

Guest AOperating System

Virtual Machine Monitor (VMM) / Hypervisor

Host Hardware

Guest BOperating System

Application A Application B

Host Operating System

Virtual Machine

Host Hardware

Virtual Machine

Antoniu Pop – Virtualization 7 / 12

Page 29: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Taxonomy of Virtualization

Virtualization can:I Translate between equivalent facilities

I Instruction Set Architecture? Library? System Calls?

I Change level of abstraction

I Garbage Collection? Virtual functions?I Performance tools? Debugging tools?

I Multiplex/demultiplex resources

I Hide their physical number or quantity

Antoniu Pop – Virtualization 8 / 12

Page 30: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Taxonomy of Virtualization

Virtualization can:I Translate between equivalent facilities

I Instruction Set Architecture? Library? System Calls?

I Change level of abstraction

I Garbage Collection? Virtual functions?I Performance tools? Debugging tools?

I Multiplex/demultiplex resources

I Hide their physical number or quantity

Antoniu Pop – Virtualization 8 / 12

Page 31: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Taxonomy of Virtualization

Virtualization can:I Translate between equivalent facilities

I Instruction Set Architecture? Library? System Calls?

I Change level of abstractionI Garbage Collection? Virtual functions?

I Performance tools? Debugging tools?

I Multiplex/demultiplex resources

I Hide their physical number or quantity

Antoniu Pop – Virtualization 8 / 12

Page 32: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Taxonomy of Virtualization

Virtualization can:I Translate between equivalent facilities

I Instruction Set Architecture? Library? System Calls?

I Change level of abstractionI Garbage Collection? Virtual functions?I Performance tools? Debugging tools?

I Multiplex/demultiplex resources

I Hide their physical number or quantity

Antoniu Pop – Virtualization 8 / 12

Page 33: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Taxonomy of Virtualization

Virtualization can:I Translate between equivalent facilities

I Instruction Set Architecture? Library? System Calls?

I Change level of abstractionI Garbage Collection? Virtual functions?I Performance tools? Debugging tools?

I Multiplex/demultiplex resourcesI Hide their physical number or quantity

Antoniu Pop – Virtualization 8 / 12

Page 34: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Process Virtualization

I JVMI Interprets, then compiles “byte code” filesI “Write once, run anywhere”I extensive libraries – extend OS API as Java standard

I RosettaI Translates PowerPC binaries “on-the-fly” to x86I Maps PPC system calls to x86 (different calling conventions)I Calls some native x86 procedures from PPC code

Antoniu Pop – Virtualization 9 / 12

Page 35: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Process Virtualization

I JVMI Interprets, then compiles “byte code” filesI “Write once, run anywhere”I extensive libraries – extend OS API as Java standard

I RosettaI Translates PowerPC binaries “on-the-fly” to x86I Maps PPC system calls to x86 (different calling conventions)I Calls some native x86 procedures from PPC code

Antoniu Pop – Virtualization 9 / 12

Page 36: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Process Virtualization

I pinI “annotate” Intel binary (www.pintool.org)I run a binary and collect (user-specified data)

I valgrindI “sandbox” Intel (++) binariesI check memory references and dynamic allocationI and lots of other analyses

Antoniu Pop – Virtualization 10 / 12

Page 37: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Process Virtualization

I pinI “annotate” Intel binary (www.pintool.org)I run a binary and collect (user-specified data)

I valgrindI “sandbox” Intel (++) binariesI check memory references and dynamic allocationI and lots of other analyses

Antoniu Pop – Virtualization 10 / 12

Page 38: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Types of Virtualization

Multiplexing Abstraction

Translation

Virtual Memory

StorageVirtualization

NetworkVirtualization

JVM

WINE

Pin

Valgrind

Rosetta

Antoniu Pop – Virtualization 11 / 12

Page 39: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Adoption Model for Virtualization

I Introduce as Transparent LayerI Discover performance problems

I Provide Management APII Initial focus: performance and manageabilityI Secondary focus: integration facilities

I Provide full User-level APII Applications are built or integrated using API

Antoniu Pop – Virtualization 12 / 12

Page 40: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Adoption Model for Virtualization

I Introduce as Transparent LayerI Discover performance problems

I Provide Management APII Initial focus: performance and manageabilityI Secondary focus: integration facilities

I Provide full User-level APII Applications are built or integrated using API

Antoniu Pop – Virtualization 12 / 12

Page 41: Virtualization - COMP 252 - Lecture 5syllabus.cs.manchester.ac.uk/.../Virtualization01.pdf · Xen and the art of virtualization. In ACM SIGOPS operating systems review (Vol. 37, No.

Adoption Model for Virtualization

I Introduce as Transparent LayerI Discover performance problems

I Provide Management APII Initial focus: performance and manageabilityI Secondary focus: integration facilities

I Provide full User-level APII Applications are built or integrated using API

Antoniu Pop – Virtualization 12 / 12