skill-tree:k:3:2:b
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
skill-tree:k:3:2:b [2020/06/05 17:06] – external edit 127.0.0.1 | skill-tree:k:3:2:b [2025/04/16 18:30] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | # K3.2-B Parallelization Overheads | + | # K3.2 Parallelization Overheads |
- | # Background | + | |
- | # Aim | + | Parallelization of a program always introduces some extra work in addition to the work done by the sequential version of the program. |
- | # Outcomes | + | The main sources of parallelization overhead are data communication (between processes) and synchronization (of processes and threads). |
- | * the various overheads, | + | Other sources are additional operations that are introduced at the algorithmic level (for example in global reduction operations) or at a lower software level (for example by address calculations). |
- | * the problems of load imbalances | + | |
+ | |||
+ | ## Learning | ||
+ | |||
+ | * Comprehend that **Data communication** is necessary for programs that are parallelized for distributed memory computers (if data communication is not necessary | ||
+ | * Comprehend that **Synchronization** plays an important role with shared memory parallelization. | ||
+ | * Comprehend that there are also other sources of parallel inefficiency like: | ||
+ | * Parts of a program that were not parallelized and still run serially. | ||
+ | * Unbalanced loads. | ||
+ | * Comprehend that there are two hardware effects that can reduce the efficiency of the execution of shared-memory parallel programs: | ||
+ | * **NUMA** can lead to noticeable performance degradation if data locality is bad (i.e. if too much data that a thread need is not in its NUMA domain). | ||
+ | * **False sharing** occurs if threads process data that is in the same data cache line, which can lead to serial execution or even take longer than explicitly serial execution of the affected piece of code. | ||
+ | * Comprehend the overheads caused by redundant computations | ||
+ | * Comprehend | ||
- | # Subskills | ||
skill-tree/k/3/2/b.1591369587.txt.gz · Last modified: 2020/06/05 17:06 by 127.0.0.1