SlideShare a Scribd company logo
CLOUD COMPUTING
Cloud Virtualization and Clustering - II Courtesy:
Dr Gnanasekaran
Thangavel
11/19/2024 2
Implementation Levels of Virtualization
Virtualization technology benefits the computer and IT industries by enabling users to share
expensive hardware resources by multiplexing VMs on the same set of hardware hosts.
Virtual workspaces:
– An abstraction of an execution environment that can be made dynamically available to authorized
clients by using well-defined protocols,
– Resource quota (e.g. CPU, memory share),
– Software configuration (e.g. O/S, provided services).
• Implement on Virtual Machines (VMs):
– Abstraction of a physical host machine,
– Hypervisor intercepts and emulates instructions
from VMs and allows management of VMs.
– VMWare, Xen, etc.
• Provide infrastructure API:
– Plug-ins to hardware/support structures
Hardware
OS
App App App
Hypervisor
OS OS
Virtualized Stack
11/19/2024 3
Virtual Machines
• VM technology allows multiple virtual machines to run on
a single physical machine.
Hardware
Virtual Machine Monitor (VMM) / Hypervisor
Guest OS
(Linux)
Guest OS
(NetBSD)
Guest OS
(Windows)
VM VM VM
App
App App
App
App
Xen
VMWare
UML
Denali
etc.
Performance: Para-virtualization (e.g. Xen) is very close to raw physical performance!
11/19/2024 4
Virtualization in General
Advantages of virtual machines:
– Run operating systems where the physical hardware is unavailable,
– Easier to create new machines, backup machines, etc.,
– Software testing using “clean” installs of operating systems and software,
– Emulate more machines than are physically available,
– Timeshare lightly loaded systems on one host,
– Debug problems (suspend and resume the problem machine),
– Easy migration of virtual machines (shutdown needed or not).
– Run legacy systems!
11/19/2024 5
What is the purpose and benefits?
• Cloud computing enables companies and applications, which are system
infrastructure dependent, to be infrastructure-less.
• By using the Cloud infrastructure on “pay as used and on demand”, all of us
can save in capital and operational investment!
• Clients can:
– Put their data on the platform instead of on their own desktop PCs and/or on their own
servers.
– They can put their applications on the cloud and use the servers within the cloud to do
processing and data manipulations etc.
– In computing, virtualization means to create a virtual version of a device
or resource, such as a server, storage device, network or even an
operating system where the framework divides the resource into one or
more execution environments.
11/19/2024 6
Difference between Traditional and Virtual machines
• A traditional computer runs with a host operating system specially tailored for its hardware
architecture
• After virtualization, different user applications managed by their own operating systems (guest
OS) can run on the same hardware, independent of the host OS.
• The Virtualization layer is the middleware between the underlying hardware and virtual machines
represented in the system, also known as virtual machine monitor (VMM) or hypervisor.
With sufficient storage,
any computer platform can
be installed in another
host computer, even if
they use processors with
different instruction sets
and run with distinct
operating systems on the
same hardware.
11/19/2024 7
Virtualization Layers
The virtualization software creates the abstraction of VMs by
interposing a virtualization layer at various levels of a
computer system.
Common virtualization layers include:
1. the instruction set architecture (ISA) level,
2. hardware level,
3. operating system level,
4. library support level, and
5. application level
11/19/2024 8
Virtualization Ranging from Hardware to Applications in Five Abstraction Levels
11/19/2024 9
1.Virtualization at Instruction Set Architecture (ISA) level:
• At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host machine.
Instruction set emulation leads to virtual ISAs created on any hardware machine. e.g, MIPS binary code
can run on an x-86-based host machine with the help of ISA emulation.
• 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.
• code interpretation – dynamic binary translation - virtual instruction set architecture (V-ISA)
• Advantage:
• It can run a large amount of legacy binary codes written for various processors on any given new
hardware host machines
• best application flexibility
• Shortcoming & limitation:
• One source instruction may require tens or hundreds of native target instructions to perform its
function, which is relatively slow.
• V-ISA requires adding a processor-specific software translation layer in the complier.
11/19/2024 10
2.Virtualization at 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 idea is to virtualize a computer’s resources, such as its processors, memory
and I/O devices. The intention is to upgrade the hardware utilization rate by multiple
users concurrently.
Advantage:
• Has higher performance and good application isolation
Shortcoming & limitation:
• Very expensive to implement (complexity)
11/19/2024 11
3.Virtualization at Operating System (OS) level:
• 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.
Advantage:
• Has minimal startup/shutdown cost, low resource requirement, and high
scalability; synchronize VM and host state changes.
Shortcoming & limitation:
• All VMs at the operating system level must have the same kind of guest OS
• Poor application flexibility and isolation.
11/19/2024 12
Virtualization at OS Level
11/19/2024 13
Advantages of OS Extension for Virtualization
1. VMs at OS level has minimum startup/shutdown costs
2. OS-level VM can easily synchronize with its environment
Disadvantage of OS Extension for Virtualization
•All VMs in the same OS container must have the same or similar
guest OS, which restrict application flexibility of different VMs on the
same physical machine.
11/19/2024 14
4.Library Support level:
• Since most systems provide well-documented APIs, such an interface becomes
another candidate for virtualization.
• 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.
• Another example is the vCUDA which allows applications executing within VMs
to leverage GPU hardware acceleration.
Advantage:
• It has very low implementation effort
Shortcoming & limitation:
• poor application flexibility and isolation
11/19/2024 15
5.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.
• The most popular approach is to deploy high level language (HLL) VMs. 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.
• Other forms of application-level virtualization are known as application isolation, application
sandboxing, or application streaming.
Advantage:
• has the best application isolation
Shortcoming & limitation:
• low performance, low application flexibility and high implementation complexity.
11/19/2024 16
User-Application Level Virtualization
11/19/2024 17
Hypervisor
• A hypervisor is a hardware virtualization technique allowing multiple operating systems,
called guests to run on a host machine. This is also called the Virtual Machine Monitor
(VMM).
Type 1: bare metal hypervisor
• sits on the bare metal computer hardware like the CPU, memory, etc.
• All guest operating systems are a layer above the hypervisor.
• The original CP/CMS hypervisor developed by IBM was of this kind.
Type 2: hosted hypervisor
• Run over a host operating system.
• Hypervisor is the second layer over the hardware.
• Guest operating systems run a layer over the hypervisor.
• The OS is usually unaware of the virtualization
11/19/2024 18
Full Binary Translation and Host-based Virtualization
• Depending on implementation technologies, hardware virtualization VM
architectures can be classified into two categories:
– Full virtualization and
– Host-based virtualization.
• Full virtualization does not need to modify the host OS. It relies on
binary translation to trap and to virtualize the execution of certain
sensitive, non virtualizable instructions.
• In a host-based system, both a host OS and a guest OS are used. A
virtualization software layer is built between the host OS and guest OS.
• These two classes of VM architecture are introduced next.
11/19/2024 19
Binary Translation of Guest OS Requests Using a VMM
• This approach was implemented by
VMware and many other software
companies.
• VMware puts the VMM at Ring 0 and the
guest OS at Ring 1. The VMM scans the
instruction stream and identified the
privileged, control- and behavior sensitive
instructions.
• When these instructions are identified, they
are trapped into the VMM, which emulates
the behavior of these instructions.
• The method used in this emulation is called
binary translation. Therefore, full
virtualization combines binary translation
and direct execution.
11/19/2024 20
Host-Based Virtualization
• An alternative VM architecture is to install a virtualization
layer on top of the host OS. This host OS is still responsible
for managing the hardware.
• This host-based architecture has some distinct advantages.
First, the user can install this VM architecture without
modifying the host OS. The virtualizing software can rely on
the host OS to provide device drivers and other low-level
services. This will simplify the VM design and ease its
deployment.
• Second, the host-based approach appeals to many host
machine configurations. Compared to the hypervisor/VMM
architecture, the performance of the host-based architecture
may also be low.
11/19/2024 21
Para-virtualization
• Para-virtualization needs to
modify the guest operating
systems.
• A para-virtualized VM
provides special APIs
requiring substantial OS
modifications in user
applications.
• Performance degradation is a
critical issue of a virtualized
system.
11/19/2024 22
Full Virtualization vs. Para-Virtualization
Full virtualization
• Does not need to modify guest OS, and critical instructions are emulated by
software through the use of binary translation.
• VMware Workstation applies full virtualization, which uses binary translation to
automatically modify x86 software on-the-fly to replace critical instructions.
Advantage: no need to modify OS.
Disadvantage: binary translation slows down the performance.
Para virtualization
• Reduces the overhead, but cost of maintaining a paravirtualized OS is high.
• The improvement depends on the workload.
• Para virtualization must modify guest OS, non-virtualizable instructions are
replaced by hyper calls that communicate directly with the hypervisor or VMM.
• Para virtualization is supported by Xen, Denali and VMware ESX.

