Parallel computing
Introduction |
? High Performance computing |
? Computer cluster |
? Distributed computing |
? Grid calculation |
? cloud operation |
  |
  |
  |
  |
|
|
Way |
? Bit-level parallelism |
? instruction level parallelism |
? Data parallelism |
? Task Parallelism |
|
|
|
theory |
? speedup |
? amdahl theorem |
? flynn ' s taxonomy |
? cost efficiency |
? gustafson theorem |
? karp-flatt metric |
  |
|
  |
|
|
Elements |
? Process |
? Threads |
? Fiber |
? Pram Model |
|
|
|
Coordination |
? Multi-processing |
? Multiple threads |
? Hyper thread |
? Memory consistency |
? cache coherency |
? barrier |
? Synchronization |
? application checkpointing |
  |
|
|
Programming |
? Programming Model |
? Implicit parallelism |
? Explicit parallelism |
|
|
|
|
Hardware |
? Beowulf fleet of Pui-AO |
? symmetric multi-processor |
? Asymmetric multiprocessing |
? simultaneous multithreading |
? non-uniform memory model |
? Cache only Memory Architecture |
? Shared Memory |
? Distributed Memory |
? Distributed shared Memory |
? Ultra-Pure quantity |
? Vector Processor |
? Super Computer |
? Stream Processing |
? Universal Graphics Processor (GPGPU) |
|
|
|
|
|
APIs |
? POSIX Threads |
? OpenMP |
? Message Passing Interface (MPI) |
? Intel Threading Building Blocks |
|
|
|
problem |
? embarrassingly parallel |
? grand Challenge |
? software lockout |
? extensibility |
? competition hazard |
? deadlock |
? Deterministic algorithm |
|
|
Baike Parallel Computing Concepts