Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel®...

42
Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    226
  • download

    6

Transcript of Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel®...

Page 1: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Virtualization Technology

IntroductionArgentina Software Pathfinding and

Innovation

Intel® Corporation28 July 2008

Page 2: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Why is Intel giving this course?

Argentina Software Development Center in Córdoba- Strong investment in developing areas of expertise

Software Pathfinding and Innovation- Seeking the next technological move

Strategic Area in Virtualization Technology- Evolving expertise in Virtualization Technology- Augment critical mass in this area

Introduction

Page 3: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

What are your expectations from this course?- Learn about virtualization technology- Academia research

- Research in grids, cloud…

- Planning in participate in an Open Source community from virtualization

- Business- Using virtualization in my datacenter- Planning to use it

- ?

Introduction

Page 4: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

How is this course?

Goal:- Foster virtualization technology, its usages, its capabilities and explore possible research and study projects

Audience:- Beginners: provide a guide to start working/researching in

Virtualization Technologies- Advanced: solidify concepts and go deep in VMM cases and

Hardware assisted VirtualizationCourse Structure:- Virtualization Technology Introduction- Usages of Virtualization- VMMs / Hypervisors- Hardware Assisted Virtualization- Virtualization Technology Trends

Introduction

Page 5: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Agenda• Introduction• Virtualization yesterday – virtualization today• Challenges for x86 virtualization• Approaches to server virtualization

– Host-based server virtualization• Full Virtualization• Para-virtualization• Hardware-assisted Virtualization

• Approaches to desktop virtualization

Page 6: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

What is virtualization?

Operating System

App. A App. B App. C App. D

Hardware

Virtualization Layer

VirtualContainer

App. A App. B

Hardware

VirtualContainer

App. CApp. D

‘Nonvirtualized’ system

A single OS controls all hardware platform

resources

Virtualized systemIt makes it possible to run

multiple Virtual Containers on a single physical platform

Virtualization is a broad term (virtual memory, storage, network, etc)Focus for this course: platform virtualizationVirtualization basically allows one computer to do the job of multiple

computers, by sharing the resources of a single hardware across multiple environments

Introduction

Page 7: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Virtualization Requirements

Popek and Goldberg describe in their “Formal Requirements for Virtualizable Third Generation Architectures – 1974”:

• A Model of Third Generation Machines– Machine states: S = (E, M, P, R)– Instructions classification

• Privileged instructions• Control sensitive instructions• Behavior sensitive instructions

• Properties for a Virtual Machine Monitor– Equivalence– Resource control– Efficiency

• Formal analysis described through 2 theorems

Introduction

Page 8: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

The VMM and the VMIntroduction

EquivalenceResource Control

Efficiency

Privileged instructions

Control sensitiveBehavior sensitive

• For any conventional third generation computer, a VMM may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions

• A conventional third generation computer is recursively virtualizable if it is virtualizable and a VMM without any timing dependencies can be constructed for it.

Page 9: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

The evolution of virtualization

Page 10: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

How did it start?

• Server virtualization has existed for several decades– IBM pioneered more than 30 years ago

with the capability to “multitask”

• The inception was in specialized, proprietary, high-end server and mainframe systems

• By 1980/90 servers virtualization adoption initiated a reduction– Inexpensive x86 hardware platforms– Windows/Linux adopted as server OSs

Evolution of Virtualization

Page 11: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Computing Infrastructure – 2000

• 1 machine 1 OS several applications• Applications can affect each other• Big disadvantage: machine utilization is very

low, most of the times it is below than 25%

X86Windows

XP

X86Windows

2003

X86Suse

X86Red Hat

12% Hardware Utilization

15% Hardware Utilization

18% Hardware Utilization

10% Hardware Utilization

App App App App App App App App

Evolution of Virtualization

Page 12: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Virtualization again…

x86 server deployments introduced new IT challenges:

• Low server infrastructure utilization (10-18%)• Increasing physical infrastructure costs

(facilities, power, cooling, etc)• Increasing IT management costs (configuration,

deployment, updates, etc)• Insufficient failover and disaster protection

The solution for all these problems was to virtualize x86 platforms

Evolution of Virtualization

