Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding Virtualization: Technologies, Architectures, and Issues, Slides of Compiler Design

An overview of virtualization, its benefits, and the different types and techniques used in virtualization. It covers virtualization layers, hypervisors, virtualization architectures, and virtualization techniques such as full virtualization, para-virtualization, and hardware-assisted virtualization. The document also discusses virtualization issues and the role of virtualization in cloud computing.

Typology: Slides

2022/2023

Uploaded on 12/26/2022

spamerspamer
spamerspamer 🇮🇳

1 document

1 / 49

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
20-09-2021
1
Unit-II
Cloud Computing
Outlook
Virtualization: Issues with
virtualization, virtualization
technologies and architectures,
Internals of virtual machine
monitors/hypervisors,
virtualization of data centers,
and Issues with Multi-tenancy.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31

Partial preview of the text

Download Understanding Virtualization: Technologies, Architectures, and Issues and more Slides Compiler Design in PDF only on Docsity!

Unit-II

Cloud Computing

Outlook

Virtualization: Issues with

virtualization, virtualization

technologies and architectures,

Internals of virtual machine

monitors/hypervisors,

virtualization of data centers,

and Issues with Multi-tenancy.

Why Virtualization?

Recent requirements such as the need to:

 Maximize hardware utilization,  Decrease hardware costs,  Reduce power consumption and  Simplify system management and security

have led to a significant increase in both :

 The deployment of virtualization and  The number of available virtualization solutions

What is Virtualization?

The concept of virtualization, involves the use of a variety of different technologies to allow multiple and potentially varied operating system instances to run concurrently on a single physical computer system, each sharing the physical resources of the host computer system ( such as memory, network connectivity, CPU and storage). Within a virtualized infrastructure, a single physical computer server might, for example, run two instances of Windows Server 2012 and one instance of Linux.

Virtualization Layer

The virtualization layer consists of a hypervisor or

a virtual machine monitor (VMM).

Hypervisor presents a virtual operating platform to

a guest operating system (OS).

Hypervisor Types of Hypervisors Type-1 : Bare-Metal Hypervisor or Native Hypervisor : Type-1 or the native hypervisors run directly on the host hardware and control the hardware and monitor the guest operating systems Type-2 : Hosted Hypervisor : Type 2 hypervisors or hosted hypervisors run on top of a conventional (main/host) operating system and monitor the guest operating systems. Figure-2 : Type-1 {adopted from [1]} Figure-3 : Type-2 {adopted from [1]}

Virtualization Types

Type-2 Type-

Examples:

  1. KVM (Linux)
  2. VMware Workstation
  3. VMware Server
  4. Microsoft Virtual PC
  5. Virtualbox Examples:
    1. Xen Hypervisor
    2. VMware ESX / ESXi
    3. IBM pHype / LPARs
    4. Microsoft Hyper-V
    5. Oracle VM Server for x

Virtual Machine Monitor (VMM)

A Virtual Machine Monitor (VMM) is a software program that:  Enables the creation, management and governance of virtual machines (VM)  Manages the operation of a virtualized environment on top of a physical host machine. VMM is also known as Virtual Machine Manager and Hypervisor. However, the provided architectural

implementation and services differ by vendor product.

Processes are executed in layered “rings”, where

each ring has different access rights to resources.

The central ring has the highest privileges, and

each subsequent layer has decreased access.

 A common implementation of a protection ring for

x86 processors (a common type of CPU) has four

rings, numbered from 0 through to 3 , as described

on the next-slide.

Protection Ring  Only Ring-0 has diRect access tO the memORy and cPU, sO if a PROcess RUnning in the OUteR Ring cRashes, it can be RestaRted withOUt lOsing data OR caUsing an eRROR in the cPU.  tO execUte instRUctiOns that ReqUiRe mORe access tO ResOURces, the PROcess mUst ReqUest the PeRmissiOns fROm the OPeRating system.  the Os can then decide whetheR tO gRant the ReqUest OR deny it. this selectiOn PROcess helPs tO PROtect yOUR system fROm Unwanted OR maliciOUs behaviOR. Ring 0 (most privileged) and 3 (least privileged)

Ring- Ring 0 is accessible to the kernel, which is a central part of most operating systems and can access everything. Code running here is said to be running in kernel mode. Processes running in kernel mode can affect the entire system; if anything fails here, it will probably result in a system shutdown. This ring has direct access to the CPU and the system memory, so any instructions requiring the use of either will be executed here. Ring-1 & 2 Rings-1 and 2 have special privileges that ring 3 (user mode) does not have. Ring-1 is used to interact with and control hardware connected to your computer. Playing a song through speakers or headphones, or displaying video on your monitor, are examples of instructions that would need to run in Ring-1. Ring-2 is used for instructions that need to interact with the system storage, loading or saving files. These sorts

of permissions are called input and output, as they

