Parallel
Programming Study
(Tutorial from Lawrence Livermore Labs)
Make up 5 multiple choice questions on the following topics.
- Put the questions on your website portfolio under "Parallel Programming
Questions"
- List the answers at the bottom of the page, or on a separa
te link.
- Parallel vs serial computing.
- von Neumann Architecture
- Flynn's Classical Taxonomy, SISD, SIMD, MISD, MIMD
- RISC/CISC
- General Parallel Terminology
- Task, Parallel Task, Serial Execution, Parallel Execution
- Shared Memory, Distributed Memory, Communications, Synchronization
- Granularity, Observed Speedup, Parallel Overhead, Massively
Parallel, Scalability
- Parallel Computer Memory Architectures
- Shared memory - uniform memory access, non-uniform memory access
- Distributed Memory
- Hybrid Distributed-Shared Memory
- Parallel Programming models
- Shared Memory, Threads, Message Passing, Data Parallel, Hybrid
- Automatic vs. Manual Parallelization
- Designing Parallel Programs
- Understand the Problem and the Program, Partitioning
- Designing Parallel Programs
- Communications - do/don't need communications
- Factors to consider in communications
- Synchronous vs. asynchronous communications, blocking, non-blocking
- Scope of communications, point-to-point, collective
broadcast, scatter, gather, reduction
- Sychronization - Barrier, Lock / semaphore, Synchronous communication operations
- Data Dependencies
- Load balancing
- Granularity
- Amdahl's Law
- Parallel examples
- array processing, PI calculation, Heat Equation, 1-D wave equation