• Keine Ergebnisse gefunden

Organisatorischesund¨Uberblick Nebenl¨aufigenProgrammierung Beteiligte Termine Webseiten/Material

N/A
N/A
Protected

Academic year: 2021

Aktie "Organisatorischesund¨Uberblick Nebenl¨aufigenProgrammierung Beteiligte Termine Webseiten/Material"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prinzipien, Modelle und Algorithmen der Nebenl¨aufigen Programmierung

Wintersemester 2019/20

Organisatorisches und ¨ Uberblick

Prof. Dr. David Sabel

LFE Theoretische Informatik

Letzte ¨Anderung der Folien: 27. November 2019

Beteiligte

Prof. Dr. David Sabel

Raum L107, Oettingenstr. 67 David Tellenbach

Aufgabenbl¨atter Korrektur

Email-Verteiler an alle Organisatoren:

concurrent-ws1920@tcs.ifi.lmu.de

TCS | 01 Organisatorisches | WS 2019/20 2/16 Organisatorisches Uberblick¨

Termine

Vorlesung

Donnerstag, 12-14, A 125 (Hauptgeb¨aude)

Freitag, 10-12 Raum 3232, (Leopoldstr. 13) ca. alle 2 Wochen Vorl¨aufiger Plan f¨ur die Freitage:

18.10.2019 25.10.2019 08.11.2019 22.11.2019

06.12.2019 10.01.2020 24.01.2020 07.02.2020 Ubung¨

Dienstags 16-18, Lehrturm V005 (Prof. Huber-Pl. 2) Besprechung von Aufgaben

TCS | 01 Organisatorisches | WS 2019/20 3/16 Organisatorisches Uberblick¨

Webseiten / Material

Durchklicken aufwww.tcs.ifi.lmu.de Anmelden im uni2work!

Aktuelle und organisatorische Informationen

Unterlagen zur Veranstaltung: Skript, Folien, Aufgaben Referenzen auf B¨ucher, Webseiten, Programmiersprachen usw.

TCS | 01 Organisatorisches | WS 2019/20 4/16 Organisatorisches Uberblick¨

(2)

Aufgabenbl¨ atter

Ungef¨ahr: Jede Woche ein Aufgabenblatt Abgabe Dienstags bis 16 Uhr

1. Aufgabenblatt wird nicht abgegeben / korrigiert Abgabe und Korrektur ¨uber uni2work

pro Blatt ca. jeweils 2 bepunktete Aufgaben mit 2 Punkten pro Aufgabe

Bonus f¨ur die Pr¨ufung

TCS | 01 Organisatorisches | WS 2019/20 5/16 Organisatorisches Uberblick¨

H¨ orerkreis und Pr¨ ufung

Modul Algorithmik und Komplexit¨at im Masterstudiengang Informatik 6 ECTS, 3V+2 ¨U

Modulpr¨ufung

M¨undliche Pr¨ufung oder Klausur

”Bonus“ bei erfolgreicher Bearbeitung der ¨Ubungsaufgaben:

- 100% erfolgreiche Bearbeitung aller Aufgaben

= 10% aller Klausurpunkte als Bonus - Anrechnung ansonsten linear

- Bonuspunkte helfen nicht beim Bestehen

bei m¨undlicher Pr¨ufung entsprechende W¨urdigung (ab 50% erfolgreiche Bearbeitung eine Teilnote besser,

bei ca 90% erfolgreiche Bearbeitung zwei Teilnoten besser)

TCS | 01 Organisatorisches | WS 2019/20 6/16 Organisatorisches Uberblick¨

Inhalt (Planung) (1)

Synchronisation von Prozessen und Mutual-Exclusion Mutual-Exclusion = wechselseitiger Ausschluss

Unter verschiedenen Annahmen der Speicheroperationen:

Zun¨achst: Nur atomares read und write Mutual-Exclusion bei2 Prozessen:

Algorithmen von Dekker, Peterson, Kessels Mutual-Exclusion bein Prozessen:

Lamports Algorithmus, Bakery-Algorithmus

TCS | 01 Organisatorisches | WS 2019/20 7/16 Organisatorisches Uberblick¨

Inhalt (Planung) (2)

St¨arkere Speicherobjekte

St¨arke Speicheroperationen und Mutual-Exclusion:

Test-and-set Bits, RMW-Objekte, Compare-and-Swap Objekte Qualitative Klassifzierung der Speicheroperationen

Consensus und die Consensuszahl

TCS | 01 Organisatorisches | WS 2019/20 8/16 Organisatorisches Uberblick¨

(3)

Inhalt (Planung) (3)

Gebr¨auchliche Konstrukte der Nebenl¨aufigen Programmierung:

Semaphoren Monitore Kan¨ale Tuple Spaces

Dabei: L¨osung 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