Page 13: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Computing Infrastructure - Virtualization• It matches the benefits of high hardware utilization with

running several operating systems (applications) in separated virtualized environments– Each application runs in its own operating system– Each operating system does not know it is sharing the

underlying hardware with others

X86 Multi-Core, Multi Processor

70% Hardware Utilization

X86Windows

XP

App. A

X86Windows

2003

App. B

X86SuseLinux

App. C

X86Red Hat

Linux

App. D

Evolution of Virtualization

Page 14: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Challenges for x86 virtualization

Page 15: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

x86 virtualization challenge

• The IA-32 instruction set contains 17 sensitive, unprivileged instructions:– Sensitive register instructions: read or change sensitive

registers and/or memory locations such as a clock register or interrupt registers:

• SGDT, SIDT, SLDT, SMSW, PUSHF, POPF – Protection system instructions: reference the storage

protection system, memory or address relocation system:

• LAR, LSL, VERR, VERW, POP, PUSH, CALL, JMP, INT n, RET, STR, MOV

• However, x86 is a really big candidate to be virtualized, mainly for business facts

Challenges of x86 virtualization

Page 16: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

x86 modes: Privilege Levels

• x86 processor’s segment-protection mechanism recognizes 4 privilege levels (0-high, 3-low level) - unused

• Recognizes the following three types of privilege levels:– Current privilege level (CPL)– Descriptor privilege level (DPL)– Requested privilege level (RPL)

Challenges of x86 virtualization

Page 17: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

x86 virtualization challenge example: reading Segment Descriptors

– x86 Code Segment and Stack Segment registers:• The upper 14 bits of these registers contain the segment

index and descriptor table selector. • Lower 2 bits of CS and SS registers contains the CPL (Current

Privilege Level).– Instructions that explicitly or implicitly access the CS/SS selector

(including CALL, MOV from SS and POP SS) do not trap when executed from user mode.

Executing POP SS the guest OS will be aware that it is not running on a privileged level when in ring 1

The Equivalence Property could be violated The Resource Control property is violated

Challenges of x86 virtualization

Page 18: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

X86 virtualization challenge example: reading Segment Descriptors (segment details)

Challenges of x86 virtualization

Page 19: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

x86 virtualization challenge example (2)

• GDT, LDT, IDT and TR:– For correct virtualization, these tables should be “shadowing”

(the TR, GDTR, IDTR registers should point to VMM’s shadow tables)

– Non privileged code can read from these registers (that means that reading these registers do not trap)

The Equivalence Property could be violated

Challenges of x86 virtualization

• Table 2-2. Summary of System Instructions - Software Developer’s Manual Vol 3A

Page 20: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Approaches to server virtualization

Page 21: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Evolution of Software solutions

• 1st Generation: Full virtualization (Binary rewriting)– Software Based– VMware and

Microsoft

Time

• 3rd Generation: Silicon-based (Hardware-assisted) virtualization– Unmodified guest– VMware and Xen on

virtualization-aware hardware platforms

• 2nd Generation: Paravirtualization– Cooperative

virtualization– Modified guest– VMware, Xen

Dynamic Translation

VirtualMachine

Hardware

Operating System

VirtualMachine…

Hypervisor

Hardware

VMVM

Hardware

VirtualMachine

VirtualMachine

Virtualization Logic

Hypervisor

Server virtualization approaches

Page 22: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Full Virtualization

• 1st Generation offering of x86/x64 server virtualization

• Dynamic binary translation– The emulation layer talks to an

operating system which talks to the computer hardware

– The guest OS doesn't see that it is used in an emulated environment

• All of the hardware is emulated including the CPU

• Two popular open source emulators are QEMU and Bochs

EmulatedHardware

Virtu

al M

ach

ine

Gu

est O

SDevice Drivers

Ap

p.

A

Ap

p.

B

Ap

p.

C

Hardware

Host OS

Device Drivers

Server virtualization approaches

Page 23: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Full Virtualization - Advantages

• The emulation layer – Isolates VMs from the host OS and from each other– Controls individual VM access to system resources,

preventing an unstable VM from impacting system performance

• Total VM portability– By emulating a consistent set of system hardware,

VMs have the ability to transparently move between hosts with dissimilar hardware without any problems

