HPC Lecture (1) Summary
HPC Lecture (1) Summary
Types of Computing
• Serial Computing: Executes one instruction at a time.
• Parallel Computing: Executes multiple calculations simultaneously; divides large
problems into smaller, concurrent tasks.
• Flynn's Taxonomy:
Types of Parallelism
• Data Parallelism: Simultaneous processing of multiple data items.
• Functional Parallelism: Different independent modules run simultaneously.
• Overlapped/Temporal Parallelism: Tasks executed in an overlapped sequence (e.g.,
pipelining).
Y = (a * b) + (c / d) + e
We need to determine the sequential and parallel execution times, speedup, efficiency, and
throughput based on the dependency graph and schedule shown.
The dependency graph shows the order in which operations need to be performed based on
dependencies:
1. **Cycle 1**:
- Compute a * b (multiplication node, left side of graph).
- Compute c / d (division node, right side of graph).
Both operations can be performed in parallel as they are independent of each other.
2. **Cycle 2**:
- Sum the results of a * b and c / d (addition node in the middle).
3. **Cycle 3**:
- Add e to the result from Cycle 2 to get the final result Y.
This structure shows that the calculation of Y can be completed in **3 cycles** when using
parallel processing.
- **Parallel Time (Tparallel)**: This is the time it takes to compute Y with parallelism.
- As analyzed in the graph, we need only **3 cycles** to complete all operations with two
processors.
- Thus, Tparallel = 3.
Speedup is calculated as the ratio of the sequential time to the parallel time:
Speedup = Tsequential / Tparallel = 4 / 3 ≈ 1.33
Efficiency measures how effectively the processors are being used. It is calculated by
dividing the speedup by the number of processors:
Efficiency = Speedup / Number of Processors = (4 / 3) / 2 = 4 / 6 ≈ 0.66 or 66%
Throughput represents the number of operations performed per cycle in parallel execution.
This can be calculated as:
Throughput = Total Operations / Tparallel = 4 / 3 ≈ 1.33 operations per cycle
Summary of Results
Summary
• Importance and applications of HPC.
• Parallel processing approaches (Flynn's Taxonomy).
• Performance metrics in evaluating HPC systems.