dc_3.2

14
VIRTUALIZATION

Upload: sindhya-balasubramanian

Post on 16-Jan-2016

227 views

Category:

Documents


0 download

DESCRIPTION

this topic talks about virtualization in distributed computing

TRANSCRIPT

Page 1: dc_3.2

VIRTUALIZATION

Page 2: dc_3.2

Topics to be covered:

•The role of virtualization in distributed systems

•Architecture of Virtual Machines

Page 3: dc_3.2

What is Virtualization?

•Threads and processes allow us to build and execute multiple programs simultaneously

•Illusion of parallelism: When there is a single processor computer, this becomes an illusion. This illusion is created by rapid switching between threads and processes

Page 4: dc_3.2

The role of virtualization in DS

•Virtualization deals with extending or replacing an existing interface so as to mimic the behavior of another system

Page 5: dc_3.2

•The main role of virtualization comes in with legacy software.

•This legacy software not only includes software applications but also various operating systems.

•This has been successfully implemented in IBM 370 machines.

•Soon, the hardware became cheaper and the different flavors of operating systems reduced, making virtualization less of an issue.

Page 6: dc_3.2

•In the 1990s, two new issues rose which needed virtualization:

First one being, legacy software cannot be maintained in the same pace as the platform it relies on. Virtualization can help by porting the legacy interfaces to the new platform and

thus immediately opening up the latter for large classes of existing programs

Page 7: dc_3.2

Second being, networking. For connectivity, there should be a system administrator who maintains the large and heterogeneous collection of computers, each one running different applications. Alongside these applications, resources should also be available to the clients. Virtualization is very useful here because by virtualization the diversity of platforms and machines can be reduced by essentially letting each application run on its own virtual machine.

Page 8: dc_3.2

Architecture of Virtual Machines• There can be four types of interfaces at different

levels:1. An interface between the hardware and software,

consisting of machine instructions that can be invoked by any program.

2. An interface between the hardware and software, consisting of machine instructions that can be invoked only by privileged programs, such as an operating system.

3. An interface consisting of system calls as offered by an operating system.

4. An interface consisting of library calls, generally forming what is known as an application programming interface (API).

Page 9: dc_3.2

•The essence of virtualization is to mimic the behavior of these interfaces

Page 10: dc_3.2

• Virtualization can take place in two different ways.

Approach 1:

First, we can build a runtime system that essentially provides an abstract instruction set that is to be used for executing applications. Instructions can be interpreted as in Java or could also be emulated as is done for running Windows applications on UNIX platforms wherein the emulator will also have to mimic the behavior of system calls. This way many applications can be executed simultaneously using this abstract instruction set.

Page 11: dc_3.2

◦A) Approach 1

Page 12: dc_3.2

Approach 2:

An alternative approach toward virtualization is to provide a system that is essentially implemented as a layer completely shielding the original hardware, but offering the complete instruction set of the same hardware as an interface. This is helpful because this interface can be offered simultaneously to different programs. As a result, it is now possible to have multiple, and different operating systems run independently and concurrently on the same platform. The layer is generally referred to as a virtual machine monitor (VMM).

Page 13: dc_3.2

B) Approach 2

Page 14: dc_3.2

THANK YOU