• It is possible to run an operating system that was developed for another architecture on your own architecture

• A VM running on a Dell server can be relocated to a Hewlett-Packard server

Server virtualization approaches

Page 24: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Full Virtualization - Drawbacks

• Hardware emulation comes with a performance price • In traditional x86 architectures, OS kernels expect to

run privileged code in Ring 0– However, because Ring 0 is controlled by the host OS, VMs are

forced to execute at Ring 1/3, which requires the VMM to trap and emulate instructions

• Due to these performance limitations, paravirtualization and hardware-assisted virtualization were developed

Application Ring 3

OperatingSystem

Ring 0

Traditional x86 Architecture

Application Ring 3

Guest OS Ring 1 / 3

VirtualMachineMonitor

Ring 0

Full Virtualization

Server virtualization approaches

Page 25: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Para-Virtualization

• The Guest OS is modified and thus run kernel-level operations at Ring 1 (or 3)– the guest is fully aware of how to

process privileged instructions– thus, privileged instruction translation

by the VMM is no longer necessary– The guest operating system uses a

specialized API to talk to the VMM and, in this way, execute the privileged instructions

• The VMM is responsible for handling the virtualization requests and putting them to the hardware

Virtual Machine Monitor

Virtu

al M

ach

ine

Gu

est O

S

Device Drivers

Ap

p.

A

Ap

p.

B

Ap

p.

C

Specialized API

Hardware

Hypervisor

Device Drivers

Server virtualization approaches

Page 26: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Para-Virtualization

• Today, VM guest operating systems are paravirtualized using two different approaches:– Recompiling the OS kernel

• Paravirtualization drivers and APIs must reside in the guest operating system kernel

• You do need a modified operating system that includes this specific API, requiring a compiling operating systems to be virtualization aware

– Some vendors (such as Novell) have embraced paravirtualization and have provided paravirtualized OS builds, while other vendors (such as Microsoft) have not

– Installing paravirtualized drivers• In some operating systems it is not possible to use complete

paravirtualization, as it requires a specialized version of the operating system

• To ensure good performance in such environments, paravirtualization can be applied for individual devices

• For example, the instructions generated by network boards or graphical interface cards can be modified before they leave the virtualized machine by using paravirtualized drivers

Server virtualization approaches

Page 27: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Hardware-assisted virtualization

• The guest OS runs at ring 0• The VMM uses processor

extensions (such as Intel®-VT or AMD-V) to intercept and emulate privileged operations in the guest

• Hardware-assisted virtualization removes many of the problems that make writing a VMM a challenge

• The VMM runs in a more privileged ring than 0, a virtual -1 ring is created

Virtual Machine Monitor

Virtu

al M

ach

ine

Gu

est O

SDevice Drivers

Ap

p.

A

Ap

p.

B

Ap

p.

C

Specialized API

Hardware

Hypervisor

Device Drivers

Server virtualization approaches

Page 28: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Hardware-assisted virtualization

• The hypervisor/VMM runs at Ring -1 – super-privileged mode

VMX non-root VMX root

Server virtualization approaches

Page 29: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Hardware-assisted virtualization

• Pros– It allows to run unmodified Oss (so legacy OS can be

run without problems)

• Cons– Speed and Flexibility

• An unmodified OS does not know it is running in a virtualized environment and so, it can’t take advantage of any of the virtualization features

– It can be resolved using paravirtualization partially

Server virtualization approaches

Page 30: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Approaches to desktop virtualization

Page 31: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Extending the concept of virtualization for desktops• Servers

– Hosted virtualization - mainframes– VMMs / Bare Metal hypervisors– OS virtualization

• Desktops– Desktop virtualization– Server-side workspace virtualization– Client-side workspace virtualization

• Application virtualization– Application isolation– Application streaming

Client virtualization approaches

Page 32: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Desktop Virtualization

• A VMM or hypervisor running on a physical desktop

• Examples include:– Microsoft Virtual PC– Parallels Desktop for Mac– VMware Fusion– WINE.

• Use cases include:– Emulating Windows games on the

Macintosh,– Testing code inside VMs– Underpinning client-side workspace

virtualization

• Desktop hypervisors and VMMs don’t necessarily scale to meet enterprise needs; that’s why most of the providers have server products as well

