01-Parallel Computing
01-Parallel Computing
Outlines - Introduction
1
Cost versus Performance
Cost versus Performance curve and its evolution over the decades.
2000s
1990s
1980s
1970s
1960s
Performance
Cost
3
2
The Scope of Parallel Computing
Applications such as weather prediction and
pollution monitoring.
Assumptions:
1) Modeling of weather over an area of 3000 x 3000 miles.
3
Assumptions: Weather … Continues
5) The computation of parameters inside a segment
uses initial values and values from neighboring
segments.
Assume that this computation takes 100 instructions,
then a single updating of parameters in entire domain
requires
1011 segments x 100 instructions = 1013 instructions
Since this has to be done approximately 100 times
(two days every half hour, that is 96), then total
number of operations (instructions) is 1015.
24 Hours x 2 x 2 days = 96 ≈ 102 times
7
1013 instructions x 102 times= 1015 instructions
4
Example: Weather Modeling … (Continues)
10
5
Issues in Parallel Computing
1) Design of Parallel Computers:
Large number of processors.
Supporting fast communication.
Supporting data sharing.
2) Design of Efficient Algorithms:
Issues in designing parallel algorithms are very
different from those in designing their sequential
computers
Partition: decompose task into several parallel tasks
Load Balancing: distribute load on processors as evenly as possible
Communication: How processors can communicate efficiently to
perform the whole parallel task
11
11
12
12
6
Issues in Parallel … (Continues)
4) Parallel algorithms are implemented on parallel
computers using a programming language.
Examples: Pthreads, High Performance Fortran (HPF)
5) Parallel Programming Tools:
To facilitate programming of parallel computers.
Examples: MPI and PVM (using Fortran, C/C++, C#,
and Java).
13
13
14
14