Question Bank
Question Bank
Question Bank
13. How does Parallel Computing differ from Distributed Computing, and
what are the primary challenges and benefits associated with each?
Parallel Computing and Distributed Computing are both paradigms used to
break down large problems into smaller tasks and solve them concurrently.
While both aim to improve computational efficiency and speed, they differ in
how they distribute tasks, the architecture used, and the challenges involved.
Parallel Computing
Parallel computing is the practice of performing multiple computations
simultaneously, using multiple processors or cores that work together to solve a
computational problem. The system may involve a single machine with multiple
cores (multi-core processors) or a tightly coupled system like a supercomputer.
1. Architecture:
o Parallel systems can be shared-memory (where multiple
processors access the same memory) or distributed-memory (each
processor has its own local memory).
o Examples of parallel systems include multi-core processors, GPUs
(Graphics Processing Units), and supercomputers.
2. Task Division:
o Parallel computing is used for problems that can be split into
smaller sub-tasks which can be executed simultaneously. There are
two main types of parallelism:
▪ Data Parallelism: The same operation is performed on
different pieces of data.
▪ Task Parallelism: Different tasks are performed in parallel,
each with different operations.
3. Challenges in Parallel Computing:
o Synchronization: Managing how processors communicate and
synchronize when accessing shared resources is a key issue. Race
conditions and deadlocks must be avoided.
o Scalability: Not all algorithms can scale well with more
processors, and the overhead of managing the parallel tasks might
outweigh the performance gains.
o Load Balancing: Ensuring the work is evenly distributed across
processors is crucial to avoid bottlenecks where some processors
remain idle while others are overloaded.
o Memory Hierarchy: In parallel systems, managing the memory
architecture and preventing bottlenecks when accessing shared
memory is a challenge.
4. Benefits of Parallel Computing:
o Faster Computation: By splitting tasks into smaller parts, large
computations can be completed in less time.
o Efficiency: Many scientific and engineering problems, such as
fluid dynamics simulations, are much faster with parallelism.
o Cost-Effective: Utilizing multiple processors instead of relying on
a single, very powerful processor can be more cost-efficient.
Distributed Computing
Distributed computing involves multiple independent computers (nodes) that
communicate over a network to work together on solving a problem. Unlike
parallel computing, the systems in distributed computing may be geographically
dispersed and may have heterogeneous resources.
1. Architecture:
o A distributed system is composed of separate physical machines
that communicate over a network. These machines may vary in
performance and functionality (e.g., cloud-based systems, peer-to-
peer networks).
o Each machine has its own local memory, and the system typically
requires communication protocols for coordination and data
exchange.
2. Task Division:
o Tasks in distributed computing are divided into smaller jobs or
tasks that are distributed across multiple machines. Each machine
processes a portion of the task and may exchange data with other
nodes.
o Distributed systems often face challenges related to data
consistency, fault tolerance, and network latency.
3. Challenges in Distributed Computing:
o Communication Overhead: Nodes in a distributed system must
communicate over a network, which introduces delays due to
network latency and bandwidth limitations.
o Fault Tolerance: Unlike parallel computing, where all nodes are
often located in the same physical space, distributed computing
must handle node failures, network outages, and other failures.
o Data Consistency: Maintaining consistency between distributed
data across multiple nodes (e.g., when nodes are reading/writing
data concurrently) is a significant challenge.
o Security: Distributed systems often span across different networks
and administrative boundaries, increasing the risks of unauthorized
access and data breaches.
4. Benefits of Distributed Computing:
o Scalability: Distributed systems can scale horizontally by adding
more machines to the network.
o Fault Tolerance: The system can be designed to tolerate node
failures by using redundancy and replication.
o Resource Sharing: Distributed systems allow for the pooling of
resources from geographically dispersed computers, enabling
collaboration and efficient resource utilization.
o Cost-Effective: By utilizing commodity hardware and existing
infrastructure, distributed computing can be more cost-efficient
than building large, specialized parallel systems.
Key Differences:
14. What are the key features, benefits, and challenges of Cloud
Computing, and how has it changed the landscape of IT infrastructure and
service delivery?
Cloud Computing is a paradigm in which computing resources—such as
servers, storage, databases, networking, software, and more—are delivered over
the internet, or "the cloud," rather than being hosted on-premises. Cloud
computing has revolutionized the IT industry by providing scalable, flexible,
and cost-effective solutions for both individuals and organizations.
Key Features of Cloud Computing
1. On-Demand Self-Service
2. Broad Network Access
3. Resource Pooling
4. Rapid Elasticity
Answer: Organizations are driven to adopt cloud computing for several key
motivations:
Core Components:
1. On-Demand Self-Service
2. Broad Network Access
3. Resource Pooling
4. Rapid Elasticity
5. Measured Service
9. Four Cloud Deployment Models: What are the four cloud deployment
models, and how do they differ from each other?
Answer: The four cloud deployment models are:
1. Public Cloud: Services are offered over the internet and available to
anyone. High scalability but less control over security.
2. Private Cloud: Dedicated infrastructure for a single organization,
offering more control and security at a higher cost.
3. Hybrid Cloud: Combines public and private clouds, allowing data and
applications to be shared between them, balancing flexibility and control.
4. Community Cloud: Shared infrastructure for a specific community of
users with common concerns, promoting collaboration while maintaining
privacy.
UNIT-3
Answer:
Cloud Computing Architecture refers to the design and structure of cloud
systems, consisting of various components like front-end interfaces, back-end
servers, databases, and storage systems. It defines how cloud services are
delivered and how resources are managed and utilized across a network.
Answer:
The primary layers of Cloud Computing are: