Course title |
Parallel and Distributed Systems |
Course code |
ΜΚ34 |
Course type |
Compulsory |
Course level |
Undergraduate (first cycle) |
Year of studies |
3nd |
Semester |
6th |
ECTS Credits |
5 |
URL |
http://eclass.uowm.gr/courses/ICTE161/ & http://arch.icte.uowm.gr/courses/parallel/ |
Hours per week |
4 (2 hours theory & 2 hours laboratory) |
Instructor(s) |
Minas Dasygenis (Lecturer) |
Course content |
Introduction to Parallel Systems. History of Parallel and Distributed Systems. Von Neumann organization. Flynn taxonomy. Pipeline. Multi computer systems and multi-core. Distributed and shared memory. Uniform and non-uniform Memory Architectures. Performance estimation. Scaling. Interconnection networks. Laws of Grosch, Amdahl, Gustafson-Barsis. Designing and programming parallel applications. MPI. Synchronization. Dependencies Graph. Scheduling. Shared Memory coherence. MESI. Parallel Processing at GPU. Models and communication mechanisms of processes. Vector Processing. Cluster & Grid Computing. Parallelizing application examples. Synchronization issues. Laboratory assignments of parallel programming of OpenMPI, OpenMP, threads and CUDA. |
Expected |
Upon successful completion of this course, students will be able to demonstrate knowledge and understanding of:
From the laboratory assignments, students will gain the abilities to:
|
Prerequisites |
Operating Systems, C Programming (not compulsory) |
Teaching methods |
Lectures, Powerpoint slides, Lecture Notes, in class quizzes, e-class, automated examination system i-exams, opencourses video lectures, laboratory exercises, semester group project. |
Assessment methods |
Written final theory exam 50%, final lab exam 10%, three mini exams 15%, 12 weekly laboratory exercises 10%, 1 semester team project 15% . |
Language of instruction |
Greek |
Recommended bibliography |
|