Hidden Serialization
From HPCBugBase
HPCBugBase Menu
Submit feedback
Overview
Index
- Defect types (defect patterns)
- Specific defects (individual defects that belong to a defect type)
- Instances (code examples)
- Articles (various info)
- Templates
- Show all categories
- Show all pages
Index by Languages
Contents |
[edit] Defect Type Description
This defect type is intended to cover "side effects" of parallelization. In typical HPC applications, parallel constructs (parallel library calls, special keywords, directives, etc.) take only a small fraction of the entire code, and the rest is no different from sequential code written in the base language. In a large HPC projects where developers are working as a team, it is not unusual that some team members never write the parallel portion of the code.
Nevertheless, developers who are not directly writing parallel code can still make the classes of defects we are interested in, because serial constructs which were perfectly valid in a sequential contexts can cause correctness and performance defects when they are placed in parallel contexts. Problems tend to aggravate especially when the code is executed in a massively parallel environment.
[edit] Entries
[edit] Advice
- Don’t just focus on the parallel code
- Check that the serial code is working on one processor, but remember that the defect may surface only in a parallel context
[edit] Symptom
- Various correctness/performance problems
[edit] Causes
- "Sequential part" tends to be overlooked. Typical parallel programs contain only a few parallel primitives, and the rest of the code is made of a sequential program running in parallel.
[edit] Other Findings and Contexts
Other standard problems with parallelizing the code, such as thread-safety, preemptiveness, etc., can apply to HPC code too. We have not collected samples of this kinds from actual code yet.
|
Pages referring to this entry: Main Page Defects with Random Functions Side-effect of Parallelization (redirect page) Pages referring to this entry: Main Page Defect Classification Scheme (Mar 06) Defect Classification Scheme by Squyres and DeSouza Defects with Random Functions I/O Hotspots Serial Constructs (redirect page) Pages referring to this entry: Defect Classification Scheme (Jan 06) Validation of the Defect Classification Scheme (Jan 06) by Interview Validation of the Defect Classification Scheme (Jan 06) by Survey Validation of the Defect Classification Scheme (Jan 06) by Interview Overview of HPC Defect Patterns Defect Classification Scheme (Mar 07) |
