0% found this document useful (0 votes)
57 views10 pages

Computing Pradigm

This document provides an overview of distributed computing paradigms and recent trends. It discusses peer-to-peer computing, cluster computing, utility computing, grid computing, cloud computing, fog computing, and jungle computing. For each paradigm, it describes the basic architecture and characteristics. The key advantages of distributed computing models are efficient sharing of resources and improved performance through parallel processing across multiple computers. Overall distributed computing allows for flexible, on-demand access to virtualized computing power and storage over networks.

Uploaded by

Htun Aung Lynn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views10 pages

Computing Pradigm

This document provides an overview of distributed computing paradigms and recent trends. It discusses peer-to-peer computing, cluster computing, utility computing, grid computing, cloud computing, fog computing, and jungle computing. For each paradigm, it describes the basic architecture and characteristics. The key advantages of distributed computing models are efficient sharing of resources and improved performance through parallel processing across multiple computers. Overall distributed computing allows for flexible, on-demand access to virtualized computing power and storage over networks.

Uploaded by

Htun Aung Lynn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

1 Overview of Computing

Paradigm
Chapter

Automatic computing has changed the way humans can solve problems and the
different ways in which problems can be solved. Computing has changed the
perception and even the world more than any other innovation in the recent past.
Still, a lot of revolution is going to happen in computing. Understanding computing
provides deep insights and generates reasoning in our minds about our universe.
Over the last couple of years, there has been an increased interest in reducing
computing processors powers. This chapter aims to understand different distributed
computing technologies like peer to peer, cluster, utility, grid, cloud, fog and jungle
computing and comparison between them.

1.1 RECENT TRENDS IN DISTRIBUTED COMPUTING

A method of computer processing in which different parts of a program are


executed simultaneously on two or more computers that are communicating
with each other over a network is termed distributed computing. In distributed
computing, the processing requires that a program be segmented into sections
that can run simultaneously, it is also required that the division of the program
should consider different environments on which the different sections of the
program will be executing. Three significant characteristics of distributed systems
are concurrency of components, lack of a global clock and independent failure of
components.
A program that runs in a distributed system is called a distributed program,
and distributed programming is the process of writing such programs. Distributed
computing also refers to solving computational problems using the distributed
systems. Distributed computing is a model in which resources of a system are
shared among multiple computers to improve efficiency and performance as shown
in Fig. 1.1. 

1
2  Cloud Computing

Fig. 1.1  Workflow of distributed systems

Distributed computing system has following characteristics:


• It consists of several independent computers connected via a communication
network.
• The message is being exchanged over the network for communication.
• Each computer has its own memory, clock and runs its own operating
system.
• Remote resources are accessed through the network.
Various classes of distributed computing shown in Fig.1.2 and it will be discussed
further in the subsequent sections.
Distributed computing

P2P Cluster Utility Jungle


computing computing computing computing

Grid Cloud Fog


computing computing computing

Fig. 1.2  Taxonomy of distributed computing

1.1.1 Peer to Peer Computing

When computers moved into mainstream use personal computers (PCs) were
connected together through LANs (Local Area Networks) to central servers.
These central servers were much more powerful than the PCs, so any large data
processing can take place on these servers. After which PCs have become much
more powerful, and capable enough to handle the data processing locally rather
than on central servers. Due to this, peer-to-peer (P2P) computing can now occur
Overview of Computing Paradigm   3

when individual computers by pass central servers to connect and collaborate


directly with each other.
A peer is a computer that behaves as a client in the client/server model. It also
contains an additional layer of software that allows it to perform server functions.
The peer computer can respond to requests from other peers by communicating a
message over the network.
P2P computing refers to a class of systems and applications that employ
distributed resources to perform a critical function in a decentralized manner.
The resources encompass computing power, data (storage and content), network
bandwidth and presence (computers, human, and other resources) [3]. P2P
computing is a network-based computing model for applications where computers
share resources and services via direct exchange shown in Fig.1.3.

Fig. 1.3  Peer to Peer network

Technically, P2P provides the opportunity to make use of vast untapped


resources that go unused without it. These resources include processing power for
large-scale computations and enormous storage potential. The P2P mechanism can
also be used to eliminate the risk of a single point of failure. When P2P is used
within the enterprise, it may be able to replace some costly data centre functions
with distributed services between clients. Storage, for data retrieval and backup,
can be placed on clients. P2P applications build up functions such as storage,
computations, messaging, security, and file distribution, through direct exchanges
between peers.

1.1.2 Cluster Computing

Cluster computing consists of a collection of interconnected standalone computers


