ECE CK903 Parallel and Distributed Systems - W26-27

Logistics

Lectures

See schedule here

Instructor

Georgios Bouloukakis

  • Office Hours: Mon 9:00-10:00am

Course Description

The aim of the course is to introduce core concepts of parallelism and distribution, with a strong emphasis on middleware as a software abstraction layer for managing concurrency, data exchange, and system functionality. Topics include synchronization, message passing, consistency, fault tolerance, and distributed scheduling. Several lectures integrate queueing theory to analyze system performance. The course also includes research article presentations, a mid-term project presentation, and a final project.

Regarding the project, students will have to implement a real-world Parallel and Distributed System.

After this course, you should be able to:

  • Explain key concepts in parallel and distributed systems, and the role of middleware in both.
  • Design parallel programs using thread libraries, synchronization primitives, and local middleware.
  • Package computation using containers.
  • Apply queueing theory to evaluate task scheduling and system performance.
  • Implement distributed data exchange client/server and publish/subscribe interaction paradigms.
  • Analyze and apply strategies for replication, consistency, and fault tolerance.
  • Support distributed scheduling, load balancing, and resource management.

Deliverables and Grading

What Grade % When
Article Presentation 30% Every Week
Project 40% 18/11/2026 & 13/01/2027
Final Exam 30% TBD

Course Policies

  • Article Presentation: Every student has to present one article. More details here.

  • Project Submission: Project slides and code will be submitted on eclass. More details here.

  • Q & A: For questions regarding the course, students can contact the instructor via email.