184.726 Advanced Multiprocessor Programming
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2024W, VU, 3.0h, 4.5EC

Properties

  • Semester hours: 3.0
  • Credits: 4.5
  • Type: VU Lecture and Exercise
  • Format: Presence

Learning outcomes

After successful completion of the course, students are able to

  • Appreciate fundamental synchronization and coordination problems for shared-memory multiprocessors, including fundamental limitations
  • Understand, exploit and cope with memory models and behavior
  • Understand and apply basic concepts for lock-based, lock- and wait-free algorithms
  • Apply fundamental lock-free algorithms and data structures (lists, stacks, queues...)
  • Understand concepts and implementations of work-stealing schedulers

Subject of course

Memory models, synchronization problems, operations and primitives, atomic operations, consensus, impossibility and universality results, locks, lock- and wait-free data structures (lists, stacks, queues,
hashtables, search structures, ...), work-stealing. Practical implementation project (C/C++ with pthreads, Java, ...)

Book: Herlihy, Shavit: The Art of Multiprocessor Programming. Morgan Kaufmann, Revised First Edition, 2012 (or later edition).

Lecture slides, additional papers.

 First Lecture: 7.10.2024 (Attendance MANDATORY)

Teaching methods

Lectures and discussion, active participation, blackboard exercises, project work.

Mode of examination

Immanent

Additional information

ECTS Breakdown

  • Overview, seminar room 384, planning: 2h
  • Lectures: 15x2h = 30h
  • Lecture preparation and digestion: 15x1.5h = 22.5h
  • Projects and Exercises: 50h
  • Oral exam/project presentation, including preparation: 8h

Total: 112.5h = 4.5 ECTS

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Mon11:00 - 13:0007.10.2024 - 27.01.2025EI 11 Geodäsie HS - INF Lecture
Fri13:00 - 19:0025.10.2024Seminarraum DE0110 Übung
Fri13:00 - 19:0008.11.2024Seminarraum DE0110 Übung
Fri13:00 - 19:0022.11.2024Seminarraum DE0110 Übung
Advanced Multiprocessor Programming - Single appointments
DayDateTimeLocationDescription
Mon07.10.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon14.10.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon21.10.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Fri25.10.202413:00 - 19:00Seminarraum DE0110 Übung
Mon28.10.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon04.11.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Fri08.11.202413:00 - 19:00Seminarraum DE0110 Übung
Mon11.11.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon18.11.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Fri22.11.202413:00 - 19:00Seminarraum DE0110 Übung
Mon25.11.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon02.12.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon09.12.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon16.12.202411:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon13.01.202511:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon20.01.202511:00 - 13:00EI 11 Geodäsie HS - INF Lecture
Mon27.01.202511:00 - 13:00EI 11 Geodäsie HS - INF Lecture

Examination modalities

Exercises (hand-ins), project, oral project presentation.

Course registration

Begin End Deregistration end
16.09.2024 00:00 14.10.2024 23:59 28.10.2024 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
066 645 Data Science Not specified
066 646 Computational Science and Engineering Mandatory3. Semester
066 931 Logic and Computation Not specified
066 932 Visual Computing Mandatory elective
066 937 Software Engineering & Internet Computing Not specified
066 938 Computer Engineering Mandatory1. Semester

Literature

No lecture notes are available.

Previous knowledge

Introduction to Parallel Computing

Preceding courses

Accompanying courses

Continuative courses

Miscellaneous

  • Attendance Required!

Language

English