PARALLEL COMPUTING - A. Festa, Ph.D. - Detailed program 1- Parallel Computers or Cluster Systems, Von Neumann Architecture, Basic Terminology. 2- Implicit Parallelism: Pipelining, superscalar execution, memory system performances, cache memory. Explicit parallelism: Conditioning, Shared and distributed memory architectures, Message passing, basic elements of routing and Network Topologies, Cache Coherence. 3- Performances metrics: Total parallel overhead, Speedup, Efficiency, Isoefficiency metric of scalability. 4- Sorting Algorithms: Bitonic Sort (sequential, parallel), Bubble/odd-even Sort (sequential, parallel), Shell Sort (sequential, parallel), Quick Sort (sequential, parallel), Bucket Sort (sequential, parallel). 6- Graph Algorithms: Prim's Algorithm (sequential, parallel), Dijekstra's (sequential, parallel), Floyd's (sequential, parallel), Johnson's (sequential, parallel). 7- Matrices: matrix vector multiplication, 1D-2D partitioning, Cannon's Algorithm, Gaussian elimination (sequential, parallel). 8- Sparse matrices: Poisson Equation, Finite differences, tridiagonal systems, block matrices, Gaussian Elimination for tridiagonal systems, Recursive doubling, cyclic reduction, Domain Decomposition methods. 9- Integration: Quadrature formulas, Left/Right Riemann, Trapezoid, Simpson. Randomness, Linear Congruential generators, Monte Carlo Methods.