More Related Content

PDF
VIRTUALIZATION-IMPLEMENTATION.pdf-LEVELS
soundharya59
 
PPTX
VIRTUALIZATION AND ITS TYPES IMPLEMENTATION.pptx
soundharya59
 
PPTX
VIRTUALIZATION-IMPLEMENTATION.pptx-TYPES
soundharya59
 
PPTX
Unit-I_part-II_Virtualization.pptx
DARKKNIGHT116809
 
PPTX
cloud computing and cloud security1.pptx
preethig557
 
PPTX
2-Implementation Level Of Virtualization-06-01-2025.pptx
dhruvagarwal9427
 
PPTX
virtualization.pptx
ssuser6e6eec
 
PPT
Unit II.ppt
HARISHK762704
 
VIRTUALIZATION-IMPLEMENTATION.pdf-LEVELS
soundharya59
 
VIRTUALIZATION AND ITS TYPES IMPLEMENTATION.pptx
soundharya59
 
VIRTUALIZATION-IMPLEMENTATION.pptx-TYPES
soundharya59
 
Unit-I_part-II_Virtualization.pptx
DARKKNIGHT116809
 
cloud computing and cloud security1.pptx
preethig557
 
2-Implementation Level Of Virtualization-06-01-2025.pptx
dhruvagarwal9427
 
