Tutorial No 1 (Solved)
Tutorial No 1 (Solved)
Tutorial No 1 (Solved)
Question 1
1. Give the definition of Parallel computing and Parallel Programming
Parallel Computing: is a technique to accelerate computations in which many calculations are
carried out simultaneously.
Parallel Programming: consists of decomposing a programming problem into tasks, Deploy the
tasks on multiple processors and run them simultaneously, Coordinating work and
communications of those processors.
5. What are the main differences between Distributed and Parallel Computing
Distributed Parallel
Objectives • Increase Reliability • Increase speed up
• Increase availability • Decrease latency
• Increase bandwidth
• Increase throughput
Assumptions Not reliable Reliable
Interaction among processors Infrequent Frequent
Work load • Heavy • Low overhead
• Coarse grained • Fine grained
3- Parallel Programming:
- Paradigms: Message passing, shared memory, multi threading.
- Programming Models: SPMD, divide and conquer, task farming, data flow.
- Programming languages
- Frameworks
- Dedicated environments