Unit 9 – Distributed
computing
architectures and
virtualization
Computer
Networks
• A group of two or more computers
linked together.
• Autonomous and operate
independently.
• Computers and communication
equipment in a network are referred
as HOSTS or NODES.
Computer
Networks
• Shared channel connectivity
– all nodes are connected to
a shared link. (LAN)
• Point-to-point connectivity
– a link connecting two nodes
are of exclusive use of those 2
nodes. (WAN)
Computer
Networks
• LAN – a kind of shared channel
connection. Communication speed is
comparatively high.
• WAN – LANs are interconnected together
by the use of switches. It is a kind of
point-to-point connection. Communication
speed is comparatively low.
Multiprocessing
Systems
Tightly coupled multiprocessing
system
• share the same global memory and
I/Os.
Multiprocessing
Systems
Loosely coupled multiprocessing
system
• Systems are having their own
memory and IOs.
• They are connected using a
communication link (shared channel
or point-to-point connection)
Distributed
Systems
• A collection of independent
computers linked together.
• Provide coherent services to its
users.
• Existence of multiple autonomous
computers is transparent to the
users.
• Resource sharing, reliability, load
sharing, balancing for speeding up
Distributed Systems – client
server model
• Server machines – manage resources
(printers, files, databases etc) and provide
services to clients.
• Client machines - request services from
the server.
• A machine can at the same time be a
server and a client. This is sometimes
called “three-tier architecture”.
Characteristics of a distributed
system
• Heterogeneity
• Location transparency
• Access transparency
• Migration (mobility) transparency
• Replication transparency
• Concurrency transparency
• Failure transparency
Computer
Cluster
• A group of dedicated computers
connected and configured to work
together as a unit.
Characteristics of Computer
Cluster
• Usually owned by a single company
or organization
• Can be situated in a single location
or scattered in multiple locations.
• Usually homogeneous, though it can
be heterogeneous.
Benefits of Computer Cluster
• Scalability.
• Fault tolerance.
• High availability.
• Load balancing.
• Good performance-to-price ratio.
Common configuration of
Computer Cluster
• Shared-nothing configuration.
• Shared-disk configuration.
Grid
Computing
• A distributed system that consume
certain (residue) resources of
individual computers in a network in
order to achieve a desired goal.
• Examples : SETI@home,
Folding@home
Mechanism of Grid
Computing
• Server breaks down the task into
subtasks.
• Send subtasks to associated
computers for execution
• Computers get subtasks and execute
them
• Computers send back the results
• Server receives all results and
combine them to form the result of
the original task.
Characteristics of Grid
Computing
• Grid computers usually belong to
different companies, organizations
or individuals.
• Usually scattered over a wide
geographical area.
• Heterogeneous.
Cloud
Computing
• Computing tasks are
accomplished as a
service over the Internet.
• Application – google
docs, Zoho, Microsoft
Office Web Apps.
• Cloud-based platform –
software environments
for running applications
of companies or
individuals. (Platform as
a Service PaaS)
Cloud
Computing
• Cloud based
infrastructure – provides
virtual machines to the
users. These machines
are to be accessed as a
complete system, via the
Internet. (Infrastructure
as a Service IaaS).
Cloud Computing – Benefits
• Cost savings.
• Maintenance free.
• Scalability.
• Universal access.
• Automatic software update.
• Sharing and collaboration
• Reliability for hosted applications.
Cloud Computing –
Concerns
• Online requirement.
• Reliability of cloud-base applications.
• Security
Virtualization
• Providing logical systems for users
irrespective of the underlying real and
physical systems.
• Platform Virtualization – a number of
virtual machines (guests) running on
top of an underlying system (host).
Virtualization
• Server Virtualization – virtual machines
are set up as servers.
• Servers set up in this way are
independent and don’t have any
interference on one another, as
opposed to running different servers on
a single computer.
Virtualization
• Desktop virtualization – virtual
machines are set up as desktops
(running a LINUX system in a Windows
environment).
• No need to reboot the physical
computer, as it required in dual-boot
system.
Virtualization
• Software virtualization :
– Operating system virtualization (shared kernel
virtualization / system level virtualization) –
provide operating system guest environments
identical to host operating system by sharing the
kernel.
– Kernel level virtualization – allows a host system
to execute modified guest kernels at application
level.
– Application virtualization – provides a standalone
execution environment (sand box) isolated from
the underlying operating system.
– Library emulation – provides the operating system
level system calls of a guest system in a different
host system. (WINE in LINUX and Cygwin in
Virtualization
• Presentation Virtualization – provides
virtual software environments for
executing applications.
– Examples
• Remote Desktop Services
• Virtual Network Computing (VNC)
Virtualization
• Network Virtualization – implements
logical networks for users, regardless
of whether or how users are actually
connected in a real network.
– Example : Virtual Private Network (VPN).
Virtualization
• Storage Virtualization – provides a
logical storage device from one or
more physical storage devices.
– Example : Storage Area Network (SAN).
Virtualization
• Memory Virtualization – enables
applications to use a logical addressing
space that is much larger than the
physical memory in a system.
• Example – Virtual Memory.
Benefits of Platform
Virtualization
• Cost savings
• Reliability
• Improved utilization
• Disaster recovery
• Ease of management
• Ease of development
• Ease of deployment
Virtual machine
technologies
• Emulation
– a piece of software that pretends to be a
processor.
– Interprets each CPU instruction given to it.
• Emulation and virtualization are different
ways of supporting virtual machines.
– Emulator pretends to be a process. It produces
the output of an user input as if it is issued to a
real CPU.
– Virtualizer provides a standalone and functional
view of system resources.
Hypervis
ors
• Hypervisor – a virtualization software
layer that interfaces with guest
systems on one side, and the computer
hardware or host operating system on
the other side.
• Two types of hypervisors – Native
hypervisors and Hosted hypervisors.
Native
hypervisor
• Also called “type 1 hypervisor”, or
“bare metal hypervisor”.
• Act as an optimized operating system
for the host computer.
• Bare metal means the hardware, since
it directly interacts with the hardware.
Hosted
hypervisor
• Also called “type 2 hypervisor.
• More accessible for users of desktop
computers running existing
operating system.
Paravirtualizat
ion
• Another virtualization
approach that uses a
hypervisor.
• Guest systems in
paravirtualization are
running modified operating
systems.
• Change privileged (kernel-
mode) instructions to
special calls to the
hypervisor.
• It can run faster in some
situation compared with
native and hosted