virtualization.pptx
ssuser6e6eec
 
Unit II.ppt
HARISHK762704
 

Similar to CC-5 - MOD.pptx Cloud Vertulization nand (20)

PDF
Cloud Computing Virtualization and containers
Selvaraj Kesavan
 
PPTX
Operating system Virtualization_NEW.pptx
Senthil Vit
 
PDF
IaaS - Virtualization_Cambridge.pdf
DharavathRamesh2
 
PPTX
Chapter 3.4.pptx
kalavathisugan
 
PDF
CloudComputing_UNIT 2.pdf
khan593595
 
PDF
CloudComputing_UNIT 2.pdf
khan593595
 
PDF
virtualization (1).pdf bbbbbbbnnnnnjnjjjjj
girisaksham3
 
PPTX
KIIT_Cloud_scaling and Virtualization.pptx
bhaskarkumar0125
 
PPTX
cloud basics.
Mercy joy
 
PDF
Unit 3 Virtualization.pdf
PrachiKurhade3
 
PDF
virtual-machine-150316004018-conversion-gate01.pdf
KowsalyaJayakumar2
 
PPTX
Virtual machine
IGZ Software house
 
PDF
Lecture5 virtualization
hktripathy
 
PPTX
virtual-machine-ppt 18030 cloud computing.pptx
Zarwashgulrez
 
