virtualization - comp 252 - lecture 5syllabus.cs.manchester.ac.uk/.../virtualization01.pdf · xen...

Post on 12-Jul-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

VirtualizationCOMP 252 - Lecture 5

Antoniu Pop

antoniu.pop@manchester.ac.uk

12 February 2019

Antoniu Pop – Virtualization 1 / 12

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Types of Virtualization

Multiplexing Abstraction

Translation

Virtual Memory

StorageVirtualization

NetworkVirtualization

JVM

WINE

Pin

Valgrind

Rosetta

Antoniu Pop – Virtualization 11 / 12

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

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

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

top related