Post on 07-Sep-2019
1
Aktuelle Themen zu Informatik der Systeme:
Nebenlaufige Programmierung:Praxis und Semantik
Organisatorisches & Uberblick
PD Dr. David Sabel
WS 2013/14
Stand der Folien: 15. Oktober 2013
Organisatorisches Uberblick
Adressen
Buro und Email
Raum 216, Robert-Mayer-Str. 11-15
sabel@ki.informatik.uni-frankfurt.de
Webseite zur Veranstaltung
www.ki.informatik.uni-frankfurt.de/lehre/WS2013/TIDS
Aktuelle und organisatorische Informationen
Unterlagen zur Veranstaltung: Skript, Folien, Aufgaben
Referenzen auf Bucher, Webseiten, Programmiersprachen usw.
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 2/12
Organisatorisches Uberblick
Termine
Vorlesung
Dienstag 10-12, Seminarraum 9
Ubung
ca. zweiwochig, Mittwoch 14-16, Seminarraum 9
zu jeder Ubung ein Aufgabenblatt,Abgabe: Dienstags in der Vorlesung
Termine (vorlaufig):Ubung 1: 30. 10.
Ubung 2: 13. 11.
Ubung 3: 27. 11.
Ubung 4: 12. 12.
Ubung 5: 15. 01.
Ubung 6: 29. 01.
Ubung 7: 12. 02.
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 3/12
Organisatorisches Uberblick
Modul M-TIDS
Einordnung im Masterstudiengang
Im Fachgebiet“Informatik der Systeme”
“Sonstiges Modul”, d.h.
keine Spezialisierungkein einfuhrendes Modul
5 CP
Modulprufung
Mundliche Prufung
”Bonus“ bei erfolgreicher Bearbeitung der Ubungsaufgaben
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 4/12
Organisatorisches Uberblick
Inhalt (Planung) (1)
Synchronisation von Prozessen und Mutual Exclusion
Mutual Exclusion = wechselseitiger Ausschluss
Unter verschiedenen Annahmen der Speicheroperationen:
Zunachst: Nur atomares read und write
Mutual Exclusion bei 2 Prozessen:Algorithmen von Dekker, Peterson, Kessels
Mutual Exclusion bei n Prozessen:Lamports Algorithmus, Bakery-Algorithmus
Starke Speicheroperationen und Mutual Exclusion:Test-and-set Bits, RMW-Objekte, Compare-and-Swap Objekte
Qualitative Klassifzierung der Speicheroperationen anhand derConsensuszahl
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 5/12
Organisatorisches Uberblick
Inhalt (Planung) (2)
Gebrauchliche Konstrukte der Nebenlaufigen Programmierung:
Semaphoren
Monitore
Kanale
Tuple Spaces
Dabei: Losung klassischer Probleme mit den Primitiven:
Das Problem der Speisenden Philosophen
Erzeuger / Verbraucher Probleme
Sleeping Barbers Problem
Cigarette Smoker’s Problem
Programmierung von Barrieren
Das Readers & Writers Problem
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 6/12
Organisatorisches Uberblick
Inhalt (Planung) (3)
Nebenlaufiger Zugriff auf mehrere Ressourcen
Deadlocks
Deadlock-Vermeidung (Zwei-Phasen-Sperrprotokoll)
Deadlock-Verhinderung (Bankiers Algorithmus)
Transactional Memory (allgemein)
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 7/12
Organisatorisches Uberblick
Inhalt (Planung) (4)
Nebenlaufige und parallele Programmierung in Haskell(evtl. auch weitere Programmiersprachen)
Parallel Haskell
Concurrent Haskell
Software Transactional Memory in Haskell
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 8/12
Organisatorisches Uberblick
Inhalt (Planung) (5)
Semantische Modelle nebenlaufiger Programmiersprachen:
der π-Kalkul als Message-Passing Modell
der CHF-Kalkul als Shared Memory Modell
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 9/12
Organisatorisches Uberblick
Literatur (1)
Zu Mutual-Exclusion-Algorithmen und Konstrukte dernebenlaufigen Programmierung
Ben-Ari, M. (2006). Principles of concurrent and distributedprogramming. Addison-Wesley.
Taubenfeld, G. (2006). Synchronization Algorithms andConcurrent Programming. Prentice-Hall.
Reppy, J. H. (2007). Concurrent Programming in ML.Cambridge University Press.
Raynal, M. (2013). Concurrent Programming: Algorithms,Principles, and Foundations, Springer.
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 10/12
Organisatorisches Uberblick
Literatur (2)
Zu Concurrent Haskell:
Peyton Jones, S. & Singh, S. (2009). A tutorial on paralleland concurrent programming in haskell. In P. Koopman,R. Plasmeijer, & D. Swierstra, editors, Advanced FunctionalProgramming, 6th International School, AFP 2008, RevisedLectures, volume 5832 of Lecture Notes in Computer Science,pages 267–305. Springer. ISBN-13 978-3-642-04651-3.
Marlow, S. (2013). Parallel and Concurrent Programming inHaskell, O’Reilly.
. . .
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 11/12
Organisatorisches Uberblick
Literatur (3)
Zum π-Kalkul:
Milner, R. (1999). Communicating and Mobile Systems: thePi-Calculus. Cambridge University Press.
Sangiorgi, D. & Walker, D. (2001). The π-Calculus: ATheory of Mobile Processes. Cambridge University Press, NewYork, NY, USA.
D. Sabel · TIDS · WS 2013/14 · Organisation & Uberblick 12/12