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.

2023S, VU, 3.0h, 4.5EC
TUWEL

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.

Lecture slides, additional papers.

 First Lecture: Mo. 6.3, 13:00

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
Mon13:00 - 15:0006.03.2023 - 26.06.2023EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu11:00 - 13:0027.04.2023 - 29.06.2023EI 5 Hochenegg HS Advanced Multiprocessor Programming
Advanced Multiprocessor Programming - Single appointments
DayDateTimeLocationDescription
Mon06.03.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon13.03.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon20.03.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon27.03.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon17.04.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon24.04.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu27.04.202311:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu04.05.202311:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon08.05.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu11.05.202311:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon15.05.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon22.05.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu25.05.202311:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu01.06.202311:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon05.06.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon12.06.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu15.06.202311:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon19.06.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu22.06.202311:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon26.06.202313:00 - 15:00EI 5 Hochenegg HS Advanced Multiprocessor Programming

Examination modalities

Exercises (hand-ins), project, oral examination

Course registration

Begin End Deregistration end
13.02.2023 08:00 31.03.2023 00:00 24.04.2023 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
066 645 Data Science Not specified
066 646 Computational Science and Engineering Mandatory2. 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 Mandatory2. Semester

Literature

No lecture notes are available.

Previous knowledge

Introduction to Parallel Computing

Preceding courses

Accompanying courses

Continuative courses

Miscellaneous

  • Attendance Required!

Language

English