1 CSE 423: VIRTUALIZATION & CLOUD COMPUTING
1/18/2022
by
Mr. Ajay Kumar Badhan
Assistant Professor
[Link][CST], [Link] [CSE]
Email: ajay.27337@[Link]
Personal Blog: [Link]
Preferred Text Book
Cloud Computing Bible: Barrie Sosinky – 1st Edition, Wiley India Pvt. Ltd.
Cloud Computing: Fundamentals, Industry Approach & Trends by Rishabh Sharma, Wiley
Cloud Computing: Principles & Paradigms by Raj Kumar Buyya, James Broberg, Andrzej
Goscinski, Wiley
@Mr. Ajay Kumar Badhan
2 PART -I: VIRTUALIZATION
CONTENT
VIRTUALIZATION TECHNIQUES
Virtualization Technology
Overview of x86 Architecture
Types of Virtualization
Concepts of VLAN
Concepts of SLAN
Concepts of VSAN
Benefits of VLAN, SLAN, & VSAN
@Mr. Ajay Kumar Badhan
3 PART - I: VIRTUALIZATION
INTRODUCTION
INTRODUCTION TO VIRTUALIZATION
Virtualization creates virtual hardware by cloning physical hardware
It’s an abstraction of computer resources.
It hides the physical characteristics of computing resources from their users
They make a single physical resource like server or an operating system appear to function as
multiple resources and vice-versa.
@Mr. Ajay Kumar Badhan
4 PART - I: VIRTUALIZATION
INTRODUCTION Cont.…
WHAT IS VIRTUALIZATION ?
It is a process of running a virtual instance of a computer system in a layer abstracted from the
actual hardware
It refers to running multiple operating system on a computer system simultaneously
The applications running on top of the virtualized machine appears as it they are running on their
own dedicated machines where the OS, libraries and other programs are unique to the guest
virtualize system and unconnected to the host operating system which sits below it.
@Mr. Ajay Kumar Badhan
5 PART - I: VIRTUALIZATION
TERMINOLOGIES
TERMINOLOGIES USED IN VIRTUALIZATION
1. Host Operating System
The operating system using which the Virtual machines are run.
2. Guest Operating System
The OS that uses virtualized hardware.
It can be with Fully Virtualized or Para Virtualized
3. Virtual Machine Monitor
It is the application that virtualizes the hardware for a specific virtual machine and execute the
guest OS with the Virtualized hardware.
@Mr. Ajay Kumar Badhan
6 PART - I: VIRTUALIZATION
INTRODUCTION Cont.…
VIRTUALIZATION - HYPERVISOR
It is a Software (Virtualized) used for the purpose of Cloud Hosting to divide and allocate the
resources on various pieces of hardware.
The program that performs the operations such as partitioning, isolation or abstraction are called
virtualization hypervisor
It is a hardware virtualization technique that allows multiple Guest Operating Systems(OS) to
run on a single host system at the same time..
A hypervisor is also called as Virtual Machine Manager (VMM)
@Mr. Ajay Kumar Badhan
7 PART - I: VIRTUALIZATION
HYPERVISOR CLASSIFICATIONS
CLASSIFICATION OF HYPERVISORS
There are two main types of Hypervisors:
Type – I: Native or “Bare-Metal” Hypervisor
Type – II: Hosted or “Embedded” Hypervisor
TYPE -I: Native or Bare Metal Hypervisor
They run directly on the host's hardware to control the hardware and to manage guest operating
systems.
Sue to that scenario, they are called as “bare metal” hypervisors.
TYPE -II: Hosted or Embedded Hypervisor
They run on a conventional operating system (OS) just as other computer programs do.
A guest operating system runs as a process on the host.
They abstract guest operating systems from the host operating system.
Examples: VMware Workstation, VMware Player, VirtualBox , Parallels Desktop for
Mac and QEMU are examples of type-2 hypervisors
@Mr. Ajay Kumar Badhan
8 PART - I: VIRTUALIZATION
HYPERVISOR CLASSIFICATIONS
TYPE -I: Native or Bare Metal Hypervisor TYPE -II: Hosted or Embedded Hypervisor
@Mr. Ajay Kumar Badhan
9 PART - I: VIRTUALIZATION
VIRTUALIZATION vs CLOUD COMPUTING
Cloud Computing Virtualization
Cloud computing is used to provide pools and automated It is used to make various simulated environments through
resources that can be accessed on-demand. a physical hardware system.
Virtualization setup is simple as compared to cloud
Cloud computing setup is tedious, complicated.
computing.
Virtualization is low scalable compared to cloud
Cloud computing is high scalable.
computing.
Cloud computing is Very flexible. While virtualization is less flexible than cloud computing.
In the condition of disaster recovery, cloud computing
It relies on single peripheral device.
relies on multiple machines.
In cloud computing, the workload is stateless. In virtualization, the workload is stateful.
The total cost of cloud computing is higher than
The total cost of virtualization is lower than virtualization.
virtualization
Cloud computing requires many dedicated hardware. While single dedicated hardware can do a great job in it.
The storage space depends on physical server capacity in
Cloud computing provides unlimited storage space.
virtualization.
Cloud computing is of three types : Public cloud, Private Virtualization is of two types : Hardware virtualization
cloud, and Hybrid Cloud (Bare-Metal) and Application virtualization (Embedded)
@Mr. Ajay Kumar Badhan
10 PART - I: VIRTUALIZATION
X86 VIRTUALIZATION
X86 Virtualization
It refers to hardware and software based mechanism to support virtualization for processors based
on the X86 architecture.
Making user of Hypervisor, it allows several operating system to be run in parallel on x86 processors
and resources to be distributed in an isolated and efficient manner between the operating system
running in parallel.
The Operating System or the Hypervisor has the access to the processor hardware to allocate
resources to the guest Operating Systems running in parallel.
The protected mode was introduced in the X86 world. With it four different protection levels or
privileges (known as rings) were introduced that grant the code segments running on them with
different rights.
The introduction of this concept resulted in the implementation of virtualization based on x86
architecture.
@Mr. Ajay Kumar Badhan
11 PART - I: VIRTUALIZATION
X86 VIRTUALIZATION
X86 Virtualization
@Mr. Ajay Kumar Badhan
12 PART - I: VIRTUALIZATION
X86 VIRTUALIZATION Cont.…
X86 Virtualization
In the Protected Mode, the operating system kernel runs in a more privileged mode, called RING 0
The applications are run on a less privileged mode. Usually in either RING 1 or Ring 3
The hypervisor or the host operating system are executed with ring 0 authorization due to their
privileged position in resource management. In order to guarantee the protection of the hypervisor
resources, guest systems must therefore be run either at authorization level Ring 1 (in the so-called
Ring 3.
@Mr. Ajay Kumar Badhan
13 PART - I: VIRTUALIZATION
VIRTUALIZATION HARDWARE
Virtualization Hardware
Full Virtualization
Para-Virtualization
Hardware Assisted Virtualization
FULL VIRTUALIZATION USING BINARY TRANSLATION
VMware can virtualize any x86 operating system using a combination of binary translator and
direct execution techniques.
The figure represents the translation of kernel code to replace the
non virtualizable instructions with new sequence of instructions
that have the intended effect on the virtual hardware.
The user level code is directly executed on the processor for high
performance virtualization
Each VMM provides each virtual machine with all the services of
the physical systems, including a virtual BIOS, virtual devices
and virtualized memory management.
@Mr. Ajay Kumar Badhan
14 PART - I: VIRTUALIZATION
VIRTUALIZATION HARDWARE
FULL VIRTUALIZATION USING BINARY TRANSLATION
The combination of binary translation & direct execution provides FULL Virtualization as
the guest OS is fully abstracted from the underlying hardware by the virtualization layer.
It does not require any hardware assistant or OS assist to virtualize sensitive and privileged
instructions.
It 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.
Examples: VMware’s Virtualization products and Microsoft Virtual Server are examples of
full virtualization
@Mr. Ajay Kumar Badhan
15 PART - I: VIRTUALIZATION
VIRTUALIZATION HARDWARE
PARA VIRTUALIZATION OR OS ASSISTED VIRTUALIZATION
Para Means – “Beside”, “With”, or “Alongside”
It refers to communication between the Guest OS and the Hypervisor to improve performance
and efficiency
It involves modifying the OS kernel to replace the non virtualized instruction with Hyper-calls
that communicate directly with the Virtualization layer hypervisor.
The hypervisor provide the hyper-call interfaces for critical kernel operations such as memory
management, interrupt handling & time keeping.
@Mr. Ajay Kumar Badhan
16 PART - I: VIRTUALIZATION
VIRTUALIZATION HARDWARE
HARDWARE ASSISTED VIRTUALIZATION
In enables full virtualization with help of utilizing of a computer’s physical components to
support the software that creates and manages virtual machines. In this technique of virtualization
unmodified guest is OS and no API are made. The sensitive calls are trapped by the hypervisor and
in 2006 it was added to x86 processors (Intel VT-x or AMD-V).
The products supporting hardware-assisted virtualization are VMware, Xen, Microsoft, and
Parallels.
@Mr. Ajay Kumar Badhan
17 PART - I: VIRTUALIZATION
VIRTUALIZATION HARDWARE
COMPARISION
OS Assisted
Hardware Assisted
Parameters Full Virtualization Virtualization/Paravirtualizat
Virtualization
Virtualization ion
ion
Binary
Binary Translation
Translation && Exit
Exittoto Root Mode
Root Mode on on
Technique
Technique Hypercalls
Hypercalls
Direct Execution privileged instructions
Direct Execution privileged instructions
Guest Guest OS codified to issue
Unmodified Guest OS Unmodified Guest OS Guest OSso codified to Native
issue
Modification/Co Hypercalls it can’t run on
Guest Unmodified Guest
Excellent Compatibility Excellent Compatibility
mpatibility Unmodified Guest OS Hardware or
Hypercalls soother Hypervisor
it can’t run on
Modification/C OS Excellent
Performance Good Excellent Compatibility
Fair NativeBetter
Hardware or other
in Certain Cases
ompatibility Compatibility
Hypervisor
VMware, Microsoft, VMware, Microsoft,
Used by VMware, Xen
Performance Good
Parallels Fair Xen
Parallels, Better in Certain Cases
Guest OS Xen Linux runs only in Xen
VMware, Microsoft, VMware, Microsoft,
Hypervisor
Used by Yes Yes Hypervisor
VMware, Xen
Independent? Parallels Parallels, Xen VMI-Linux is Hypervisor agnostic
Generation 1st 3rd Xen Linux runs
2nd only in Xen
Guest OS
Hypervisor
Hypervisor Yes Yes
@Mr. Ajay Kumar Badhan VMI-Linux is Hypervisor
18 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES
There are various types of virtualization. Some of them are:
Server Virtualization (SerV) Desktop Virtualization (DeskV)
Storage Virtualization (StoreV) Presentation Virtualization (PresentV)
Network Virtualization (NetV) Application Virtualization (AppV)
Management Virtualization (ManageV)
Server Virtualization (SerV)
It is a process of partitioning the resources of a single server into multiple virtual servers.
These virtual servers can run as separate machines.
Server virtualization allows businesses to run multiple independent OSs (guests or virtual) all with
different configurations using a single (host) server.
The process also saves the hardware cost involved in keeping a host of physical servers, so
businesses can make their server infrastructure more streamlined.
There are two aspects of server virtualization. They are:
Software Virtualization
Hardware Virtualization
@Mr. Ajay Kumar Badhan
19 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Server Virtualization (SerV)
There are two aspects of server virtualization. They are:
Software Virtualization
Hardware Virtualization
Software Virtualization (SoftV)
It runs the virtualize operating system on top of a software virtualization platform running on an
existing operating system.
Example: Type 2 Hypervisor like VMware Workstation or Virtual Box.
Hardware Virtualization (HardV)
It runs the virtualized operating system on top of a software platform running directly on top of the
hardware without an existing operating system.
The engine used to run hardware virtualization is usually referred to as a hypervisor (actually Native
/Type 1 hypervisor).
The purpose of this engine is to expose hardware resources to the virtualized operating systems.
Example: Oracle VM Server, Citrix XenServer
@Mr. Ajay Kumar Badhan
20 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Storage Virtualization (StoreV)
It is used to merge physical storage from multiple devices so that they appear as one single storage
pool.
The storage in this pool can take several forms:
Direct-attached Storage (DAS),
Network attached Storage (NAS), or
Storage Area Networks (SANs).
The storage virtualization software aggregates and manages storage in various storage arrays and
serves it to applications whenever needed.
The centralized virtual storage increases flexibility and availability of resources needed. This data
virtualization and centralization is easily manageable from a central console. It allows users to
manage and access multiple arrays as a single storage unit.
@Mr. Ajay Kumar Badhan
21 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Network Virtualization (NetV)
It helps to control the available bandwidth by splitting
it into independent channels that can be assigned to
specific resources.
Example: the simplest form of network virtualization
is the Virtual Local Area Network (VLAN), which
creates a logical segregation of a physical network.
Network virtualization helps network optimization for
data transfer rates, flexibility, reliability, security, and
scalability.
It improves the overall network’s productivity and
efficiency.
It becomes easier for administrators to allocate and
distribute resources conveniently and ensure high and
stable network performance.
@Mr. Ajay Kumar Badhan
22 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Management Virtualization (NetV)
It is focused on the technologies that manage the entire datacenter, both physical and virtual, to present
one single unified infrastructure for the provision of services.
Two key layers are segregated at all times:
Resource Pools (RP): It basically includes the collection of hardware resources — host servers,
racks, enclosures, storage, and network hardware—that makes up the datacenter infrastructure
Virtual Services Offerings (VSO): or workloads that are made up of the virtual machines—
servers and/or desktops—that are client-facing and offer services to end-users.
@Mr. Ajay Kumar Badhan
23 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Desktop Virtualization (DeskV)
Creating a Virtual Desktop Infrastructure, or VDI, makes it possible to work and store files in
locations that everyone in your team can easily access no matter where they work.
It allows people to access multiple applications and operating systems (OS) on a single computer
because the applications and OSs are installed on virtual machines that run on a server in the data
centre
When it comes to desktop virtualization, there are two main
methods:
local and remote.
Local and remote desktop virtualization are both
possible depending on the business needs.
Remote desktop virtualization is more robust and popular in the
marketplace, with users running operating systems and
applications accessed from a server located inside a secure data
centre.
@Mr. Ajay Kumar Badhan
24 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Application Virtualization (AppV)
The process of installing an application on a central server (single computer system) that can virtually
be operated on multiple systems is known as application virtualization.
For end users, the virtualized application works exactly like a native application installed on a physical
machine.
With application virtualization, it’s easier for organizations to update, maintain, and fix applications
centrally.
Admins can control and modify access permissions to the application without logging in to the user’s
desktop.
Virtualizing an app allows for seamless use for the end-user, making it possible for the employee to
work remotely with the same key programs installed in the office. When virtualized, apps work in what
is called a sandbox, an environment that runs separately from the operating system. While operating in
this sandbox, any changes will appear to run in the operating system, though the app is pulling
operating power from the sandbox.
@Mr. Ajay Kumar Badhan
25 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Application Virtualization (AppV)
There are two distinct kinds of application virtualization:
Remote applications run on a server that mimics the user desktop and can be accessed by authorized
users regardless of their location.
Streaming apps run just one instance on the server and provide local access to the app.
@Mr. Ajay Kumar Badhan
26 PART - I: VIRTUALIZATION
VIRTUALIZATION TYPES Conti…
Data Virtualization (DataV)
Data virtualization is a data management approach. It retrieves, segregates, manipulates, and delivers
data without any data specifications.
Any technical details of the data like its exact location and formatting information are not needed to
access it. It allows the application to get a singular view of the overall data with real-time access.
Data virtualization software helps with data warehouse management and eliminates latency. It also
provides users with on-demand integration, quick analysis, and real-time search and reports
capabilities.
@Mr. Ajay Kumar Badhan
27 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
INTRODUCTION TO STATIC LAN [SLAN]
A LAN (Local Area Network) is a computer network that consists of access points, cables, routers,
and switch that enables devices to connect to web servers and internal servers within a single building,
campus or home network and to other LANs
A router assigns IP addresses to each device on the network and facilitates a shared Internet
connection between all the connected devices.
A network switch connects to the router and facilitates communication between connected devices,
but does not handle Local Area Network IP configuration or sharing Internet connections.
Switches are ideal tools for increasing the number of LAN ports available on the network.
@Mr. Ajay Kumar Badhan
28 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
FLOW OF PACKETS in STATIC LAN
@Mr. Ajay Kumar Badhan
29 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
FLOW OF PACKETS in STATIC LAN
@Mr. Ajay Kumar Badhan
30 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
FLOW OF PACKETS in STATIC LAN
@Mr. Ajay Kumar Badhan
31 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
FLOW OF PACKETS in STATIC LAN
@Mr. Ajay Kumar Badhan
32 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
FLOW OF PACKETS in STATIC LAN
@Mr. Ajay Kumar Badhan
33 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
COLLISION DOMAIN
A collision domain is, as the name implies, the part of a network where packet collisions can occur.
A collision occurs when two devices send a packet at the same time on the shared network segment.
The packets collide and both devices must send the packets again, which reduces network efficiency.
Collisions are often in a hub environment because each port on a hub is in the same collision domain.
By contrast, each port on a bridge, a switch, or a router is in a separate collision domain.
6 Collision Domains
@Mr. Ajay Kumar Badhan
34 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
BROADCAST DOMAIN
A broadcast domain is the domain in which a broadcast is forwarded. A broadcast domain contains all
devices that can reach each other at the data link layer (OSI layer 2) by using broadcast. All ports on a
hub or a switch are by default in the same broadcast domain. All ports on a router are in the different
broadcast domains and routers don’t forward broadcasts from one broadcast domain to another.
3 Broadcast Domains
It is observed that all the ports on a hub or a switch are in the same broadcast domain and all the ports
on the router are in a different broadcast domain.
@Mr. Ajay Kumar Badhan
35 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
ISSUES
As the number of devices in the Broadcast Domain increases, the number of Broadcasts also increases and
the quality of the network will come down because of the following reasons:
Decrease in available Bandwidth: A large number of Broadcasts will reduce the available bandwidth
of network links for normal traffic because the broadcast traffic is forwarded to all the ports in a
switch.
Decrease in processing power of computers: Since the computers need to process all the broadcast
packets it receives, a portion of the computer CPU power is spent on processing the broadcast packets.
@Mr. Ajay Kumar Badhan
36 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
WHY VLAN?
A VLAN shares similar characteristics to a LAN, but a VLAN allows different computers and devices
to be connected virtually to each other as if they were in a LAN sharing a single broadcast domain.
In a way, a VLAN acts as mini separate networks within a LAN. A VLAN is helpful for organizational
use mainly because it can be used to segment a larger network into smaller segments. As shown in the
figure below, different VLANs can be used for different groups of users, departments, functions, etc.,
without needing to be in the same geographical area.
Segmentation of a network helps to increase the
security, reliability, and efficiency of a network.
There are a variety of ways a VLAN can be
utilized to fit an organization’s needs.
@Mr. Ajay Kumar Badhan
37 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
It allows different computers and devices to be connected virtually to each other as if they were in a
LAN sharing a single broadcast domain.
It is helpful for organizational use mainly because it can be used to segment a larger network into
smaller segments.
It can limit user access to a certain VLAN, which then allows only authorized users to have access to
networks with highly sensitive information.
It can be used for different groups of users, departments, functions, etc., without needing to be in the
same geographical area.
It can help reduce IT costs, improve network security and performance, provide easier management, as
well as ensure network flexibility..
@Mr. Ajay Kumar Badhan
38 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
SCENARIO OF VLANS
@Mr. Ajay Kumar Badhan
39 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
SCENARIO OF VLANS
@Mr. Ajay Kumar Badhan
40 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
SCENARIO OF VLANS
@Mr. Ajay Kumar Badhan
41 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
VLAN IMPLEMENTATION
Port Based VLAN
Ports of switch are simply assigned to VLANs, without any additional criteria
@Mr. Ajay Kumar Badhan
42 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
VLAN TYPES
Port Based VLAN
It groups Virtual Local Area Network by port. In this type a switch port can be configured
manually to a member of VLAN.
Devices that are connected to the port will belong to the same broadcast domain. The reason is all
other ports are configured with a similar VLAN number.
The challenge is to determine which ports are appropriate to each VLAN.
The membership of the VLAN can’t be determined by the physical of a switch. It can be
determined by checking the configuration information.
Protocol Based VLAN
It processes traffic based on a protocol that can be used to define filtering criteria for tags i.e.
untagged packets
In this a layer 3 protocol is carried by the frame to determine VLAN membership.
It works in multi protocol environments.
Not practical in a predominately IP based network
@Mr. Ajay Kumar Badhan
43 PART - I: VIRTUALIZATION
CONCEPTS OF VLAN, VSAN, & VSAN
VLAN TYPES
MAC Based VLAN
It allows incoming untagged packets to be assigned to Virtual LAN and thereby classify traffic
depending on the packet source address.
A MAC address can be defined to VLAN by configuring the mapping of the entry in MAC to the
VLAN table.
ADVANTAGES OF VLAN
Performance
Formation of virtual Workgroups
Flexibility
Ease of Partitioning of resources.
@Mr. Ajay Kumar Badhan
44 PART - I: VIRTUALIZATION
STORAGES
Introduction
Computer memory and Local Storage might not provide enough storage, storage protection,
multiple user access, or speed and performance for enterprise applications.
So most organization employ some form of SAN in addition to Network attached Storage (NAS)
for improved efficiency and better data management.
STORAGE AREA NETWORK
A storage area network is a dedicated, high-performance storage system that transfers block-
level data between servers and storage devices.
SAN is typically used in data centres, enterprises or virtual computing environments.
It offers the speed of DAS with the sharing, flexibility and reliability of NAS.
SAN storage is a very sophisticated option that’s meant to support complex, mission-critical
applications.
@Mr. Ajay Kumar Badhan
45 PART - I: VIRTUALIZATION
STORAGES
Best Use Case Scenario
SAN is best for block level data sharing of mission-critical files or applications at data centres
or large scale enterprise organization.
Worst Use Case Scenario
SAN can be a significant investment and is a sophisticated solution that’s typically reserved for
serious large scale computing needs.
A small to middle size organization with a limited budget and few IT staffs or resources likely
wouldn’t need SAN
@Mr. Ajay Kumar Badhan
46 PART - I: VIRTUALIZATION
STORAGES
Why Storage Area Network are Important?
It supports networking flexibility enabling one server, or many heterogeneous servers across multiple
data centres, to share a common storage utility.
It eliminates the traditional dedicated connection between a file server and storage.
It eliminates the bandwidth bottlenecks.
Advantages of SAN
Improved Application Availability
Storage exists independently of applications, and it's accessible through multiple paths for increased
reliability, availability and serviceability.
Better Application Performance
SANs offload and move storage processing from servers onto separate networks.
Central and Consolidated
It makes simpler management, scalability, flexibility and availability possible
Remote site data transfer and vaulting
SAN protects data from disaster and malicious attacks with a remote copy
Simple Centralized Management
SAN simplify management by creating single images of storage media
@Mr. Ajay Kumar Badhan
47 PART - I: VIRTUALIZATION
STORAGES – VIRTUAL SAN
Introduction
It is a software based component that provides a “Virtualized POOL” of storage to multiple virtual
machines (VMs) and applications
In order to achieve this, data is passed between servers over a network using a protocol such as iSCSI
or fibre channel.
It enables the organizations to eliminate the dedicated storage hardware and associated networking
within their physical infrastructure.
The Virtual SAN is installed on commodity X86 servers,
often the same servers that generally handle’s the
organization compute functionality.
It converges the traditional datacenter hardware components
into a single virtualized appliance, controlled by a software
layer.
It can neither be installed as a Software program that runs on
a virtual machine or be incorporated into a storage vendor
firmware and sold as a single, consolidated solutions.
@Mr. Ajay Kumar Badhan
1 CSE 423: VIRTUALIZATION & CLOUD COMPUTING
2/18/2022
by
Mr. Ajay Kumar Badhan
Assistant Professor
[Link][CST], [Link] [CSE]
Email: ajay.27337@[Link]
Personal Blog: [Link]
Preferred Text Book
Cloud Computing Bible: Barrie Sosinky – 1st Edition, Wiley India Pvt. Ltd.
Cloud Computing: Fundamentals, Industry Approach & Trends by Rishabh Sharma, Wiley
Cloud Computing: Principles & Paradigms by Raj Kumar Buyya, James Broberg, Andrzej
Goscinski, Wiley
@Mr. Ajay Kumar Badhan
2 PART -II: PARALLEL & DISTRIBUTED COMPUTING
CONTENT
DISTRIBUTED COMPUTING
Parallel and Distributed Systems
Parallel Computing
Parallel Computer Architecture
Distributed Systems
Differences & Similarities
@Mr. Ajay Kumar Badhan
3 PART -II: PARALLEL & DISTRIBUTED COMPUTING
INTRODUCTION
DISTRIBUTED SYSTEMS
It is a collection of independent entities that cooperate to solve a problem that cannot be
individually solved.
It’s been in existence since the start of the universe.
For computing systems, a distributed system has been characterized as follows:
A collection of computers that do not share common memory or a common physical
clock, that communicate by message passing over a communication network. Each computer
has its own memory and runs its own operating system
A collection of independent computers that appear to the users of the system as a single
coherent computer.
A term that describes a wide range of computers, from weakly coupled systems such as
wide area networks, to strongly coupled systems such as local area networks to very
strongly coupled systems such as multiprocessor systems.
@Mr. Ajay Kumar Badhan
4 PART -II: PARALLEL & DISTRIBUTED COMPUTING
INTRODUCTION
FEATURES OF DISTRIBUTED SYSTEMS
No Common Physical Clock
It is am important assumption as it introduces the element of “distribution” in the system and
gives rise to the inherent asynchrony amongst the processors.
No Shared Memory
A key feature that requires message passing for communication.
This feature implies the absence of the common physical clock
Geographical Separation:
Geographically the wider apart the processors are, the more representative the system of the
distributed system.
It is not necessary for the processors to be on a wide area network .
Autonomy and Heterogeneity: The processors are “loosely coupled”. They have different speeds
and each can be running on a different operating system. They are not part of dedicated systems, but
cooperate with one another by offering services or solving a problem jointly.
@Mr. Ajay Kumar Badhan
5 PART -II: PARALLEL & DISTRIBUTED COMPUTING
RELATION TO COMPUTER SYSTEM COMPONENT
The distributed system is presented as:
Each computer has a memory processing It shows the relationship of the software
unit and the computers are connected by a components that run on each of the computers and
communication network. use the local operating system and network
protocol stack for functioning.
The distributed software is also termed as “middleware”
A distributed execution is the execution of the process across the distributed system to
collaboratively achieve a common goal.
An execution is also termed as a “computation” or “run”
@Mr. Ajay Kumar Badhan
6 PART -II: PARALLEL & DISTRIBUTED COMPUTING
RELATION TO COMPUTER SYSTEM COMPONENT
The distributed system is presented as:
The distributed system uses the layered architecture
to break down the complexity of system design.
The middleware is the distributed software that
drives the distributed system. It provides the
transparency of heterogeneity at the platform level
It is assumed that the middleware layer does not
contain the traditional application layer
functions of the network protocol stack such as
HTTP, MAIL, FTP and TELNET
Various primitives and calls to functions defined in various libraries of the middleware layer are
embedded in the user program code
@Mr. Ajay Kumar Badhan
7 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING
INTRODUCTION
It is the use of multiple processing elements simultaneously for solving any problem.
Problems are broken down into instructions and are solved concurrently as each resource that has
been applied to work is working at the same time.
Advantages (over Serial Computing)
It saves time and money as many resources working together will reduce the time and cut potential
costs.
It can be impractical to solve larger problems on Serial Computing.
It can take advantage of non-local resources when the local resources are finite.
Serial Computing ‘wastes’ the potential computing power, thus Parallel Computing makes better
work of the hardware.
@Mr. Ajay Kumar Badhan
8 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING
TYPES OF PARALLELISM
Bit Level Parallelism
It is the form of parallel computing which is based on the increasing processor’s size.
It reduces the number of instructions that the system must execute in order to perform a task on
large-sized data.
Instruction Level Parallelism
A processor can only address less than one instruction for each clock cycle phase.
These instructions can be re-ordered and grouped which are later on executed concurrently without
affecting the result of the program.
This is called instruction-level parallelism.
Task Parallelism
It employs the decomposition of a task into subtasks and then allocating each of the subtasks for
execution.
The processors perform the execution of sub-tasks concurrently.
@Mr. Ajay Kumar Badhan
9 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING
TYPES OF PARALLELISM
Data Level Parallelism
Instructions from a single stream operate concurrently on several data – Limited by non-regular data
manipulation patterns and by memory bandwidth
WHY PARALLEL COMPUTING?
Real-world data needs more dynamic simulation and modeling, and for achieving the same, parallel
computing is the key.
Parallel computing provides concurrency and saves time and money.
Complex, large datasets, and their management can be organized only and only using parallel
computing’s approach
Ensures the effective utilization of the resources
APPLICATIONS
Databases and Data mining.
Real-time simulation of systems
Advanced graphics, augmented reality, and virtual reality.
@Mr. Ajay Kumar Badhan
10 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING
LIMITATIONS OF PARALLEL COMPUTING
It addresses such as communication and synchronization between multiple sub-tasks and processes
which is difficult to achieve.
The algorithms must be managed in such a way that they can be handled in a parallel mechanism.
The algorithms or programs must have low coupling and high cohesion. But it’s difficult to create
such programs.
More technically skilled and expert programmers can code a parallelism-based program well.
@Mr. Ajay Kumar Badhan
11 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING ARCHITECTURE
Parallel Architecture Types:
The parallel computer architecture is classified based on the following:
Multiprocessors
Multi Computers
Models based on Shared Memory Multi Computers:
1. Uniform Memory Access (UMA)
all the processors share the physical memory uniformly.
All the processors have equal access time to all the memory words.
Each processor may have a private cache memory.
Same rule is followed for peripheral devices.
When all the processors have equal access to all the peripheral devices, the system is called
a symmetric multiprocessor.
When only one or a few processors can access the peripheral devices, the system is called
an asymmetric multiprocessor.
@Mr. Ajay Kumar Badhan
12 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING ARCHITECTURE
Parallel Architecture Types:
1. Uniform Memory Access (UMA)
When all the processors have equal access to all the peripheral devices, the system is called
a symmetric multiprocessor.
When only one or a few processors can access the peripheral devices, the system is called
an asymmetric multiprocessor.
@Mr. Ajay Kumar Badhan
13 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING ARCHITECTURE
Parallel Architecture Types:
2. Non-Uniform Memory Access (NUMA)
In the NUMA multiprocessor model, the access time varies with the location of the memory word.
In this, the shared memory is physically distributed among all the processors, called local
memories.
The collection of all local memories forms a global address space that can be accessed by all the
processors.
@Mr. Ajay Kumar Badhan
14 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING ARCHITECTURE
Parallel Architecture Types:
3. Cache Only Memory Architecture (COMA)
It is a special case of the NUMA model.
In this the distributed main memories are converted to cache memories
@Mr. Ajay Kumar Badhan
15 PART -II: PARALLEL & DISTRIBUTED COMPUTING
PARALLEL COMPUTING ARCHITECTURE
Parallel Architecture Types:
4. No-Remote Memory Access (NORMA)
It consists of multiple computers, known
as nodes interconnected by a message-
passing network.
Each node act as an autonomous
computer having a processor, a local
memory, and sometimes I/O devices.
Note: All local memories are private and
are accessible only to local processors.
That’s the reason traditional machines are
called “No-Remote Memory Access
(NORMA)”
@Mr. Ajay Kumar Badhan
16 PART -II: PARALLEL & DISTRIBUTED COMPUTING
DISTRIBUTED SYSTEM TYPES
Distributed System Types
The nodes in the distributed system can be arranged in the form of client/server or peer-to-peer
systems.
Client/Server Model
In this the client request the resources and the server provides the resources.
A server may serve multiple clients at the same time while a client is in contact with only one server
The client and the server communicate with each other via computer networks.
Peer-to-Peer Model
They contain nodes that are equal participants in data sharing.
All the tasks are equally divided between all the nodes.
The nodes interact with each other as required and share the resources.
@Mr. Ajay Kumar Badhan
17 PART -II: PARALLEL & DISTRIBUTED COMPUTING
DISTRIBUTED SYSTEM – ADVANTAGES/DIS. ADV.
Advantages of Distributed System
All the nodes in the distributed system are connected to each other. So nodes can share data with
other nodes
More nodes are easily be added to the distributed system i.e. it can scale as required
Failure of one node does not lead to the failure of an entire distributed system. Other nodes can still
communicate with each other.
Resources like printers can be shared with multiple nodes rather than been restricted to just one
Dis-Advantages of Distributed System
It is difficult to provide adequate security in distributed systems because the nodes as well the
connection need to be secured
Some messages and data can be lost in the network while traveling from one node to another
The database connected to the distributed system is quite complicated and difficult to handle as
compared to a single user system
Overloading may occur in the network if all the nodes try to send data at once.
@Mr. Ajay Kumar Badhan
18 PART -II: PARALLEL & DISTRIBUTED COMPUTING
DISTRIBUTED COMPUTING MODELS
The Models are:
Virtualization
Service-oriented Architecture (SOA)
Grid Computing
Utility Computing
Virtualization
It is a technique that allows sharing
single physical instance of an
application or resource among
multiple organization or tenants
@Mr. Ajay Kumar Badhan
19 PART -II: PARALLEL & DISTRIBUTED COMPUTING
DISTRIBUTED COMPUTING MODELS
Service-Oriented Architecture
It helps to use the application as a service for other applications regardless of the type of vendor,
product, or technology
It is possible to exchange the data between applications of different vendors without additional
programming or making changes to service.
@Mr. Ajay Kumar Badhan
20 PART -II: PARALLEL & DISTRIBUTED COMPUTING
DISTRIBUTED COMPUTING MODELS
Grid Computing
It refers to distributed computing, in which a group of computers from multiple locations are
connected with each other to achieve a common objective. These computer resources are
heterogeneous and graphically distributed.
It breaks complex tasks into smaller pieces, which are distributed to CPUs that reside within the
grid.
Utility Computing
It is based on a pay-per-use model.
It offers computational resources on-
demand as a metered service.
Cloud computing, Grid computing and
managed IT services are based on the
concept of utility computing.
@Mr. Ajay Kumar Badhan
21 PART -II: PARALLEL & DISTRIBUTED COMPUTING
COMPARISION OF PARALLEL & DISTRIBUTED COMPUTING
Parallel Computing
In parallel computing multiple processors perform multiple tasks assigned to them simultaneously
Memory in a Parallel system can either be shared or distributed.
Parallel Computing Provides concurrency and saves time and money.
Distributed Computing
In this, multiple autonomous computers will be working and it seems to the user as a single
system.
In this there is no shared memory and computers communicate with each other through message
passing.
In this computing, a single task is divided among different computers.
@Mr. Ajay Kumar Badhan
22 PART -II: PARALLEL & DISTRIBUTED COMPUTING
COMPARISION OF PARALLEL & DISTRIBUTED COMPUTING
Parameter Parallel Computing Distributed Computing
Parallel computing is a computation Parallel computing is a computation type in
Parallel vs.
type in which multiple processors which multiple processors execute multiple
Distributed
execute multiple tasks simultaneously tasks simultaneously
No. of
Parallel computing occurs on one Distributed computing occurs between
Computers
computer. multiple computers.
Required
Processing In parallel computing multiple In distributed computing, computers rely on
Mechanism processors perform processing. message passing.
There is no global clock in distributed
Synchronizati All processors share a single master
computing, it uses synchronization
on clock for synchronization
algorithms.
In Parallel Computing, computers can
In Distributed computing, each computer
Memory have shared memory or distributed
has their own memory
memory
Parallel computing is used to increase
Distributed computing is used to share
Usage performance and for scientific
resources and to increase scalability.
computing
@Mr. Ajay Kumar Badhan