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.

2022S, 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. 7.3, 10: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
Mon10:00 - 12:0007.03.2022 - 27.06.2022EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu11:00 - 13:0028.04.2022 - 30.06.2022EI 5 Hochenegg HS Advanced Multiprocessor Programming
Advanced Multiprocessor Programming - Single appointments
DayDateTimeLocationDescription
Mon07.03.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon14.03.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon21.03.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon28.03.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon04.04.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon25.04.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu28.04.202211:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon02.05.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu05.05.202211:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon09.05.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu12.05.202211:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon16.05.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu19.05.202211:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon23.05.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon30.05.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu02.06.202211:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu09.06.202211:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon13.06.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Mon20.06.202210:00 - 12:00EI 5 Hochenegg HS Advanced Multiprocessor Programming
Thu23.06.202211:00 - 13:00EI 5 Hochenegg HS Advanced Multiprocessor Programming

Examination modalities

Exercises (hand-ins), project, oral examination

Course registration

Begin End Deregistration end
11.02.2022 08:00 21.03.2022 23:00 18.04.2022 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

Language

English