TCS | 01 Organisatorisches | WS 2019/20 9/16 Organisatorisches Uberblick¨

Inhalt (Planung) (4)

Nebenl¨aufiger Zugriff aufmehrereRessourcen Deadlocks

Deadlock-Vermeidung (Zwei-Phasen-Sperrprotokoll) Deadlock-Verhinderung (Bankiers Algorithmus) Transactional Memory (allgemein)

TCS | 01 Organisatorisches | WS 2019/20 10/16 Organisatorisches Uberblick¨

Inhalt (Planung) (5)

Nebenl¨aufige und parallele Programmierung in Haskell (evtl. auch weitere Programmiersprachen)

Parallel Haskell Concurrent Haskell

Software Transactional Memory in Haskell

TCS | 01 Organisatorisches | WS 2019/20 11/16 Organisatorisches Uberblick¨

Inhalt (Planung) (6)

Semantische Modelle nebenl¨aufiger Programmiersprachen:

Kurze Einf¨uhrung in die Semantik von Programmiersprachen der π-Kalk¨ul als Message-Passing-Modell

der CHF-Kalk¨ul als Shared-Memory-Modell Beziehungen zwischen den Modellen evtl. weitere Modelle

TCS | 01 Organisatorisches | WS 2019/20 12/16 Organisatorisches Uberblick¨

(4)

Literatur (1)

Zu Mutual-Exclusion-Algorithmen und Konstrukte der nebenl¨aufigen Programmierung

Ben-Ari, M.(2006).Principles of concurrent and distributed programming. Addison-Wesley.

Taubenfeld, G.(2006).Synchronization Algorithms and Concurrent Programming. Prentice-Hall.

Reppy, J. H.(2007).Concurrent Programming in ML.

Cambridge University Press.

Raynal, M.(2013).Concurrent Programming: Algorithms, Principles, and Foundations, Springer.

TCS | 01 Organisatorisches | WS 2019/20 13/16 Organisatorisches Uberblick¨

Literatur (2)

Zu Concurrent Haskell:

Peyton Jones, S. & Singh, S. (2009). A tutorial on parallel and concurrent programming in haskell. In P. Koopman, R. Plasmeijer, & D. Swierstra, editors, Advanced Functional Programming, 6th International School, AFP 2008, Revised Lectures, volume 5832 ofLecture Notes in Computer Science, pages 267–305. Springer. ISBN-13 978-3-642-04651-3.

Marlow, S. (2013).Parallel and Concurrent Programming in Haskell, O’Reilly.

. . .

TCS | 01 Organisatorisches | WS 2019/20 14/16 Organisatorisches Uberblick¨

Literatur (3)

Zum π-Kalk¨ul:

Milner, R.(1999).Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press.

Sangiorgi, D. & Walker, D.(2001). Theπ-Calculus: A Theory of Mobile Processes. Cambridge University Press, New York, NY, USA.

TCS | 01 Organisatorisches | WS 2019/20 15/16 Organisatorisches Uberblick¨

Weitere Literatur

Verweise auf speziellere Forschungsartikel etc. werden im Skript zu den einzelnen Themen angegeben.

TCS | 01 Organisatorisches | WS 2019/20 16/16 Organisatorisches Uberblick¨

Referenzen

ÄHNLICHE DOKUMENTE

TCS | 04 Synchronisation II | WS 2019/20 2/74 St¨ arkere Speicheroperationen

blockiert: Prozess darf keine Schritte ausf¨ uhren Blockieren / Entblockieren durch Programmbefehle, nicht durch Scheduler..

Initial: wartend: atomares Register, am Anfang 0 kunden: genereller Semaphor, am Anfang 0 mutex: bin¨ arer Semaphor, am Anfang 1 synch,friseur: bin¨ arer Semaphor am Anfang 0

signalC(cond) kann effektlos sein: Entweder Prozess in cond wird entblockiert, oder effektlos, wenn cond leer ist. TCS | 06 Programmierprimitiven II | WS 2019/20 17/53

TCS | 07 Programmierprimitiven III | WS 2019/20 22/61 Kan¨ ale Tuple Spaces: Das Linda Modell.. n¨ utzlich bei.. n¨ utzlich bei.. n¨ utzlich bei.. n¨ utzlich bei.. n¨ utzlich bei..

TCS | 07 Programmierprimitiven III | WS 2019/20 2/61 Kan¨ ale Tuple Spaces: Das Linda Modell.. Shared

2 Halten und Warten (Hold and Wait): Ein Prozess kann eine Ressource anfordern (auf eine Ressource warten), w¨ ahrend er eine andere Ressource bereits belegt hat.. 3 Keine

Jede TVar hat eine assozierte Warteschlange von Threads Wird retry ausgef¨ uhrt, so h¨ angt sich der entsprechende Thread in die Wartelisten aller gelesenen TVars ein und