Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Nebenläufigkeit Teil I

Ähnliche Präsentationen


Präsentation zum Thema: "Nebenläufigkeit Teil I"—  Präsentation transkript:

1 Nebenläufigkeit Teil I
Vortrag zum Seminar von Prof. Dr. Wolfgang Reisig: Systementwurf Am Helmut Weidner-Kim

2 Nebenläufigkeit II Nebenläufigkeit I Inhaltsverzeichnis
Beschreibung durch einfachen Beobachter Fairness Formalisierung Nebenläufigkeit II (Nachweis der Nebenläufigkeit) 2

3 1. Nebenläufigkeit Englisch: concurrency Wie der Name sagt: Mehrere Prozesse oder Threads „nebeneinander“ Details der Implementierung wie Scheduling oder Mehrprozessorsytem sind für dieses Thema unwichtig Das System als „black box“, die nur von außen betrachtet werden kann Verhalten des Systems ist beobachtbar Frage: Wie muss ein Beobachter aussehen, der Nebenläufigkeit erkennt? 3

4 Darstellung Petrinetze können benutzt werden, um Neben- läufigkeit zu beschreiben Hier: „alles“ mit Petrinetzen veranschaulicht Achtung: kompaktere Darstellung! Einfacher Fall, Synchronisation zusätzlich möglich t1 t2 4

5 2. Einfacher Beobachter Wird häufig benutzt
Kann nur eine lineare Sequenz von Ereignissen registrieren Ereignisse sind atomare Zeitpunkte ohne Dauer 5

6 Darstellung Das „eigentliche“ Petrinetz als black Box
Ankunft von Marken in äußeren Zuständen zeigt Transition an Was Beobachter mit Marken macht, interessiert hier nicht 6

7 Nebenläufigkeit als Nichtdetermininismus
Verschiedene Reihenfolgen (je nach Ablauf): t2 Möglich sind: (t1,t2,t3,t4,t5); (t1,t2,t4,t3,t5); (t1,t2,t4,t5,t3); (t1,t4,t2,t3,t5); (t1,t4,t2,t5,t3); (t1,t4,t5,t2,t3) Dies könnte beispielsweise mit temporaler Logik beschrieben werden t3 t4 t5 7

8 (Voraussetzung für Nebenläufigkeit)
3. Fairness (Voraussetzung für Nebenläufigkeit) Idee: „jeder kommt einmal dran“ Für „unendliche“ Berechnungen reicht „einmal“ nicht aus! Also: Jeder Prozess bzw. Thread kommt unendlich oft dran ... 8

9 Grade der Fairness schwache Fairness (weak fairness, justice): starke Fairness (strong fairness): Unparteilichkeit (impartiality): Unparteilichkeit ⇒ starke Fairness ⇒ schwache Fairness 9

10 Beispiele für Fairness: 1
t2 t1 t3 t1 t2 Werden beide Prozesse fair behandelt? t4 t1 t3 t2 10

11 Beispiel für Fairness: 2
t2 t3 t1 t4 φ1 φ2 t1,t2,t3,t4,t3,t4,t3,t4,t3,t4, ... wäre nicht fair Fairnessbedingungen φ1, φ2 können das verhindern 11

12 Fairness ist nicht immer „fair“
φ1 Φ2 „unfaires“ Beispiel: Betrachte Reihenfolge: t1,t2,t3,t4,t1,t2,t3,t4,t3,t4, t1,t2,t3,t4,t3,t4,t3,t4, … D.h.: 1x der linke, 1x der rechte, 1x der linke, 2x der rechte, 1x der linke, 3x der rechte, 1x der linke, 4x der rechte, 1x der linke, 5x … … immer 1x der linke, nx der rechte Verhältnis der zugewiesen Zeit für linken und rechten Prozess geht gegen 0 ! Trotzdem fair: beide kommen unendlich oft dran! 12

13 Sinn der Fairness Nicht: Jeder Prozess erhält gleich viel Zeit(-einheiten) Sondern: jeder Prozess hat die Chance zu terminieren Keine quantitative, sondern eine qualitative Aussage! 13

14 Formalisierung Zeitstruktur des Multiprozesses
Aussage über Startzustände Eine Fairnessbedingung 14

15 Formalisierung mit temporaler Logik
Zeitstruktur des Multiprozesses Aussage über Startzustände Eine Fairnessbedingung 15

16 (Nichtdeterminiertheit/Fairness)
Zusammenfassung (Nichtdeterminiertheit/Fairness) Einfacher Beobachter, erfasst die Sequenz der Nachrichten über Ereignisse im System Nebenläufigkeit = Nichtdeterminiertheit der Reihenfolgen in der Programmausführung Nebenläufigkeit erfordert Fairness: jeder Prozess darf terminieren (wenn er es kann) „ohne Fairness keine echte Nebenläufigkeit“ 16

17 Literaturquellen E. Allen Emerson Temporal and Modal Logic
Austin, 1995 G.D.Plotkin, V.R. Pratt Teams can see pomsets mathworld.wolfram.com/ 17


Herunterladen ppt "Nebenläufigkeit Teil I"

Ähnliche Präsentationen


Google-Anzeigen