PDF
VSS-1.pdf
RiyaBatool
 
PDF
Virtualization and cloud Computing
Rishikese MR
 
PPTX
Virtualization
vishnurk
 
PPTX
Virtualizaiton-3.pptx
sebghataslamzai
 
PPTX
CC CLOUD RESOURCE VIRTUALIZATION PPT TO REFER
2021ismadhuprasadrna
 
PPTX
CSC_406_5_Virtualization - Case Study, it's base on virtualization
dolandarc2
 
Cloud Computing Virtualization and containers
Selvaraj Kesavan
 
Operating system Virtualization_NEW.pptx
Senthil Vit
 
IaaS - Virtualization_Cambridge.pdf
DharavathRamesh2
 
Chapter 3.4.pptx
kalavathisugan
 
CloudComputing_UNIT 2.pdf
khan593595
 
CloudComputing_UNIT 2.pdf
khan593595
 
virtualization (1).pdf bbbbbbbnnnnnjnjjjjj
girisaksham3
 
KIIT_Cloud_scaling and Virtualization.pptx
bhaskarkumar0125
 
cloud basics.
Mercy joy
 
Unit 3 Virtualization.pdf
PrachiKurhade3
 
virtual-machine-150316004018-conversion-gate01.pdf
KowsalyaJayakumar2
 
Virtual machine
IGZ Software house
 
Lecture5 virtualization
hktripathy
 
virtual-machine-ppt 18030 cloud computing.pptx
Zarwashgulrez
 
VSS-1.pdf
RiyaBatool
 
Virtualization and cloud Computing
Rishikese MR
 
Virtualization
vishnurk
 
Virtualizaiton-3.pptx
sebghataslamzai
 
CC CLOUD RESOURCE VIRTUALIZATION PPT TO REFER
2021ismadhuprasadrna
 
CSC_406_5_Virtualization - Case Study, it's base on virtualization
dolandarc2
 
Ad

More from AdeelAsghar36 (19)

PDF
Week 3 intro to computer organization and assembly language
AdeelAsghar36
 
PDF
Week 3 intro to computer organization and assembly language
AdeelAsghar36
 
PDF
Week 2 intro to computer organization and assembly language
AdeelAsghar36
 
PDF
Week 1 intro to computer organization and assembly language
AdeelAsghar36
 
PPTX
CC-11 Part b Software as a Service Cloud Architecxture
AdeelAsghar36
 
PPTX
CC-11 Part a Software as a Service Cloud Architecxture
AdeelAsghar36
 
PPTX
CC-9b AWS Infra as a service part 3 (AWS).pptx
AdeelAsghar36
 
PPTX
CC-8-9 Infrastructure as a service slide part b
AdeelAsghar36
 
PPTX
GNCC-9 cloud architecture (infrastructure as a Service).pptx
AdeelAsghar36
 
PPTX
Lecture 10b - Ch No. 04 (Part 02) (1).pptx
AdeelAsghar36
 
PPTX
Lecture 10 - Ch No. 7 Input and Output.pptx
AdeelAsghar36
 
PPTX
Lecture 09 - Ch No. 05 Internal Memory.pptx
AdeelAsghar36
 
PPTX
Introduction to computer_Lecture 1 of IICT course
AdeelAsghar36
 
PPTX
Chapter 3 part 2 Interconnections Computer organization
AdeelAsghar36
 
PPTX
COAL LAB 2 data addressing modes and register
AdeelAsghar36
 
PDF
Soft Sand Minimalist Modern Thesis Defense Presentation.pdf
AdeelAsghar36
 
PPTX
Simplified AES from information security
AdeelAsghar36
 
PPTX
Hash Functions from Information Security
AdeelAsghar36
 
PDF
lect 03- MIT Addressing Modes.pdf
AdeelAsghar36
 
Week 3 intro to computer organization and assembly language
AdeelAsghar36
 
