1 / 17

Nebenläufigkeit Teil I

Vortrag zum Seminar von Prof. Dr. Wolfgang Reisig: Systementwurf. Nebenläufigkeit Teil I. Am 16.06.2005 Helmut Weidner-Kim (Weidner-Kim@bigfoot.com). Inhaltsverzeichnis. Nebenläufigkeit I. Nebenläufigkeit Beschreibung durch einfachen Beobachter Fairness Formalisierung.

lynch
Download Presentation

Nebenläufigkeit Teil I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vortrag zum Seminar von Prof. Dr. Wolfgang Reisig: Systementwurf NebenläufigkeitTeil I Am 16.06.2005 Helmut Weidner-Kim (Weidner-Kim@bigfoot.com)

  2. Inhaltsverzeichnis • Nebenläufigkeit I • Nebenläufigkeit • 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 t1 • Hier: „alles“ mit Petrinetzen veranschaulicht • Achtung: kompaktere Darstellung! • Einfacher Fall, Synchronisation zusätzlich möglich 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 t1 • 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. 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. t3 t2 t1 t1 t3 t2 t2 t1 t4 Beispiele für Fairness: 1 Werden beide Prozesse fair behandelt? 10

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

  12. t4 t2 t1 t3 φ1 Φ2 Fairness ist nicht immer „fair“ „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. 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 EmersonTemporal and Modal Logic Austin, 1995 G.D.Plotkin, V.R. PrattTeams can see pomsets http://boole.stanford.edu/pub/pp2.ps.gz mathworld.wolfram.com/ 17

More Related