0% found this document useful (0 votes)
2 views

Lecture 2

Parallel and distributed systems enhance performance, scalability, fault tolerance, and resource utilization, making them ideal for complex tasks and large datasets. However, they also introduce challenges such as design complexity, communication overhead, and maintenance costs, which may not be suitable for simpler tasks. Choosing these systems depends on the specific requirements of the task and available resources.

Uploaded by

Naik Amal Shah
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Lecture 2

Parallel and distributed systems enhance performance, scalability, fault tolerance, and resource utilization, making them ideal for complex tasks and large datasets. However, they also introduce challenges such as design complexity, communication overhead, and maintenance costs, which may not be suitable for simpler tasks. Choosing these systems depends on the specific requirements of the task and available resources.

Uploaded by

Naik Amal Shah
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Why Use Parallel and

Distributed Systems?
 The decision to use parallel and distributed systems depends on the requirements,
constraints, and goals of the task. Here's a breakdown of why you might use them—and
why you might not.
Why Use Parallel and Distributed
Systems?
1 Increased Performance and Speed
 Parallel Computing: By dividing a task into smaller subtasks that run simultaneously,
 computations are completed much faster. For example, GPUs perform tasks like deep learning
 or 3D rendering at lightning speed.
 Distributed Computing: Large tasks (e.g., analyzing massive datasets) can be split
 among multiple computers working together, significantly reducing execution time.

2 Scalability
 Distributed systems can handle growing workloads by adding more nodes.
 This is ideal for cloud applications or data processing frameworks like Apache Hadoop or
Spark.
Why Use Parallel and Distributed
Systems?
3 Fault Tolerance and Reliability
 In distributed systems, if one node fails, others can continue working, ensuring
uninterrupted service. This makes systems more robust.

4 Resource Utilization
 Parallel systems maximize the use of all available cores or processors, while distributed
systems leverage underutilized machines (e.g., in a network) to perform useful work.
Why Use Parallel and Distributed
Systems?
5 Cost Efficiency
 Distributed systems like cloud computing reduce the need for expensive,
 high-performance single machines by using many commodity machines.
 For example, Google’s search engine runs on distributed systems using
 relatively inexpensive hardware.

6 Flexibility
 Distributed systems can span geographically dispersed resources, enabling global
 applications like streaming services (Netflix) or multiplayer online games.
Why Use Parallel and Distributed
Systems?
7 Support for Complex Tasks
• Many real-world problems (e.g., weather simulation, drug discovery, big data analytics)
require computational power that a single machine cannot handle efficiently.
Why NOT Use Parallel and Distributed
Systems?
 1 Complexity in Design and Development
 Designing algorithms for parallel and distributed systems is challenging.
 Tasks need to be broken into smaller pieces, and managing inter-process
 communication or synchronization can be error-prone.

 2 Communication Overhead
 Distributed systems rely on network communication between nodes,
 which introduces latency and overhead. For small tasks, this can outweigh the benefits.
Why NOT Use Parallel and Distributed
Systems?
3 Cost of Maintenance
 Maintaining distributed systems, especially large clusters,
 requires skilled personnel and advanced tools, which can be expensive.

4 Debugging Difficulties
 Debugging parallel or distributed systems is harder due to the asynchronous
 nature of tasks and potential race conditions, deadlocks, or message losses.
Why NOT Use Parallel and Distributed
Systems?
5 Not Suitable for All Problems
 Some tasks are inherently sequential and cannot be easily parallelized
 (e.g., calculating the Fibonacci sequence iteratively). In such cases,
 these systems add unnecessary complexity.

6 Initial Setup Costs


 Setting up parallel hardware (like GPUs) or a distributed infrastructure
 (like a cloud cluster) can involve high upfront costs, especially for small-scale projects.
Why NOT Use Parallel and Distributed
Systems?
7 Energy Consumption
 Large distributed systems (e.g., data centers) consume significant power,
 leading to higher operational costs and environmental impact.
When to Choose and When to Avoid?

1 Choose Parallel and Distributed Systems When:


 You need to process massive datasets or perform high-speed computations.
 Your task is inherently parallelizable or distributed (e.g., simulations,
 big data, real-time analytics).
 Fault tolerance, scalability, and performance are critical.
When to Choose and When to Avoid?

2 Avoid Them When


 The task is simple, sequential, or lightweight and can be handled efficiently
 by a single machine.
 Network latency or communication overhead significantly impacts performance.
 You lack the resources, budget, or expertise to maintain these systems.

You might also like