Week 3 intro to computer organization and assembly language
AdeelAsghar36
 
Week 2 intro to computer organization and assembly language
AdeelAsghar36
 
Week 1 intro to computer organization and assembly language
AdeelAsghar36
 
CC-11 Part b Software as a Service Cloud Architecxture
AdeelAsghar36
 
CC-11 Part a Software as a Service Cloud Architecxture
AdeelAsghar36
 
CC-9b AWS Infra as a service part 3 (AWS).pptx
AdeelAsghar36
 
CC-8-9 Infrastructure as a service slide part b
AdeelAsghar36
 
GNCC-9 cloud architecture (infrastructure as a Service).pptx
AdeelAsghar36
 
Lecture 10b - Ch No. 04 (Part 02) (1).pptx
AdeelAsghar36
 
Lecture 10 - Ch No. 7 Input and Output.pptx
AdeelAsghar36
 
Lecture 09 - Ch No. 05 Internal Memory.pptx
AdeelAsghar36
 
Introduction to computer_Lecture 1 of IICT course
AdeelAsghar36
 
Chapter 3 part 2 Interconnections Computer organization
AdeelAsghar36
 
COAL LAB 2 data addressing modes and register
AdeelAsghar36
 
Soft Sand Minimalist Modern Thesis Defense Presentation.pdf
AdeelAsghar36
 
Simplified AES from information security
AdeelAsghar36
 
Hash Functions from Information Security
AdeelAsghar36
 
lect 03- MIT Addressing Modes.pdf
AdeelAsghar36
 
Ad

Recently uploaded (20)

PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
PPTX
How to Apply for a Job From Odoo 18 Website
Celine George
 
PPTX
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PPTX
CDH. pptx
AneetaSharma15
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
PPTX
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PPTX
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
How to Apply for a Job From Odoo 18 Website
Celine George
 
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
CDH. pptx
AneetaSharma15
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 

