cloud computing unit-1
cloud computing unit-1
COMPUTING PARADIGMS
Introduction:
Computing paradigms also known as
programming paradigms. Computing paradigms
are fundamental models and approaches to
solving computational problems. They represent
different ways of organizing and structuring
computer programs. These paradigms define how
data is stored and manipulated, how instructions
are executed, and how tasks are organized and
managed within a program.
1. Parallel Computing:
Parallel computing is a type of computation where
many calculations or processes are carried out
simultaneously, leveraging multiple processors or
cores to work together on a single task. This
approach can significantly reduce the time it takes to
solve large, complex problems by breaking them into
smaller, independent tasks that can be executed
concurrently.
Key Concepts in Parallel Computing:
1.Decomposition: The problem is divided into
smaller sub-problems or tasks.
2.Task Scheduling: The sub-tasks are assigned
to multiple processors or cores.
3.Synchronization: The processors may need to
coordinate or synchronize their results after
completing their tasks.
4.Communication: Data may need to be shared
between processors, requiring communication
channels.
Types of Parallel Computing:
Parallel computing is a computing model in which multiple
processors or cores execute tasks simultaneously to solve
complex problems more efficiently. It is widely used in
high-performance computing, scientific simulations, and
real-time processing. There are several types of parallel
computing based on how tasks are divided and
coordinated. Here are the main types:
1. Bit-level Parallelism
2.Distributed Computing:
Distributed computing is a paradigm in which a
collection of independent computers or devices work
together to achieve a common computational goal. Unlike
traditional computing models where a single machine
handles all tasks, distributed computing involves dividing
tasks among multiple systems (often referred to as nodes)
that collaborate via a network.
Key Concepts of Distributed Computing:
5. Decentralization:
o Unlike traditional centralized computing, where a
1. Data-Centric Architecture
Description: Data-centric architecture revolves around a
central data repository, with various applications and
services accessing and manipulating shared data. The focus
is on data consistency, integrity, and centralized
management. All services operate around the central data
source, ensuring a single source of truth.
Example: A data warehouse used by multiple business
intelligence tools.
2. Hierarchical Architecture
3.Cluster computing:
Cluster computing is a type of distributed computing where a
group of connected computers (nodes), typically linked via
Local Area Networks (LANs), work together as a single system
to perform tasks. The nodes are tightly coupled, sharing
resources to process large workloads efficiently. Tasks are
divided among the nodes, enabling parallel processing and
improved performance. Example: Scientific simulations or high-
performance computing (HPC) systems.
Importance of Cluster
Computing:
1. High Performance: Cluster computing enables parallel
processing, allowing complex computations to be divided
among multiple nodes, significantly speeding up task
execution.
2. Scalability: Nodes can be added or removed to adjust
computing power based on demand, making cluster
computing highly scalable for growing workloads.
3. Fault Tolerance: If one node fails, the workload can be
redistributed to other nodes, ensuring continuous operation
and improved reliability.
4. Cost Efficiency: Instead of investing in expensive
supercomputers, organizations can use clusters of
affordable, commodity hardware to achieve high
computational power.
5. Resource Sharing: Nodes within a cluster share resources
like storage and processing power, optimizing resource
utilization and preventing redundancy.
6. Load Balancing: Cluster systems distribute workloads
evenly across nodes, preventing overloading of individual
machines and ensuring efficient task processing.
Types of cluster computing:
Cluster computing can be categorized into several types, each
tailored to specific use cases and performance needs. The main
types are:
1. High-Performance Computing (HPC) Clusters
Advantages of Cluster
Computing:
1. Cost-Effective: Cluster computing leverages commodity
hardware, allowing organizations to achieve high
performance without the high costs associated with
supercomputers.
2. Scalability: Clusters can easily scale by adding more
nodes, enabling organizations to accommodate increasing
workloads without significant architectural changes.
3. Ease of Upgrade and Maintenance: Cluster systems can
be upgraded incrementally, allowing for targeted
enhancements and easier maintenance without extensive
downtime.
4. Reliability: With built-in redundancy and failover
mechanisms, cluster computing ensures continuous
operation, minimizing downtime and enhancing overall
system reliability.
Disadvantages of Cluster
Computing:
1.Managing a large number of computers can be challenging and
complex.
2.Non-parallelizable applications may experience suboptimal
performance.
3.The physical space is required is significantly larger compared
to a single server.
4.Cluster computing entails increased power consumption in
comparison to a single server.
4. Grid Computing:
Grid computing is a distributed computing model that connects
multiple computers to collaboratively process large tasks. It
allows sharing of resources like processing power and storage
across different locations. This model enhances efficiency by
enabling parallel processing for complex calculations.
Commonly used in scientific research and data-intensive
applications, it maximizes resource utilization.
Importance of Grid Computing:
Enhanced Efficiency
Provider nodes are the computing resources within the grid that
offer processing power and storage. These nodes perform the
actual computations and execute the tasks assigned to them by
the middleware. They can include a variety of devices, such as
servers, clusters, or even high-performance computing facilities,
and they contribute resources to the grid.
Control Nodes
Here’s a detailed comparison of cloud, grid, and cluster computing based on the aspects
mentioned below:
Cloud Computing:
What is cloud computing?
Cloud computing is the delivery of computing services—such as
servers, storage, databases, networking, software, analytics, and
intelligence—over the internet (“the cloud”). This allows for on-
demand access to these resources, enabling users to store and
process data remotely rather than on local computers or servers.
Cloud computing offers scalability, flexibility, and cost-
effectiveness, making it easier for businesses and individuals to
manage their IT needs.
Applications of Cloud
Computing
1. Cloud-Based Data Storage
o Provides scalable storage solutions, allowing users to
2.Microsoft Azure:
Microsoft Azure is a comprehensive cloud computing
platform and service offered by Microsoft. It provides a range
of cloud services, including computing power, analytics,
storage, networking, databases, and more. Azure enables
users to build, manage, and deploy applications on a global
network using various frameworks and tools. It supports a
variety of programming languages and operating systems,
making it versatile for enterprises, developers, and businesses
of all sizes.
5. Alibaba Cloud:
Alibaba Cloud, the cloud computing arm of Alibaba Group,
provides a comprehensive suite of cloud services that cater
to businesses of all sizes. It offers solutions in computing,
storage, databases, networking, big data, machine learning,
and more, designed to enhance operational efficiency and
scalability. With a strong emphasis on security and
compliance, Alibaba Cloud meets various international
standards, making it suitable for global enterprises. The
platform operates in over 20 regions worldwide, including
key markets in Asia, Europe, the Middle East, and the
Americas. Alibaba Cloud is particularly known for its
strong presence in the Asia-Pacific region, providing
localized support and services tailored to diverse business
needs.
6. Oracle Cloud:
Oracle Cloud provides a comprehensive suite of cloud
services, including computing, storage, databases, and
applications tailored for enterprise needs. It emphasizes
security, performance, and integration with existing Oracle
products, making it a preferred choice for organizations
heavily invested in Oracle technologies. Oracle Cloud
operates in over 40 cloud regions globally, including key
markets in North America, Europe, Asia, and the Middle
East. These regions offer data centers equipped with high
availability and disaster recovery capabilities. Oracle Cloud
is particularly recognized for its robust database services
and enterprise applications, providing businesses with
powerful tools to manage their data and operations
efficiently.
Other cloud service providers include IBM cloud
(Kyndryl), Tencent Cloud, OVH Cloud, Digital ocean,
Linode (Akamai).