virtualisation - openlab-mu-internal.web.cern.ch · benefits of hw virtualisation general...

22
Virtualisation Virtualisation Havard Bjerke CERN openlab

Upload: others

Post on 26-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

VirtualisationVirtualisation

Havard Bjerke

CERN openlab

Page 2: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

● Virtual machines● Benefits of virtualisation● Computer architecture

– Memory management– Privilege separation– Interrupts

● Virtualisation● Para-virtualisation

OverviewOverview

Page 3: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Virtual MachinesVirtual Machines

● Software level– Java– Software

compatibility● Hardware level

– Ex: VMWare– Multiple OS

instances

● Encapsulation● Isolation

Page 4: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Abstraction vs VirtualisationAbstraction vs Virtualisation

● Abstraction– TCP/IP stack– Replaceable layers– Friction between

layers

TCP

IPv4

LAN

● Virtualisation– Virtual Private

Networking (VPN)

TCP

IPv4

VPN

ADSL

Page 5: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Abstraction vs VirtualisationAbstraction vs Virtualisation

● Computer abstraction layers

● Computer virtualisation

TCP

IP

Ethernet

User apps

OS

Hardware

User apps

OS

Virtual hardware

Hardware

Page 6: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Benefits of HW virtualisationBenefits of HW virtualisation

● General application:– Server consolidation

● HPC specific:– Software flexibility

● Let each user manage their own OS● And satisfy their own software dependencies

– Utilisation of SMP and multi-core resources.– Secure isolation between users– Migration between nodes– Checkpointing– Utilisation of public computing resources

Page 7: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Computer architecture

Page 8: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Computer architectureComputer architecture

● X86 – 80386, Pentium, Xeon● X86_64 – AMD64, EM64T● IA-64 – Itanium (IPF)

Page 9: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Page

Pagetable

Virtual memoryVirtual memory

Directory index

Globaldirectory

Globaldirectorypointer

0n

+

+

+

Table index Offset

Physicalmemory

Virtual address

Page 10: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Translation Lookaside BufferTranslation Lookaside Buffer

OffsetVirtual page number

Virtual page number

OffsetPhysical page number

Physical page number

VRN

RID

RID

Region registers

Page 11: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Protection ringsProtection rings

● Protect kernel from faulty or malicious code

● Protection of– Privileged state– Privileged

instructions– Privileged pages or

segments

KernelKernelKernelKernel

User

Page 12: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Kernel entryKernel entry

● From ring 3 to ring 0 – From User space to Kernel space

● System calls● Interrupt Service Routines● Device access

Page 13: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Interrupts and exceptionsInterrupts and exceptions

● Kernel entry– Exceptions

● General protection fault● Segmentation fault● Page fault● Divide-by-zero

– External interrupts● Keyboard● DMA finished● Packet on network● Timer

Page 14: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Interrupts and exceptionsInterrupts and exceptions

Interruption vectortable

Interrupt vector

External interrupt

CPUPIC

I/Odevice

InterruptServiceRoutine

Page 15: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

ProcessesProcesses

● Multitasking

Process A Switch

Timerinterrupt

Process BSwitch

Timerinterrupt

Process A

Page 16: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Hardware Virtualization

Page 17: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

VirtualisationVirtualisation

● Interpretation● Binary patching

or translation– Privileged

operations– Privilege-

sensitive operations

Physical hardware

Host OS kernel

VMM

User apps

Guest OS Guest OS

Ring 0

Ring 3User apps

User apps

Page 18: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Privileged operationsPrivileged operations

● The guest OS must think that it is privileged

Host OS

CPU

Privop

Ring 0

Ring > 0

Virtual CPU

CPU

Privop

Exception

Guest OS

Host OS

CPU

Privop

Exception

User app

Notification

Page 19: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Privilege-sensitive operationsPrivilege-sensitive operations

● Operations that are not protected, but– Access privileged state or– Whose results depend on CPL

Host OS

CPU

Privsens

Ring 0

Ring > 0

VMM

CPU

Privsens

Guest OS

Page 20: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Para-virtualisationPara-virtualisation

● Replace sensitive operations with calls to the Hypervisor - hypercalls

Physical hardware

Hypervisor

Guest OS Guest OSRing 1

Ring 0

User appsRing 3

User apps

Ring 0

Ring > 0

Hypervisor

Virtual CPU

Hypercall

Guest OS

Page 21: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Xen memory managementXen memory management

● X86– Page table updates through hypercalls– Direct mapping between physical and

virtual memory space● IA-64

– Logically separated address spaces using RIDs

– Physical memory space has its own RID

Page 22: Virtualisation - openlab-mu-internal.web.cern.ch · Benefits of HW virtualisation General application: – Server consolidation HPC specific: – Software flexibility Let each user

Vanderpool (VT)Vanderpool (VT)

● VTx, VTi

0 Guest kernel

1

2

3 User apps

0 Hypervisor

1

2

3 Control

VMX Nonroot VMX Root

VMEXIT

VMENTRY