文章目录[隐藏]
Administrivia
curent ddl
score complement
what and why
applications
- Fluid dynamics
- DNA & drug
- Quantum / atomic simulation, cosmological
challenges
- Harnessing power of masses
- Communication
- Processors compute faster than they can communicate.
- Problem gets worse as number of processors increase
- Main bottleneck to parallel computing
- Synchronization
- Scheduling
- Structured vs. unstructured
- Structured problems can be solved with custom hardware.
- Unstructured problems more general, but less efficient.
- Inherent linmitations
- Some problems are not( or don't seem to be ) paralleizable
- Dijkstra's shortest paths algorithm
- Other problems require clever algorithms to become parallel.
- Fibonacci series (\(a_{n}=a_{n-1}+a_{n-2}\))
- The human factor
- Hard to keep track of concurrent events and dependencies.
- Parallel algorithms are hard to design and debug.
- Some problems are not( or don't seem to be ) paralleizable
Course Outline
- Parallel architectures.
- shared memory
- distributed memory
- many more
- Parallel languages
- OpenMP
- MPI
- cuda
- MapReduce
- Algorithm design techniques
- Decomposition
- Load balancing
- schedling
## state of the art
- parellel computers today mainly based on four processor architectures.
- Multi-cores
- Many-cores
- FPGA
- ASIC
- power efficiency: goal 50GFLOPS/W
- Top-500