Desktop virtualization approaches

Page 33: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Server-side workspace virtualization• A workspace (desktop operating system with custom

configuration) running inside a virtual machine hosted on a server

• Examples include:– VMware VDI

• Use cases include:– Centrally managed desktop infrastructure– Security enforcement and lockdown

• A pool of virtual workspaces resides on the server. Remote users log into them from any networked device via Microsoft’s Remote Desktop Protocol (RDP)

• Users can customize their virtual workspace to their heart’s content, while operators enjoy the relatively straightforward task of managing desktop configuration on one central server

• Connection brokers arbitrate between a pool of virtual workspaces residing on a central server

• The biggest problem with server-hosted workspace virtualization is that it’s a bandwidth hog. Performance is constrained by the performance of your network

Desktop virtualization approaches

Page 34: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Client-side workspace virtualization

• A workspace (desktop operating system with custom configuration) running inside a virtual machine hosted on a desktop

• Examples include:– Kidaro Managed Workspace– Sentillion vThere

• Use cases include:– Secure remote access– Protection of sensitive data for defense, healthcare

industries– Personal computer running corporate desktops remotely

• A virtual workspace is served out to execute on the client device

• Centralizes management • Its big advantage over other models is the security and

isolation of data and logic on the client• It’s the right model for organizations that need to ensure

the security of environments served to remote users– Defense contractors – Healthcare providers

Desktop virtualization approaches

Page 35: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Application Isolation

• An application packaged with its own virtual copies of the operating system resources it might otherwise need to change (registries, file systems, libraries)

• Examples include:– Thinstall– Trigence

• Use cases include:– Preventing DLL hell– Sandboxing desktop applications for secure execution

• Applications use a virtual registry (Thinstall) and file system embedded in the package with the application

– These extra tools insulate applications from changes to and incompatibility with the underlying desktop operating system

• Mostly in Windows, although Linux and Solaris as well• Drawback: increased footprint of the application

package and the correspondingly greater memory requirements

Desktop virtualization approaches

Page 36: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Application Streaming

• Just-in-time delivery of a server-hosted application to the desktop, such that the desktop application can execute before the entire file has been downloaded from the server

• Examples include:– AppStream– Microsoft SoftGrid

• Use cases include:– Managing the number of instances of running applications, in

the case of license constraints

• Superset of Application Isolation, including a delivery method and an execution mode

– You stream the application code to the desktop, where it runs in isolation

• No full PC environment, just the application, so you have to provide a workspace

– Requires to maintain the client-side operating system and ensuring compatibility. This may be why application streaming, which has been around for a long time (AppStream has already raised over $50m in venture capital), has not really lived up to its early hype.

Desktop virtualization approaches

Page 37: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Periodic table of Virtualization

Extracted from Virtualization II: Desktops and applications are next – the 451 group

Page 38: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Day wrap-up• Requirements for HW Architecture Virtualization – Popek and

Goldberg• Evolution for virtualization: from mainframes to x86

architecture due to business reasons• Challenges around x86 virtualization -> ISA doesn’t comply

with P&G• Server virtualization approaches

– Full Virtualization– Paravirtualization– Hardware Assisted Virtualization

• Client virtualization approaches– Desktop virtualization– Server-side workspace virtualization– Client-side workspace virtualization

• Application virtualization– Application isolation– Application streaming

Page 39: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Questions?

Page 40: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

Backup

Page 41: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

References• http://en.wikipedia.org/wiki/Platform_virtualization• http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requi

rements• http://www.vmware.com/virtualization/• http://www.vmware.com/overview/history.html• Formal Requirements for Virtualizable Third Generation Architectures

– 1974 - Popek (UCLA) and Goldberg (Honeywell Information Systems and Harvard University)

• Virtualization II: Desktops and applications are next – the 451 group

Page 42: Virtualization Technology Introduction Argentina Software Pathfinding and Innovation Intel® Corporation 28 July 2008.

ContactsArgentina Software Pathfinding and Innovation team from Virtualization

Technology:• Guillermo Colsani: [email protected]• Gisela Giusti: [email protected]• Pablo Pássera: [email protected]• Duilio Protti: [email protected]