Parallel Processing Systems
|Flow||Y - Computer Systems|
|Category||Obligatory by selection|
|Class Hours - Lab Hours||1 - 2|
|Lecturers||Georgios Goumas, Dionisios Pnevmatikatos|
Introduction to Parallel Processing. Shared memory and distributed memory architectures (SMP, COMA, NUMA, cc-NUMA, SMT, Clusters, MPPs). Methods, techniques and interconnection networks (Bus-oriented, Cube, Switch Network, Mixed systems). Clusters as supercomputers. Principles of parallel programming. Design and implementation of parallel programs. Parallelization and partitioning techniques. Parallel programming models: Message passing and shared address space. Synchronization and concurrent data structures. Laboratory exercises: Application development in clusters, multicore and manycore (accelerator) architectures with OpenMP, MPI, CUDA, Cilk and others. Performance analysis.