The Distributed Computing Paradigms
The Distributed Computing Paradigms
The Distributed Computing Paradigms
net/publication/258442011
The Distributed Computing Paradigms: P2P, Grid, Cluster, Cloud, and Jungle
CITATIONS READS
37 4,142
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Brijender Kahanwal on 24 August 2019.
Abstract: The distributed computing is done on many systems to solve a large scale problem. The growing of high-speed
broadband networks in developed and developing countries, the continual increase in computing power, and the rapid growth of the
Internet have changed the way. In it the society manages information and information services. Historically, the state of computing
has gone through a series of platform and environmental changes. Distributed computing holds great assurance for using computer
systems effectively. As a result, supercomputer sites and datacenters have changed from providing high performance floating point
computing capabilities to concurrently servicing huge number of requests from billions of users. The distributed computing system
uses multiple computers to solve large-scale problems over the Internet. It becomes data-intensive and network-centric. The
applications of distributed computing have become increasingly wide-spread.
In distributed computing, the main stress is on the large scale resource sharing and always goes for the best performance. In
this article, we have reviewed the work done in the area of distributed computing paradigms. The main stress is on the evolving area
of cloud computing.
Cloud services are mainly divided into three services Sequential Applications Parallel Programming Environment
delivery models: SaaS (Software as a Service, e.g. Google
Mail), PaaS (Platform as a Service, e.g. Google AppEngine) Cluster Middleware
(Single System Image and Availability Infrastructure)
and IaaS (Infrastructure as a Service, e.g. Amazon EC2).
Since the work presented in this chapter is strongly related to PC workstation PC workstation PC workstation
Infrastructure as a Service model, we only focus in this Communication S/W Communication S/W Communication S/W
Network Interface H/W Network Interface H/W Network Interface H/W
section on this category of service. IaaS providers aim to offer
resources to users as pay-as-you-go manner. A key provider of
such a service is Amazon through its Elastic Cloud HIGH SPEED NETWORK OR SWITCH
Computing (EC2) and Simple Storage Service (S3).
The academicians and the giant groups are doing their Figure 4.1: Cluster Computer Architecture
best to comeback with the new concepts of the distributing
computing and they have given so many good results. But
there is always an intension to develop a better technology, so Components of Cluster Computing:
we are here and cloud computing is the recent topic on which There are so many components of the cluster
work is in progress. computing as follows:
o High Performance Computers like PCs, Workstations etc.
o Micro- kernel based operating systems.
3 Peer-to-Peer Computing
o High speed networks or switches like Gigabit Ethernets.
Peer-to-peer (P2P) networking has been working o NICs (Network Interface Cards)
primarily on the scalability issues inherent in distributing o Fast Communication Protocols and Services
resources over a large number of networked processes. In a o Cluster Middleware which is hardware, Operating system
P2P system, every node acts as both a client and a server, kernels, applications and subsystems.
providing part of the system resources. Peer machines are o Parallel Programming Environment Tools like compilers,
simply client computers connected to the Internet. All client parallel virtual machines etc.
machines act autonomously to join or leave the system freely. o Sequential and Parallel applications
This implies that no master-slave relationship exists among The cluster middleware is very much capable for
the peers. No central coordination or no central database is
offering an elusive and a unified system image.
needed. In other words, no peer machine has a global view of
the entire P2P system. The system is self-organizing with There is the classification of clusters as shown in the
distributed control as shown in the Figure 3.1. Figure 4.2.
Highly Avalilability Load Balancing High Performance High Performance Computing Clusters
Clusters Clusters Computing Clusters The enterprises are now using large-scale clusters that
are often shared across departments with easy public access.
High performance clusters are used where time to solution is
important. They are also used in cases where a problem is so
Software-based big it can’t “fit” on one single computer. To increase
computing throughput, HPC clusters are used in a variety of
ways.
Hardware-based The easiest way is to allow the cluster to act as a
compute farm. Instead of running a job on a local workstation,
it is submitted to the cluster for execution. The cluster will
Figure 4.2: Cluster Computing Classification manage the resources needed for the job and assign the job to
a work queue. When the resource (for instance, a server) is
High-availability clusters
These are also called Failover Clusters. These are available, the job gets executed and the results are returned to
groups of computers that support server applications. These the user. Users who need to run many similar jobs with
can be reliably utilized with a minimum of down-time. They different parameters or data sets find clusters ideal for this
operate by harnessing redundant computers in groups or kind of work. They can submit hundreds of jobs and allow the
clusters that provide continued service when system cluster to manage the work flow. Depending on the resources,
components fail. Without clustering, if a server running a all the jobs may run at the same time or some may wait in the
particular application crashes, the application will be queue while other jobs finish. This type of computing is local
unavailable until the crashed server is fixed. Such type of to a cluster node, which means the node doesn’t communicate
clusters remedies this situation by detecting with other nodes, but may need high speed file system access.
hardware/software faults, and immediately restarting the
application on another system without requiring 5 Utility Computing
administrative intervention, a process known as failover. As Utility computing is envisioned to be the next
part of this process, clustering software may configure the generation of Information Technology evolution that depicts
node before starting the application on it. how computing needs of users can be fulfilled in the future IT
industry. Its analogy is derived from the real world where
Load balancing clusters service providers maintain and supply utility services, such as
Load balancing is often required when building electrical power, gas, and water to consumers. Consumers in
solutions that handle large volumes of client requests or that turn pay service providers based on their usage. Therefore, the
have high demands on security and redundancy. Clusters underlying design of utility computing is based on a service
support multiuser and multitasking environments. These provisioning model, where users (consumers) pay providers
factors accompanied by the heterogeneous nature of the for using computing power only when they need to. Utility
cluster hardware and software leads to the situation that the computing focuses on a business model, by which customers
overall distribution of the workload of a cluster is hard to receive computing resources from a paid service provider. All
predict at any particular moment. The static approach to I/O grid/cloud platforms are regarded as utility service providers.
planning is consequently almost useless. The two major However, cloud computing offers a broader concept than
categories of load balancing implementations are: utility computing.
Software-based load balancing consists of special
software that is installed on the servers in a load-balanced 5.1 Grid Computing
cluster. The software dispatches or accepts requests from the The aim of Grid computing is to enable coordinated
client to the servers, based on different algorithms. The resource sharing and problem solving in dynamic, multi-
algorithms can be a simple round-robin algorithm or a much institutional virtual organizations.
more complicated algorithm that considers server affinity. For As an electric-utility power grid, a computing grid
example, Microsoft Network Load Balancing is a load offers an infrastructure that couples computers,
balancing software for Web farms, and Microsoft Component software/middleware, special instruments, and people and
Load Balancing is a load balancing software for application sensors together. Grid is often constructed across LAN, WAN,
farms. or Internet backbone networks at regional, national, or global
Hardware-based load balancing consists of a scales. Enterprises or organizations present grids as integrated
specialized switch or router with software to give it load computing resources. They can be viewed also as virtual
balancing functionality. This solution integrates switching and platforms to support virtual organizations. The computers
load balancing into a single device, which reduces the amount used in a grid are primarily workstations, servers, clusters, and