Cc unit1
1. Parallel Computing:
Parallel computing refers to the process of executing several processors an
application or computation simultaneously. Generally, it is a kind of computing
architecture where the large problems break into independent, smaller, usually
similar parts that can be processed in one go. It is done by multiple CPUs
communicating via shared memory, which combines results upon completion. It
helps in performing large computations as it divides the large problem between more
than one processor.
Parallel computing is defined as a type of computing where multiple computer
systems are used simultaneously. Here a problem is broken into sub-problems and
then further broken down into instructions. These instructions from each sub-problem
are executed concurrently on different processors.
Advantages of Parallel Computing
• Parallel computing saves time by allowing programs to be executed in less time.
• Larger problems must be solved in a shorter period.
• Parallel computing is far superior to serial computing for modeling, simulating, and
comprehending complicated real-world phenomena.
• Many real-world problems are so huge and/or complicated that solving them on a
single computer is impractical or impossible, especially given limited computer
capacity.
• A lot of things can be performed at the same time if you use parallel computing
resources.
• It can store a large amount of data and perform speedy data calculations.
• One of the best advantages of parallel computing is that it allows you to do several
things in a time by using multiple computing resources.
• Furthermore, parallel computing is suited for hardware as serial computing wastes
the potential computing power.
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.
• The multi-core architectures consume high power consumption.
• It addresses Parallel architecture that can be difficult to achieve.
Advantages of Cloud Computing
• Back-up and restore data : Once the data is stored in the cloud, it is easier to get
back-up and restore that data using the cloud.
• Improved collaboration : Cloud applications improve collaboration by allowing
groups of people to quickly and easily share information in the cloud via shared
storage.
• Excellent accessibility : Cloud allows us to quickly and easily access store
information anywhere, anytime in the whole world, using an internet connection. An
internet cloud infrastructure increases organization productivity and efficiency by
ensuring that our data is always accessible.
• Low maintenance cost : Cloud computing reduces both hardware and software
maintenance costs for organizations.
• Mobility: Cloud computing allows us to easily access all cloud data via mobile.
• Services in the pay-per-use model: Cloud computing offers Application
Programming Interfaces (APIs) to the users for access services on the cloud and
pays the charges as per the usage of service.
• Unlimited storage capacity : Cloud offers us a huge amount of storing capacity for
storing our important data such as documents, images, audio, video, etc. in one
place.
• Data security: Data security is one of the biggest advantages of cloud computing.
Cloud offers many advanced features related to security and ensures that data is
securely stored and handled.
Disadvantages of Cloud Computing
• Internet Connectivity :
As you know, in cloud computing, every data (image, audio, video, etc.) is stored on
the cloud, and we access these data through the cloud by using the internet
connection. If you
do not have good internet connectivity, you cannot access these data. However, we
have no any other way to access data from the cloud.
• Vendor lock-in:
Vendor lock-in is the biggest disadvantage of cloud computing. Organizations may
face problems when transferring their services from one vendor to another. As
different vendors provide different platforms, that can cause difficulty moving from
one cloud to another.
• Limited Control :
As we know, cloud infrastructure is completely owned, managed, and monitored by
the service provider, so the cloud users have less control over the function and
execution of services within a cloud infrastructure.
• Security :
Although cloud service providers implement the best security standards to store
important information. But, before adopting cloud technology, you should be aware
that you will be sending all your organization's sensitive information to a third party,
i.e., a cloud computing service provider. While sending the data on the cloud, there
may be a chance that your organization's information is hacked by Hackers.
• Lack of support staff:
Some cloud companies do not provide proper support to their clients; then, you have
to only depend on FAQs or online help.
• Technical issues :
Due to frequent version releases of some applications, you have to constantly
upgrade your systems to meet a market need; in between these updates, there is a
chance that you may be stuck on some technical problems.
What is Grid Computing?
Grid computing is a distributed architecture of multiple computers connected by
networks to accomplish a joint task. These tasks are compute-intensive and difficult
for a single machine to handle. Several machines on a network collaborate under a
common protocol and work as a single virtual supercomputer to get complex tasks
done.
How Grid Computing Works
Atypical grid computing network consists of three machine types:
• Control node/server: A control node is a server or a group of servers that
administers the entire network and maintains the record for resources in a network
pool.
• Provider/grid node: A provider or grid node is a computer that contributes its
resources to the network resource pool.
• User: A user refers to the computer that uses the resources on the network to
complete the task.
Grid computing operates by running specialized software on every computer
involved in the grid network. The software coordinates and manages all the tasks of
the grid. Fundamentally, the software segregates the main task into subtasks and
assigns the subtasks to each computer. This allows all the computers to work
simultaneously on their respective subtasks. Upon completion of the subtasks, the
outputs of all computers are aggregated to complete the larger main task
The software allows computers to communicate and share information on the portion
of the subtasks being carried out. As a result, the computers can consolidate and
deliver a combined output for the assigned main task.
2. Distributed computing:
Distributed computing refers to a system where processing and data storage is
distributed across multiple devices or systems, rather than being handled by a single
central device. In a distributed system, each device or system has its own
processing capabilities and may also store and manage its own data. These devices
or systems work together to perform tasks and share resources, with no single
device serving as the central hub.
One example of a distributed computing system is a cloud computing system, where
resources such as computing power, storage, and networking are delivered over the
Internet and accessed on demand. In this type of system, users can access and use
shared resources through a web browser or other client software.
Advantages
• Performance: Distributed computing can help improve performance by having each
computer in a cluster handle different parts of a task simultaneously.
• Resilience and redundancy: Multiple computers can provide the same services.
This way, if one machine isn't available, others can fill in for the service. Likewise, if
two machines that perform the same service are in different data center’s and one
data center goes down, an organization can still operate.
• Cost-effectiveness: Distributed computing can use low-cost, off-the-shelf hardware.
• Efficiency: Complex requests can be broken down into smaller pieces and
distributed among different systems. This way, the request is simplified and worked
on as a form of parallel computing, reducing the time needed to compute requests.
• Distributed applications: Unlike traditional applications that run on a single system,
distributed applications run on multiple systems simultaneously.
• Scalability: Distributed systems are generally more scalable than centralized
systems, as they can easily add new devices or systems to the network to increase
processing and storage capacity.
• Reliability: Distributed systems are often more reliable than centralized systems, as
they can continue to operate even if one device or system fails.
Disadvantages
• Complexity: Distributed systems can be more complex than centralized systems, as
they involve multiple devices or systems that need to be coordinated and managed.
• Security: It can be more challenging to secure a distributed system, as security
measures must be implemented on each device or system to ensure the security of
the entire system.
• Performance: Distributed systems may not offer the same level of performance as
centralized systems, as processing and data storage is distributed across multiple
devices or systems.
Applications of cloud computing
1. Cloud Computing in Education: Cloud computing in the education sector brings
an unbelievable change in learning by providing e-learning, online distance learning
platforms and student information portals to the students. It is a new trend in
education that provides an attractive environment for learning, teaching,
experimenting, etc. to students, faculty members, and researchers. Everyone
associated with the field can connect to the cloud of their organization and access
data and information from there.
• Google Meets Provide a lecture hall-like environment to the learners as well as to
the teachers, where they can interact and clear their doubts. Authorizing the teachers
with some grants brings a sense of discipline.
• Microsoft Teams A cloud-based application that provides an educational-friendly
environment for universities, colleges, and schools.
2. Cloud Computing in Medical Fields: In the medical field, cloud computing is
used for storing and accessing the data through the internet without worrying about
any physical setup. It facilitates easier access and distribution of information among
the various medical professional and the individual patients. With the assistance of
cloud computing, offsite buildings and treatment facilities, such as labs, doctors
making
emergency house calls, and ambulance information, can be readily accessed and
updated remotely, eliminating the need to wait until they can access a hospital
computer.
• Digital libraries
Libraries are an important asset and source of knowledge for medical students,
practitioners, and researchers. Cloud-based libraries have massive file storage,
query languages, and indexing service.
With cloud-based libraries, medical students and practitioners can access
information on demand to stay up to date on the latest research. Additionally,
physicians can access useful information to understand the progress in the
healthcare industry and improve their work practice.
• Clinical Decision Support System (CDSS)
CDSS is an advanced system that uses the knowledge and behavior of a medical
professional to provide advice on the patient record analysis. This system is used for
diagnosing conditions and prescribing medication. Cloud computing can be used to
create such systems that provide better patient care.
3. Entertainment Applications: Many people get entertainment from the internet, in
that case, cloud computing is the perfect place for reaching to a varied consumer
base. Therefore different types of entertainment industries reach near the target
audience by adopting a multi-cloud strategy. Cloud-based entertainment provides
various entertainment applications such as online music/video, online games and
video conferencing, streaming services, etc. and it can reach any device be it TV,
mobile, set-top box, or any other form. It is a new form of entertainment called On-
Demand Entertainment (ODE). With respect to this as a cloud, the market is growing
rapidly and it is providing various services day by day. So other application of cloud
computing includes social applications, management application, business
applications, art application, and many more. So in the future cloud computing is
going to touch many more sectors by providing more applications and services.
• Google stadia- It is a cloud gaming service that provides a video gaming
experience at 4K resolution and within 60 frames.
• Project Atlas - Is one of the top examples of cloud entertainment apps.
4. E-commerce Application: Cloud-based e-commerce allows responding quickly
to the opportunities which are emerging. Users respond quickly to the market
opportunities as well as the traditional e-commerce responds to the challenges
quickly. Cloud-based e-commerce gives a new approach to doing business with the
minimum amount as well as minimum time possible. Customer data, product data,
and other operational systems are managed in cloud environments.
• Amazon
• eBay.
6. Bigdata Analysis: We know the volume of big data is so high where storing that
in traditional data management system for an organization is impossible. But cloud
computing has resolved that problem by allowing the organizations to store their
large volume of data in cloud storage without worrying about physical storage. Next
comes analyzing the raw data and finding out insights or useful information from it is
a big challenge as it requires high-quality tools for data analytics. Cloud computing
provides the biggest facility to organizations in terms of storing and analyzing big
data.
• Hana
• Hadoop
• Apache.
8. Testing and development : Setting up the platform for development and
finally performing different types of testing to check the readiness of the
product before delivery requires different types of IT resources and
infrastructure. But Cloud computing provides the easiest approach.
Organizations find it more helpful as they get scalable and flexible cloud
services for product development, testing, and deployment.
• SOASTA CloudTest,
• Load storm, and BlazeMeter.
Leading cloud computing platforms
Today, cloud technology is a significant driver of a paradigm shift from traditional IT
services to next-generation computing solutions, reshaping the way companies
deliver software and applications, as well as how customers utilize them.
Amazon web services (AWS) :
AWS or Amazon Web Services, a subsidiary of the American multinational Amazon,
is one of the most well-integrated and widely adopted cloud platforms in the world.
AWS offers comprehensive cloud IaaS (Infrastructure as a Service) services ranging
from virtual compute, storage, and networking to complete computing stacks. AWS is
mostly known for its compute and storage-on-demand services, namely Elastic
Compute Cloud (EC2) and Simple Storage Service (S3).
Google Cloud Platform (GCP) :
GCP is one of the most popular cloud platforms that integrates an array of advanced
features and solutions. GCP is a suite of cloud computing services that runs on the
same infrastructure that Google uses internally for its end-user products, such as
Google Search, Gmail, Google Drive, and YouTube. Google lists over 100 products
under the Google Cloud brand.
Microsoft Azure :
Microsoft Azure is a cloud operating system and a platform for developing
applications in the cloud. It provides a scalable runtime environment for Web
applications and distributed applications. Azure facilitates the development, testing,
deployment, and management of services and applications through data centers
owned and managed by Microsoft.
Microsoft Azure offers access, management, and development of applications and
services through global data centers. It provides a range of capabilities, including
software as a service (SaaS), platform as a service (PaaS), and infrastructure as a
service (IaaS).
Hadoop
Apache Hadoop is an open-source framework that is suited for processing large data
sets on commodity hardware. It is a collection of open-source software utilities that
facilitates using a network of many computers to solve problems involving massive
amounts of data and computation. It provides a software framework for distributed
storage and processing of big data using the MapReduce programming model.
Force.com and Salesforce.com :
Force.com is a Platform as a Service (PaaS) product designed to simplify the
development and deployment of cloud-based apps. Developers can build application
using the cloud IDE (integrated development environment) and deploy changes
rapidly to Force.com’s multi-tenant servers.
The platform is the basis for SalesForce.com, a Software-as-a-Service solution for
customer relationship management (CRM) in the cloud.
IBM Cloud :
IBM Cloud is one of the most reliable full-stack cloud platforms, which features a
robust cloud computing suite. The cutting-edge platform offers Infrastructure as a
Service (IaaS), Platform as a service (PaaS), and Software as a Service (SaaS) to
enterprises via the private, hybrid, and public cloud models.
The industry-leading services of the IBM Cloud include VMware, Analytics, IoT, AI,
Blockchain, Dev Tools, Cloud Packs, Database, Migration, Integration, Security,
Management, Storage, Network, and Compute.
Oracle Cloud :
One of the most trusted cloud platforms, the Oracle Corporation's Oracle Cloud,
offers PaaS (Platform-as-a-Service), DaaS (Data-as-a-Service), SaaS (Software-as-
a-Service), and IaaS (Infrastructure-as-a-Service).
Oracle Cloud's Infrastructure-as-a-Service includes FastConnect, Ravello, DNS
Monitoring, Load Balancing, Database, Networking, Storage, and Compute.
The Platform-as-a-Service offerings incorporate Data Management, Business
Analytics, Application Development, Cybersecurity, Content Management, and
Integration.
Characteristics features
Cloud computing has some interesting characteristics that bring benefits to both
cloud service consumers (CSCs) and cloud service providers (CSPs). These
characteristics are:
• No up-front commitments
This means you don't have to contractually agree to a specific amount of usage up
front. Many contracts have minimums and maximums built in, so even if you don't
use a product much, you would still be obligated to a minimum payment
• On-demand access
The Cloud computing services does not require any human administrators, user
themselves are able to provision, monitor and manage computing resources as
needed.
• Nice pricing
Cloud providers offer a variety of pricing models, including pay-per-use, subscription-
based, and spot pricing, allowing users to choose the option that best suits their
needs.
• Scalability
Cloud scalability in cloud computing refers to the ability to increase or decrease IT
resources as needed to meet changing demand.
• Elasticity
Cloud Elasticity is the property of a cloud to grow or shrink capacity for CPU,
memory, and storage resources to adapt to the changing demands of an
organization.
• Efficient resource allocation
The IT resource (e.g., networks, servers, storage, applications, and services) are
shared across multiple applications efficiently when they require.
Comparison of various computing technologies