CC-5 - MOD.pptx Cloud Vertulization nand

  • 1. CLOUD COMPUTING Cloud Virtualization and Clustering - II Courtesy: Dr Gnanasekaran Thangavel
  • 2. 11/19/2024 2 Implementation Levels of Virtualization Virtualization technology benefits the computer and IT industries by enabling users to share expensive hardware resources by multiplexing VMs on the same set of hardware hosts. Virtual workspaces: – An abstraction of an execution environment that can be made dynamically available to authorized clients by using well-defined protocols, – Resource quota (e.g. CPU, memory share), – Software configuration (e.g. O/S, provided services). • Implement on Virtual Machines (VMs): – Abstraction of a physical host machine, – Hypervisor intercepts and emulates instructions from VMs and allows management of VMs. – VMWare, Xen, etc. • Provide infrastructure API: – Plug-ins to hardware/support structures Hardware OS App App App Hypervisor OS OS Virtualized Stack
  • 3. 11/19/2024 3 Virtual Machines • VM technology allows multiple virtual machines to run on a single physical machine. Hardware Virtual Machine Monitor (VMM) / Hypervisor Guest OS (Linux) Guest OS (NetBSD) Guest OS (Windows) VM VM VM App App App App App Xen VMWare UML Denali etc. Performance: Para-virtualization (e.g. Xen) is very close to raw physical performance!
  • 4. 11/19/2024 4 Virtualization in General Advantages of virtual machines: – Run operating systems where the physical hardware is unavailable, – Easier to create new machines, backup machines, etc., – Software testing using “clean” installs of operating systems and software, – Emulate more machines than are physically available, – Timeshare lightly loaded systems on one host, – Debug problems (suspend and resume the problem machine), – Easy migration of virtual machines (shutdown needed or not). – Run legacy systems!
  • 5. 11/19/2024 5 What is the purpose and benefits? • Cloud computing enables companies and applications, which are system infrastructure dependent, to be infrastructure-less. • By using the Cloud infrastructure on “pay as used and on demand”, all of us can save in capital and operational investment! • Clients can: – Put their data on the platform instead of on their own desktop PCs and/or on their own servers. – They can put their applications on the cloud and use the servers within the cloud to do processing and data manipulations etc. – In computing, virtualization means to create a virtual version of a device or resource, such as a server, storage device, network or even an operating system where the framework divides the resource into one or more execution environments.
  • 6. 11/19/2024 6 Difference between Traditional and Virtual machines • A traditional computer runs with a host operating system specially tailored for its hardware architecture • After virtualization, different user applications managed by their own operating systems (guest OS) can run on the same hardware, independent of the host OS. • The Virtualization layer is the middleware between the underlying hardware and virtual machines represented in the system, also known as virtual machine monitor (VMM) or hypervisor. With sufficient storage, any computer platform can be installed in another host computer, even if they use processors with different instruction sets and run with distinct operating systems on the same hardware.
  • 7. 11/19/2024 7 Virtualization Layers The virtualization software creates the abstraction of VMs by interposing a virtualization layer at various levels of a computer system. Common virtualization layers include: 1. the instruction set architecture (ISA) level, 2. hardware level, 3. operating system level, 4. library support level, and 5. application level
  • 8. 11/19/2024 8 Virtualization Ranging from Hardware to Applications in Five Abstraction Levels
  • 9. 11/19/2024 9 1.Virtualization at Instruction Set Architecture (ISA) level: • At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host machine. Instruction set emulation leads to virtual ISAs created on any hardware machine. e.g, MIPS binary code can run on an x-86-based host machine with the help of ISA emulation. • 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. • code interpretation – dynamic binary translation - virtual instruction set architecture (V-ISA) • Advantage: • It can run a large amount of legacy binary codes written for various processors on any given new hardware host machines • best application flexibility • Shortcoming & limitation: • One source instruction may require tens or hundreds of native target instructions to perform its function, which is relatively slow. • V-ISA requires adding a processor-specific software translation layer in the complier.
  • 10. 11/19/2024 10 2.Virtualization at 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 idea is to virtualize a computer’s resources, such as its processors, memory and I/O devices. The intention is to upgrade the hardware utilization rate by multiple users concurrently. Advantage: • Has higher performance and good application isolation Shortcoming & limitation: • Very expensive to implement (complexity)
  • 11. 11/19/2024 11 3.Virtualization at Operating System (OS) level: • 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. Advantage: • Has minimal startup/shutdown cost, low resource requirement, and high scalability; synchronize VM and host state changes. Shortcoming & limitation: • All VMs at the operating system level must have the same kind of guest OS • Poor application flexibility and isolation.
  • 13. 11/19/2024 13 Advantages of OS Extension for Virtualization 1. VMs at OS level has minimum startup/shutdown costs 2. OS-level VM can easily synchronize with its environment Disadvantage of OS Extension for Virtualization •All VMs in the same OS container must have the same or similar guest OS, which restrict application flexibility of different VMs on the same physical machine.
  • 14. 11/19/2024 14 4.Library Support level: • Since most systems provide well-documented APIs, such an interface becomes another candidate for virtualization. • 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. • Another example is the vCUDA which allows applications executing within VMs to leverage GPU hardware acceleration. Advantage: • It has very low implementation effort Shortcoming & limitation: • poor application flexibility and isolation
  • 15. 11/19/2024 15 5.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. • The most popular approach is to deploy high level language (HLL) VMs. 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. • Other forms of application-level virtualization are known as application isolation, application sandboxing, or application streaming. Advantage: • has the best application isolation Shortcoming & limitation: • low performance, low application flexibility and high implementation complexity.
  • 17. 11/19/2024 17 Hypervisor • A hypervisor is a hardware virtualization technique allowing multiple operating systems, called guests to run on a host machine. This is also called the Virtual Machine Monitor (VMM). Type 1: bare metal hypervisor • sits on the bare metal computer hardware like the CPU, memory, etc. • All guest operating systems are a layer above the hypervisor. • The original CP/CMS hypervisor developed by IBM was of this kind. Type 2: hosted hypervisor • Run over a host operating system. • Hypervisor is the second layer over the hardware. • Guest operating systems run a layer over the hypervisor. • The OS is usually unaware of the virtualization
  • 18. 11/19/2024 18 Full Binary Translation and Host-based Virtualization • Depending on implementation technologies, hardware virtualization VM architectures can be classified into two categories: – Full virtualization and – Host-based virtualization. • Full virtualization does not need to modify the host OS. It relies on binary translation to trap and to virtualize the execution of certain sensitive, non virtualizable instructions. • In a host-based system, both a host OS and a guest OS are used. A virtualization software layer is built between the host OS and guest OS. • These two classes of VM architecture are introduced next.
  • 19. 11/19/2024 19 Binary Translation of Guest OS Requests Using a VMM • This approach was implemented by VMware and many other software companies. • VMware puts the VMM at Ring 0 and the guest OS at Ring 1. The VMM scans the instruction stream and identified the privileged, control- and behavior sensitive instructions. • When these instructions are identified, they are trapped into the VMM, which emulates the behavior of these instructions. • The method used in this emulation is called binary translation. Therefore, full virtualization combines binary translation and direct execution.
  • 20. 11/19/2024 20 Host-Based Virtualization • An alternative VM architecture is to install a virtualization layer on top of the host OS. This host OS is still responsible for managing the hardware. • This host-based architecture has some distinct advantages. First, the user can install this VM architecture without modifying the host OS. The virtualizing software can rely on the host OS to provide device drivers and other low-level services. This will simplify the VM design and ease its deployment. • Second, the host-based approach appeals to many host machine configurations. Compared to the hypervisor/VMM architecture, the performance of the host-based architecture may also be low.
  • 21. 11/19/2024 21 Para-virtualization • Para-virtualization needs to modify the guest operating systems. • A para-virtualized VM provides special APIs requiring substantial OS modifications in user applications. • Performance degradation is a critical issue of a virtualized system.
  • 22. 11/19/2024 22 Full Virtualization vs. Para-Virtualization Full virtualization • Does not need to modify guest OS, and critical instructions are emulated by software through the use of binary translation. • VMware Workstation applies full virtualization, which uses binary translation to automatically modify x86 software on-the-fly to replace critical instructions. Advantage: no need to modify OS. Disadvantage: binary translation slows down the performance. Para virtualization • Reduces the overhead, but cost of maintaining a paravirtualized OS is high. • The improvement depends on the workload. • Para virtualization must modify guest OS, non-virtualizable instructions are replaced by hyper calls that communicate directly with the hypervisor or VMM. • Para virtualization is supported by Xen, Denali and VMware ESX.

