This course will prepare students to understand parallel computer architecture, organization, and programming. The course starts with parallel computer classification and multithreading. It covers the architecture of centralized and distributed shared-memory parallel systems, multiprocessor cache coherence, snooping / directory-based cache coherence protocols, implementation, and limitations. Next, the students study interconnection networks and routing in parallel systems, synchronization, and memory consistency. To ensure the correctness of shared-memory multithreaded programs, independent of the speed of execution of its independent threads, the essential topics of memory consistency and synchronization will be covered in detail. As a case study, the architecture of a few accelerators such as GPUs will also be discussed in detail. Besides understanding the architecture and organization of parallel systems, programming them is also very challenging. The course will cover how to program massively parallel systems using API/libraries such as CUDA/OpenCL, and MPI/OpenMP.
Problem-based Assignments/Project: There will be 3-4 assignments for project-based learning consisting of the following:
Implement and compare different cache coherence protocols using a simulator or a high-level, event-driven simulation interface such as SystemC
Programming massively parallel systems to solve computationally intensive problems such as password cracking using CUDA/OpenCL/MPI/OpenMP
Pre-requisites:
Basic course on computer architecture and C/C++ programming.
Ahmed, Taha (2024). Development of an iterative multi-agent coordination framework for congestion prevention in low voltage grids.
Busch, Marcel (2024). Entwicklung eines Netzmodells zur szenarienbasierten Untersuchung von Engpässen in heutigen und zukünftigen städtischen Verteilnetzen.
Lindner, Joost (2024). Entwicklung einer probabilistischen Lastprognose für die Niederspannungsebene elektrischer Verteilnetze.
Möller, Julius (2024). Untersuchung von Kennzahlen zur Bewertung der Diskriminierungsfreiheit von Engpassmanagementmaßnahmen.
Wilke, Jan Jakob (2024). Definition leistungsbasierter Netzregeln zur Engpassvermeidung in elektrischen Verteilnetzen.
completed
2024
Ming, Zhao (2024). Conceptual Design for a grid demonstrator for teaching purposes and development of a suitable distribution grid simulation.
2023
Kock am Brink, Jonas (2023). Entwicklung einer Engpassprognose für elektrische Verteilnetze mittels probabilistischer Verfahren.