cloud computing : virtualization

 VIRTUAL MACHINES AND VIRTUALIZATION OF CLUSTERS AND DATA CENTERS

 

Implementation Levels Of Virtualization:

Ø  Virtualization is a computer architecture technology by which multiple virtual machines (VMs) are multiplexed in the same hardware machine.

Ø  The purpose of a VM is to enhance resource sharing by many users and improve computer performance in terms of resource utilization and application flexibility.

Ø  The idea is to separate the hardware from the software to yield better system efficiency.

Ø  For example, computer users gained access to much enlarged memory space when the concept of virtual memory was introduced.

Ø  Similarly, virtualization techniques can be applied to enhance the use of compute engines, networks, and storage.

 

Levels of Virtualization Implementation:

A traditional computer runs with a host operating system specially tailored for its hardware architecture, as shown in Figure . After virtualization, different user applications managed by their own operating systems (guest OS) can run on the same hardware, independent of the host OS. This is often done by adding additional software, called a virtualization layer.

 

 

 

Ø  This virtualization layer is known as hypervisor or virtual machine monitor (VMM).

Ø  The virtualization software creates the abstraction of VMs by interposing a virtualization layer at various levels of a computer system.

Ø  Common virtualization layers include the

1.      instruction set architecture (ISA) level

2.      hardware level

3.      operating system level

4.      library support level

5.      application level

Instruction Set Architecture Level:

Ø  At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host machine.

Ø  With this approach, it is possible to run a large amount of legacy binary code written for various processors on any given new hardware host machine.

Ø  Instruction set emulation leads to virtual ISAs created on any hardware machine.

Ø  The basic emulation method is through code interpretation.

Ø  An interpreter program interprets the source instructions to target instructions one by one.

Ø  One source instruction may require tens or hundreds of native target instructions to perform its function. Obviously, this process is relatively slow.

Ø  For better performance, dynamic binary translation is desired. This approach translates basic blocks of dynamic source instructions to target instructions.

Ø  The basic blocks can also be extended to program traces or super blocks to increase translation efficiency.

Hardware Abstraction Level:

Ø  Hardware-level virtualization is performed right on top of the bare hardware.

Ø  On the one hand, this approach generates a virtual hardware environment for a VM.

Ø  On the other hand, the process manages the underlying hardware through virtualization.

Ø  The intention is to upgrade the hardware utilization rate by multiple users concurrently.

Operating System Level:

Ø  This refers to an abstraction layer between traditional OS and user applications.

Ø  OS-level virtualization creates isolated containers on a single physical server and the OS instances to utilize the hardware and software in data centers.

Ø  The containers behave like real servers.

Ø  OS-level virtualization is commonly used in creating virtual hosting environments to allocate hardware resources among a large number of mutually distrusting users.

 

Library Support Level:

Ø  Most applications use APIs exported by user-level libraries rather than using lengthy system calls by the OS.

Ø  Virtualization with library interfaces is possible by controlling the communication link between applications and the rest of a system through API hooks.

Ø  The software tool WINE has implemented this approach to support Windows applications on top of UNIX hosts.

User-Application Level:

Ø  Virtualization at the application level virtualizes an application as a VM.

Ø  On a traditional OS, an application often runs as a process.

Ø  Therefore, application-level virtualization is also known as process-level virtualization.

Ø  In this scenario, the virtualization layer sits as an application program on top of the operating system, and the layer exports an abstraction of a VM that can run programs written and compiled to a particular abstract machine definition.

Relative Merits of Different Approaches:

Comments

Popular posts from this blog

CLOUD COMPUTING-INTRODUCTION

CLOUD COMPUTING : GOOGLE FILE SYSTEM