Editor's Notes

  • #8: - JVM: A Java virtual machine is an abstract computing machine that enables a computer to run a Java program. There are three notions of the JVM: specification, implementation, and instance. - .NET CLR: The Common Language Runtime, the virtual machine component of Microsoft's .NET framework, manages the execution of .NET programs. - WINE: Wine (recursive backronym for Wine Is Not an Emulator) is a free and open-source compatibility ..... product that uses some Wine code for its DirectX handling. VirtualBox, a virtual machine that uses some Wine code for its Direct3D handling. - WABI: Sun used Windows Application Binary Interface to make Solaris more appealing to those needing Windows applications. The WABI software sits between an application and the operating system, intercepts the applications Windows calls, and translates them to "equivalent" Unix calls. On x86, the guest instructions were run directly on the processor, while they were emulated and/or binary translated on SPARC. WABI can also use an optional DOS emulator to run DOS applications. - Lxrun is software for executing Linux a.out and ELF binaries (x86 only) on x86 Unix systems such as SCO OpenServer, SCO UnixWare, and later, Solaris. This is achieved by "remapping" Linux system calls on the fly. You need the Linux shared libraries that the application requires, as well as the Linux dynamic loader. Lxrun is thus a system call emulator. There are various caveats as to what kind of applications will not run, etc. - MainWin: Microsoft had versions of Internet Explorer and Outlook Express for Solaris (SPARC). This was achieved not by porting them to Solaris, but by using API emulation. Mainsoft, the software company behind that effort, now has a product called Visual MainWin that allows for applications developed on Windows using Visual Studio to be run on Solaris, Linux, HP-UX, and AIX. It recompiles the applications from source on the deployment platform, using the latter's compilers. - vCuda: vCUDA is a general-purpose graphics processing unit (GPGPU) computing solution for virtual machines (VMs). - Jail: The FreeBSD jail mechanism is an implementation of operating system-level virtualization that allows system administrators to partition a FreeBSD-based computer system into several independent mini-systems called jails. - A Virtual Environment, put simply, is an isolated working copy of Python which allows you to work on a specific project without worry of affecting other projects It enables multiple side-by-side installations of Python, one for each project. - Ensim VPS solution virtualizes a server's native OS so it can be partitioned into isolated computing environments which operate independently of each other, just like a dedicated server. - Featherweight Virtual Machine (FVM) is an OS-level virtual machine for Windows XP and Windows. - VMware, Inc. is a subsidiary of Dell Technologies that provides cloud computing and platform virtualization. - Windows Virtual PC is a virtualization program for Microsoft Windows. In July 2006 Microsoft released the Windows version as a free product. - The Denali project seeks to enable an array of new networking and distributed middleware applications by designing and implementing lightweight protection domains, focusing in particular on the use of lightweight virtual machines and monitors. A virtual machine monitor (VMM) is a thin virtualization layer between hardware and ``guest'' operating systems, enabling hosts to safely execute untrusted applications and guest OS's inside a VM. - Xen Project is a hypervisor using a microkernel design, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was developed by the University of Cambridge and is now being developed by the Linux Foundation with support from Intel. - The L4 Runtime Environment (L4Re) provides a basic set of services and abstractions, which are useful to implement and run user-level applications on top of the Fiasco.OC microkernel. - Plex86 is a very lightweight Virtual Machine (VM) for running Linux/x86. - User-Mode Linux is a safe, secure way of running Linux versions and Linux processes. Run buggy software, experiment with new Linux kernels or distributions, and poke around in the internals of Linux, all without risking your main Linux setup. - Bochs is a portable x86 PC emulation software package that emulates enough of the x86 CPU, related AT hardware, and BIOS to run Windows, Linux, *BSD, Minix, and other OS's, all on your workstation. - The Crusoe is a family of x86-compatible microprocessors developed by Transmeta and introduced in 2000. Crusoe was notable for its method of achieving x86 compatibility. Instead of the instruction set architecture being implemented in hardware, or translated by specialized hardware, the Crusoe runs a software abstraction layer, or a virtual machine, known as the Code Morphing Software (CMS). The CMS translates machine code instructions received from programs into native instructions for the microprocessor. In this way, the Crusoe can emulate other instruction set architectures (ISAs). - QEMU is a hosted virtual machine monitor: it emulates CPUs through dynamic binary translation and provides a set of device models, enabling it to run a variety of unmodified guest operating systems. It also can be used with KVM to run virtual machines at near-native speed (requiring hardware virtualization extensions on x86 machines). QEMU can also do CPU emulation for user-level processes, allowing applications compiled for one architecture to run on another. - Dynamo is an experimental web framework that runs on Elixir. It leverages the power of the Erlang VM to build highly performant and concurrent web applications. Dynamo's goals are performance, robustness and simplicity. http://www.kernelthread.com/publications/virtualization/
  • #17: https://en.wikipedia.org/wiki/History_of_CP/CMS