cooperatively working together as a single integrated computing resource to
take advantage of the parallel processing power of those standalone computers.
Computer clusters have each node set to carry out same tasks controlled and
scheduled by software. The components of a cluster are connected to each other
through fast local area networks as shown in Fig.1.4. Clustered computer systems
4  Cloud Computing

have proven to be effective in handling a heavy workload with large datasets.


Deploying a cluster increases performance and fault tolerance.
Front-end Node

Switch

Node 1 Node 2 Node 3 Node 4

Fig. 1.4  Cluster computing

Some major advantages of cluster computing are manageability, single system


image and high availability. In the cluster, software is automatically installed and
configured, and the nodes of the cluster can be added and managed easily. So, it is
an open system that is very easy to deploy and cost-effective to acquire and manage.
Cluster computing contains some disadvantages also. It is hard to manage cluster
computing without experience. When the size of the cluster is large, it is difficult to
find out if something fails. It’s programming environment is hard to be improved
when software on some node is different from the other.
The use of clusters as a computing platform is not just limited to scientific
and engineering applications; there are many business applications that get benefit
from the use of clusters. This technology improves the performance of applications
by using parallel computing on different machines and also enables shared use of
distributed resources.

1.1.3  Utility Computing

Utility computing is a service provisioning model in which a service provider


makes computing resources and infrastructure management available to the
customer as per the need, and charges them for specific usage rather than a fixed
rate. It has an advantage of low cost with no initial cost to afford the computer
resources. This repackaging of computing services is the foundation of the shift
to on-demand computing, software as a service and cloud computing models.
Overview of Computing Paradigm   5

The customers need not to buy all the hardware, software and licenses to do
business. Instead, the customer relies on another party to provide these services.
Utility computing is one of the most popular IT service models primarily because
of the flexibility and economy it provides. This model is based on that used by
conventional utilities such as telephone services, electricity and gas. Customers
have access to a virtually unlimited supply of computing solutions over the
Internet or a virtual private network (VPN), which can be used whenever, where
ever required. The back-end infrastructure and computing resources management
and delivery are governed by the provider. Utility computing solutions can
include virtual software, virtual servers, virtual storage, backup and many more IT
solutions. Multiplexing, multitasking, and virtual multitenancy have brought us to
the utility computing business as shown in Fig.1.5. 

Fig. 1.5  Utility computing

1.1.4  Grid Computing

A scientist studying proteins logs into a computer uses an entire network of


computers to analyze data. A businessman accesses his company’s network
through a Personal Digital Assistant in order to forecast the future of a particular
stock. An army official accesses and coordinates computer resources on three
different military networks to formulate a battle strategy. All these scenarios have
one thing in common : they rely on a concept called grid computing. At its most
basic level, grid computing is a computer network in which each computer’s
resources are shared with every other computer in the system. Processing power,
memory and data storage are all community resources that authorized consumers
6  Cloud Computing

can tap into and leverage for specific tasks. A grid computing system can be as
simple as a collection of similar computers running on the same operating system
or as complex as inter-networked systems comprised of every computer platform
you can think of.
The grid computing is basically a way to execute jobs across a distributed set
of processors. Grid computing offers sharing of resources over geographically
distributed locations. Collaborative nature of these grids leads to the concept of
virtual organizations consisting of a dynamic set of data and resources to solve a
specific task. The architecture of grid computing is shown in Fig.1.6. Grid computing
divides a large program into sub-programs and assigns each sub-program to an
individual processor. Each processor now processes the sub-program and returns
the end result. Even if one processor fails, the result will not get affected because the
task will be reassigned to another processor. A variety of resources may be shared,
including computers, storage devices, network, data, software, sensors, or scientific
instruments. Grid behaves like an independent entity and has its own control and
administration. Grids can further be categorized into computational grids—these
are grids that primarily focus on intensive and complex computations and data
grids—grids for management and control of sharing of vast amounts of data.

Fig. 1.6  Grid computing

One of the advantages of grid computing is that enterprises don’t need to


buy large servers for applications that can be split up and farmed out to smaller
commodity type servers. Second, it’s more efficient in the use of resources. Grid
environments are much more modular, and policies in the grid can be managed by
the grid software.
Overview of Computing Paradigm   7

1.1.5 Cloud Computing

Cloud computing is a computing paradigm where computing is moved away from


personal computers or an individual application server to a cloud of computers.
Consumers of the cloud only need to be concerned with their computing needs, as
all the underlying details are hidden to the consumer. Cloud computing provides a
large pool of dynamically scalable and virtual resources as a service on demand.
The services of a cloud are not limited to using web applications, but can also
be IT management services such as requesting software stack, system or a specific
web appliance. A cloud is a collection of resources that includes storage, servers,
database, network, software, etc. Thus, cloud computing as shown in Fig. 1.7 is the
delivery of applications, infrastructure and platform as a service over the Internet.
These applications are on a pay-per-use basis and are accessible from the web
browser and desktop with the customers not worrying about the service providing
system as well as where the software and data are residing on the servers. There
are a lot of reasons that make cloud computing very popular like it offers storage
capacity beyond the limit and lower computer costs.

