12
1 Aktuelle Themen zu Informatik der Systeme: Nebenl¨ aufige Programmierung: Praxis und Semantik Organisatorisches & ¨ Uberblick PD Dr. David Sabel WS 2013/14 Stand der Folien: 15. Oktober 2013

Nebenl au ge Programmierung: Praxis und Semantik ... · [email protected] ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 2: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

Organisatorisches Uberblick

Adressen

Buro und Email

Raum 216, Robert-Mayer-Str. 11-15

[email protected]

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

Page 3: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 4: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 5: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 6: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 7: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 8: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 9: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 10: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 11: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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

Page 12: Nebenl au ge Programmierung: Praxis und Semantik ... · sabel@ki.informatik.uni-frankfurt.de ... Skript, Folien, Aufgaben Referenzen auf B ucher, Webseiten, Programmiersprachen usw

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