Patternlets — A teaching tool for introducing students to parallel design patterns
Thanks to the ubiquity of multicore processors, today’s CS students must be introduced to parallel computing or they will be ill prepared as modern software developers. Professional developers of parallel software think in terms of parallel design patterns, which are markedly different from traditio...
Uloženo v:
| Vydáno v: | Journal of parallel and distributed computing Ročník 105; s. 31 - 41 |
|---|---|
| Hlavní autor: | |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Elsevier Inc
01.07.2017
|
| Témata: | |
| ISSN: | 0743-7315, 1096-0848 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Shrnutí: | Thanks to the ubiquity of multicore processors, today’s CS students must be introduced to parallel computing or they will be ill prepared as modern software developers. Professional developers of parallel software think in terms of parallel design patterns, which are markedly different from traditional (sequential) design patterns. It follows that the more we can teach students to think in terms of parallel patterns, the more their thinking will resemble that of parallel software professionals. In this paper, we present patternlets—minimalist, scalable, syntactically correct programs, each designed to introduce students to a particular parallel design pattern. The collection currently includes 44 patternlets (16 MPI, 17 OpenMP, 9 Pthreads, and 2 heterogeneous), of which we present a representative sample. We also present data that indicate the use of patternlets to introduce parallelism in CS2 produced a modest improvement in student understanding of parallel concepts.
•Introduction to parallel design patterns.•Introduction to patternlets as minimalist, scalable, working programs.•Ideal for introducing students to parallel design pattern behaviors.•Detailed presentation of several patternlets, including: –Single Program Multiple Data (MPI, OpenMP).–Barrier (MPI, OpenMP).–Parallel Loop (MPI, OpenMP).–Reduction (MPI, OpenMP).–Gather (MPI).–Mutual Exclusion (OpenMP).•Description of courses in which patternlets have been used.•Data indicating that use of patternlets improved student learning. |
|---|---|
| ISSN: | 0743-7315 1096-0848 |
| DOI: | 10.1016/j.jpdc.2017.01.008 |