Fig. 1.7  Cloud computing


8  Cloud Computing

1.1.6 Fog Computing

Fog computing or fogging is a distributed computing infrastructure in which


some application services are handled on a smart device, and some are handled in
a remote data centre—on the cloud. The main objectives of fogging are to improve
computing efficiency and reduce the amount of data that needs to be transferred to
the cloud for storage, processing and analysis.

Fig. 1.8  Fog Computing

In a fog computing environment shown in Fig.1.8, the major processing


takes place in a data hub on a smart mobile device or on a network in a router or
other gateway device. This distributed approach is growing in popularity because
of the Internet of Things (IoT) and the immense amount of data that are generated
by sensors. It is inefficient to transfer all the data to the cloud for processing and
analysis, as it requires a great deal of bandwidth and all the communication between
the sensors and the cloud can reduce efficiency.

1.1.7 Jungle Computing

Jungle computing is a combination of heterogeneous, hierarchical and distributed


computing resources. Domain experts concurrently use multiple clusters, grids,
clouds, desktop grids, independent computers and more in many realistic scientific
research areas. Jungle computing refers to the use of diverse, distributed and
highly non-uniform high-performance computer systems to achieve maximum
performance. A collection of resources like standalone machines, cluster systems,
grids, clouds, etc. as shown in the Fig.1.9, and this varied collection is termed
jungle computing.
Overview of Computing Paradigm   9

Fig. 1.9 Jungle Computing

1.1.8  Comparison of Various Computing Technologies

Various classes of distributed computing have been discussed in the previous sub
section, and each has its own special feature which makes it different from others.
In this section the comparison of utility, cluster, grid and cloud computing is done
in Table 1.1 which helps the reader to conclude these computing paradigms.
Table 1.1:  Comparison table of computing classes

Feature Utility Cluster Grid computing Cloud computing


computing computing
Virtualization Some form of Half Half Essential
virtualization
Scalability Yes No Half: Nodes & Yes
Sites
Standardization Standardization Virtual Open grid Web services
and interoperability of backup interface forum
policies architecture standards
based
User management Centralized Centralized Decentralized Centralized or by
third party
Size 100s 100s 1000s 100s to 1000s
Pricing Utility pricing Limited Dominated by Utility pricing
public good discounted for
or privately larger customers
assigned
Resource management Distributed Centralized Distributed Centralized or
distributed
Capability Based on Stable and Varies but high On demand
service guarantee
provisioning
10  Cloud Computing

Control Centralized Centralized Decentralized Centralized


Ownership Single Single Multiple Single
Privacy Service level Medium Medium level High level
level
Transparency Yes Yes No, low Yes, high but
optional
Applications Business Science, Collaborative, Web application
model business scientific and and content
and data HPC delivery
centres
Examples Google, ARCnet, GIMPS, SET1 Amazon EC2
Amazon 2008 VAXcluster

1.2  VISION OF CLOUD COMPUTING

The vision of cloud computing is that IT services are utilized as utilities in an


open market place, without any technological and legal barriers. In this cloud
market place, cloud service providers and consumers play a central role. Different
stakeholders adopt cloud computing for a variety of services. The need for
ubiquitous storage, computing power, on demand and pay per use are the most
common reasons to adopt cloud computing. It is especially attractive to developers
that do not have the infrastructure or cannot afford any further expansion of
existing infrastructure. The capability for web-based access to documents and
their processing using sophisticated applications is one of the appealing factors
for users.
Cloud infrastructure is very robust and is always available at any time.
Computing services need to be highly reliable, scalable and capable of supporting
ubiquitous access.We have seen a great progress of cloud computing in very short
time. Now lets have a look at what may become of cloud computing technology in
the future.
• Cloud computing will become even more outstanding in the coming years
with rapid, continued growth of major global cloud data centres.
• Approximately 50% of all IT will be on the cloud within the next five to
ten years.
• There will be a greater use of cloud technology in emerging markets such
as in the BRIC countries (Brazil, Russia, India and China) as they are
developing and adopting new technologies rapidly. Particularly in Asia,
there is already a trend to stay on the edge of the latest technology.
• Data on the cloud will be available from everywhere in standardized
formats. The security and reliability of cloud computing will continue
to evolve, ensuring that data will be even more secure with numerous
techniques employed.

You might also like