involve moving data into or out of working memory (RAM). Loading a Word document from storage, for example, would be in Ring-2.

Desktop Virtualization Architecture

cOmPaRisOn Of hyPeRvisOR

aRchitectURes

hOsted aRchitectURe baRe-metal aRchitectURe A hosted architecture installs and runs the virtualization layer as an application on top of an operating system and supports the broadest range of hardware configurations Bare-metal Architecture installs the virtualization layer directly on a clean x86- based system. As it has direct access to the hardware resources rather than going through an operating system, a BARE-METAL hypervisor is more efficient than a hosted architecture and delivers greater scalability, robustness and performance.

“Hosted” Architecture

Hypervisor is installed on the top of Host O/S “Bare-Metal” Hypervisor Architecture

Three alternative techniques available for handling

sensitive and privileged instructions to virtualize

the CPU on the x86 architecture:

Full virtualization using binary translation OS assisted virtualization or para-virtualization Hardware assisted virtualization [1]->Full Virtualization  Guest OS (unmodified) does not know that it is virtualized.  Sensitive OS calls are trapped using binary translation  Hypervisor translates kernel code to replace non- virtualizable instructions with new sequences of instructions that have the intended effect on the virtual hardware.  Meanwhile, user level code is directly executed on the processor for high performance virtualization.  Each virtual machine monitor provides each Virtual Machine with all the services of the physical system, including a virtual BIOS, virtual devices and virtualized memory management.

Full Virtualization

This combination of binary translation and direct execution provides Full Virtualization as the guest OS is fully abstracted (completely decoupled) from the underlying hardware by the virtualization layer. The guest OS is not aware it is being virtualized and requires no modification. Full virtualization is the only option that requires no hardware assist or operating system assist to virtualize sensitive and privileged instructions. The hypervisor translates all operating system instructions on the fly and caches the results for future use, while user level instructions run unmodified at native speed. Full virtualization offers the best isolation and security for virtual machines, and simplifies migration and portability as the same guest OS instance can run virtualized or on native hardware.

[2]-> Para-Virtualization

 Para-virtualization is an enhancement of virtualization technology wherein a guest operating system (OS) is recompiled prior to the installation within a virtual machine.  Para-virtualization is designed to allows several different operating systems to run on a single set of hardware by the effective use of the computer resources such as processors and memory. The OS is normally altered to work with a virtual machine.  This allows for the guest operating system to be aware that it is a guest and accordingly has driver that doesn't give commands directly to the hardware but instead gives commands to the host system.

Para-Virtualization

Para-virtualization can also introduce significant

support and maintainability issues in production

environments as it requires deep OS kernel

modifications.

The open source Xen project is an example of

para-virtualization that virtualizes the processor

and memory using a modified Linux kernel and

virtualizes the I/O using custom guest OS device

drivers.

[3-] Hardware Assisted Virtualization

 Hardware manufacturers (like Intel, AMD) are

rapidly embracing virtualization and developing

new features to simplify virtualization support.

 First generation enhancements include Intel

Virtualization Technology (VT-x) and AMD’s AMD-V

which both target privileged instructions with a

new CPU execution mode feature that allows the

VMM to run in a new root mode below ring-0.

Hardware Support for Virtualization  Intel has produced a new virtualization technology that supports hypervisors for both the x86 (VT-x) and Itanium® (VT-i) architectures.  Intel Virtualization Technology is comprised of a set of processor enhancements that improve traditional software-based virtualization solutions.  These integrated features give virtualization software the ability to take advantage of offloading workload to the system hardware, enabling more streamlined virtualization software stacks and near native performance characteristics. Hardware Support for Virtualization

 The VT-x supports two new forms of operation:

one for the VMM (root), and other for guest operating systems (non-root).

The root form is fully privileged, while the non-root form is de-

privileged (even for ring 0).

The architecture also supports flexibility in defining the instructions

that cause a VM (guest operating system) to exit to the VMM and

store off processor state.

Comparative Statement

Full Virtualization with BT Hardware Assisted Virtualization OS Assisted Virtualization / Para-virtualization Performance Good Fair Current performance lags BT-virtualization on various workloads but shall improve progressively Better in certain cases Used By VMware, Microsoft, Parallels VMware, Microsoft, Parallels, Xen VMware, Xen Guest OS Hypervisor Independent? Yes Yes Xen-Linux runs only on Xen Hypervisor VMI-Linux is Hypervisor agnostic Architectures of Hypervisors

Simplified Architecture of VMware ESXi Vmkernel Vmkernel contains all of the necessary processes for:  Supporting Virtual Machines Managing the Hardware Managing Resource Availability Infrastructure Services (such as timekeeping and logging) Integration with VMware’s management tools and other authorized 3 rd^ party modules, such as hardware drivers and hardware monitoring tools can also run in vmkernel.