Dies sind die archivierten Webseiten des Lehrstuhls für Programmierung und Softwaretechnik (PST).
Die Seiten des Software and Computational Systems Lab (SoSy) finden Sie auf https://www.sosy-lab.org/.

Proseminar Nebenläufige Programmierung

In diesem Proseminar werden Themen der nebenläufigen Programmierung behandelt und anhand von Java illustriert.

Aktuelles

  • 2010-05-30: „Going Atomic“. Diesen Artikel über die atomaren Variablen in Java 5 müsstet Ihr mittlerweile gut verstehen. (Freiwillige Lektüre.)
  • 2010-04-28: Die Bachelorordnung verlangt, dass bei Proseminaren eine Ausarbeitung geschrieben wird (Details siehe unten).
  • 2010-04-28: Auf der Website des Buches gibt es die Programme und Errata zum herunterladen.
  • 2010-04-08: Es gibt Details zu dem Proseminar von Prof. Hofmann.

Teilnahmevoraussetzungen

Teilnahmevoraussetzungen:
  1. Bestandene Prüfung zu "Einführung in die Programmierung".
  2. Gute passive Englischkenntnisse: Das meiste Material zum Proseminar wird auf Englisch sein, Teilnehmer sollten also keine Schwierigkeiten mit englischen Informatik-Texten haben.

Material

Grundlage des Proseminars wird sein das Buch "The art of multiprocessor programming" von Maurice Herlihy, Nir Shavit. Da wir viel mit diesem Buch arbeiten werden, empfiehlt es sich, dieses zu kaufen. Vortragsfolien:

Termin

Das Proseminar findet statt: Mittwochs, 10-13 Uhr, Raum 131, Oettingenstr.

Erste Sitzung: 21. April. Zweite Sitzung: 5. Mai.

Vorträge

Es gibt 11 Vorträge:

  1. (2) Mutual Exclusion (20pp): 01-mutual_exclusion_folien.pdf
  2. (3) Concurrent Objects (21pp): 02-concurrent_objects.pdf
  3. (7) Spin Locks and Contention (33pp): 03-spin_locks.pdf
  4. (9) Linked Lists: The Role of Locking (25pp): 04-linked_lists.pdf
  5. (10) Concurrent Queues and the ABA Problem (19pp): 05-concurrent_queues.pdf
  6. (8) Monitors and Blocking Synchronization (13pp): 06-monitors+concurrent_stacks.pdf
    • (11) Concurrent Stacks and Elimination (11pp)
  7. (12) Counting, Sorting, and Distributed Coordination (34pp): 07-counting.pdf
  8. (13) Concurrent Hashing and Natural Parallelism (27pp): 08-concurrent_hashing.pdf
  9. (14) Skiplists and Balanced Search (20pp): 09-skiplists.pdf
  10. (15) Priority Queues (16pp): 10-priority_queues.pdf
    • (17) Barriers (12pp)
  11. (16) Futures, Scheduling, and Work Distribution (24pp): 11-futures.pdf
  12. (Ausblick: 12-ausblick.pdf)

Vortragende:

  1. Mutual Exclusion: herzner, kuelzer, stoerkle (KW 18)
  2. Concurrent Objects: osterwald (KW 19)
  3. Spin Locks: mischor, pletz (KW 20)
  4. Linked Lists: bittners, lueling (KW 21)
  5. Concurrent Queues: engele, sauka (KW 22)
  6. Monitors: maureri, schnurr (KW 23)
  7. Counting: kuehnl, nitschea (KW 24)
  8. Concurrent Hashing: simonc, stockerl (KW 25)
  9. Skiplists: fiedlerad, kellerju (KW 26)
  10. Priority Queues: koesters, krajina (KW 27)
  11. Futures: ateia, czech (KW 28)

Regelungen

  • Draft-Folien: Zwei Wochen vor Vortrag
  • Besprechung der Folien und der Ausarbeitung: Eine Woche vor Vortrag, nach der Sitzung.
  • Ausarbeitung: Richtmaß: 20.000 Zeichen = 12 Seiten. Je nach Stoff kann es auch weniger werden.
    • Deadline: Bei den ersten 5 Vorträgen ist der Abgabetermin eine Woche nach Vortrag, danach zum Vortrag.
    • Die Ausarbeitung aufzuteilen ist erlaubt, dann bitte die Teile namentlich kennzeichnen.

Sonstiges

Bei weiteren Fragen: E-Mail an Axel Rauschmayer.

Personen

Prof. Dr. Martin Wirsing

Axel Rauschmayer