Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Karlsruhe (TH) Chair for Embedded Systems SS 2006 Scheduling von Prozess-Netzwerken Axel Sanwald CES - Chair for Embedded Systems Department.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Karlsruhe (TH) Chair for Embedded Systems SS 2006 Scheduling von Prozess-Netzwerken Axel Sanwald CES - Chair for Embedded Systems Department."—  Präsentation transkript:

1 Universität Karlsruhe (TH) Chair for Embedded Systems SS 2006 Scheduling von Prozess-Netzwerken Axel Sanwald CES - Chair for Embedded Systems Department of Computer Science University of Karlsruhe

2 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Übersicht Was sind Prozess-Netzwerke? Wo kann man sie verwenden? Grenzen/mögliche Probleme/Gefahren Gewünschte Eigenschaften eines Schedulers Statisches Scheduling Dynamisches Scheduling Zusammenfassung

3 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Was sind Kahn-Prozess-Netzwerke? Modell für paralleles Rechnen, bestehend aus Prozessen und Kanälen Kanal: einziger Kommunikationsweg – gerichtet, asynchron, FIFO Prozess: Teilprogramm, dass parallel ausführbar ist Semantik: Ausgangskanäle jederzeit beschreibbar, Lesen blockiert bei leerem Eingangskanal Terminierung: alle Prozesse warten auf leeren Eingangskanal Darstellung kann als Graph erfolgen, hier ein Beispiel: Prozess KanalNachricht = Token

4 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Einsatzmöglichkeiten Einige Beispiele: Netzwerkverkehr in z.B. LAN, WAN oder peer-to-peer Netzen Datenströme in eingebetteten Systemen Elementar- sensor Auf- bereitung Vor- verarbeitung Auswertung physikalische Größen ,7, *5;8*1;......Hund;Auto;... IPC oder RPC in µKernel- Betriebssystemen µKernel Console Network Memory

5 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Die Kehrseite des Kahn-Netzwerk-Modells Es kann immer nur von einem bestimmten Kanal gelesen werden! z.B. select-syscall nicht modellierbar Programmablauf muss nicht deterministisch sein unvorhersagbares Zeitverhalten einer Applikation Durch unbestimmten Programmablauf oder durch das Programm selbst ist unendlicher Speicherbedarf möglich readFrom( any,...); NO! NO! P2 P1 P3 P4

6 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Gewünschte Eigenschaften eines Schedulers 1.Ein Scheduler sollte die komplette Ausführung eines Kahn- Prozess-Netzwerkes der partiellen bevorzugen. Soll z.B. ein Programm niemals terminieren, dann darf es vom Scheduler auch nicht eingeschränkt werden. 2.Ein Scheduler sollte, sofern möglich die Prozesse eines Netzwerks in einer Reihenfolge ausführen, so daß sich stets nur eine beschränkte Menge an Tokens auf jedem Kanal befinden. 3.Im Konfliktfall ist 1. zu bevorzugen.

7 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS K1 K2 P2P1 Statisches Scheduling Nur auf Synchrone-Datenfluß-Netzwerke, Spezialfall von Kahn- Prozess-Netzwerken, anwendbar: 1.Topologiematrix Gamma aufstellen 2.Lösung für Balancegleichung finden 3.Anfangswertproblem lösen P2 P1 P3 P Mögliche Ausführungsreihenfolge: 1, 2, 1, 2, 1, 2, 3, 3, 3, 4 Ziel: Finden einer Ausführungsreihenfolge Wunscheigenschaften 1 2

8 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Dynamisches Scheduling I Ziel: Unzulänglichkeiten von statischem Scheduling umgehen Ein einfaches Daten gesteuertes Scheduling Verfahren: 1.Suche alle Prozesse im Zustand bereit 2.Starte alle gefundenen Prozesse 3.Warte bis alle gestarteten Prozesse blockiert sind 4.Springe zu 1. Wunscheigenschaften 1 2

9 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Dynamisches Scheduling II Zweites Ziel erfordert Semantik-Änderung des Netzwerks: Neu: beschränkte Kanäle und blockierendes Schreiben Allerdings können künstliche Verklemmungen entstehen! Folgender Algorithmus löst das Problem: 1.Initialisiere alle Kanäle mit einer Startkapazität 2.Führe Programm mit vorherigem Scheduler aus 3.Bei Stop: prüfe ob es durch ein Write blockierte Prozesse gibt 4.Ja: erhöhe Kanalkapazitäten aller blockierten Kanäle und springe zu 2. 5.Nein: Terminiere Wunscheigenschaften 1 2 k= P1 P2

10 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel P2 P1 P3 P k=0 k=1k=0k=3 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten Prozess Bereit Verklemmt Blockiert

11 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben P2 P1 P3 P k=0 k=1k=0k=3 Prozess Bereit Verklemmt Blockiert

12 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben P2 P1 P3 P k=0 k=1 k=0k=3 Prozess Bereit Verklemmt Blockiert

13 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben 7.Scheduler starten P2 P1 P3 P k=1 k=0k=3 Prozess Bereit Verklemmt Blockiert

14 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben 7.Scheduler starten 8.Deadlocks bei Kanälen 3,4 beheben P2 P1 P3 P k=1 k=0k=3 Prozess Bereit Verklemmt Blockiert

15 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben 7.Scheduler starten 8.Deadlocks bei Kanälen 3,4 beheben 9.Scheduler starten P2 P1 P3 P k=2 k=1 k=3 Prozess Bereit Verklemmt Blockiert

16 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben 7.Scheduler starten 8.Deadlocks bei Kanälen 3,4 beheben 9.Scheduler starten 10.Deadlocks bei Kanälen 3,4 beheben P2 P1 P3 P k=2 k=1 k=3 Prozess Bereit Verklemmt Blockiert

17 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 1.Kanalkapazitäten entsprechend Initialzustand setzen, 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben 7.Scheduler starten 8.Deadlocks bei Kanälen 3,4 beheben 9.Scheduler starten 10.Deadlocks bei Kanälen 3,4 beheben 11.Scheduler starten P2 P1 P3 P k=3 k=1 k=2k=3 Prozess Bereit Verklemmt Blockiert

18 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 2.Scheduler starten 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben 7.Scheduler starten 8.Deadlocks bei Kanälen 3,4 beheben 9.Scheduler starten 10.Deadlocks bei Kanälen 3,4 beheben 11.Scheduler starten 12.Deadlocks bei Kanälen 3,4 beheben P2 P1 P3 P k=3 k=1 k=2k=3 Prozess Bereit Verklemmt Blockiert

19 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beispiel 3.Prozesse finden 4.Deadlock bei Kanal 1 beheben 5.Scheduler starten 6.Deadlock bei Kanal 3 beheben 7.Scheduler starten 8.Deadlocks bei Kanälen 3,4 beheben 9.Scheduler starten 10.Deadlocks bei Kanälen 3,4 beheben 11.Scheduler starten 12.Deadlocks bei Kanälen 3,4 beheben 13.Scheduler starten P2 P1 P3 P k=4 k=1 k=3 Prozess Bereit Verklemmt Blockiert

20 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Bewertung des Verfahrens V erfahren findet bei beschränkten Programmen eine Ausführungsreihenfolge, die mit beschränktem Speicher auskommt A ndere Scheduler, die bereits Eigenschaft 1 erfüllen, sind kompatibel R eagiert im Konfliktfall wie gewünscht M öglicherweise große Anzahl an Stops Parallelität wird durch beschränkte Kanäle behindert

21 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Zusammenfassung Ein Kahn-Prozess-Netzwerk ist einfaches aber mächtiges und vielseitig verwendbares Modell Allerdings kann es programmtechnisch oder durch ungeschicktes Scheduling zu unbeschränktem Hauptspeicherbedarf kommen Im Spezialfall synchroner-Datenfluß-Netzwerke können offline bzw. statische Scheduling-Verfahren verwendet werden Für den allgemeinen Fall ist es mittels einer Netztransformation und eines geeigneten Schedulers möglich ein beschränktes Programm mit endlichem Speicher auszuführen.

22 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Fragen

23 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS

24 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS

25 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beschreibung Synchrone-Datenfluß-Netzwerke 1 Synchronous data flow (SDF) differs from traditional data flow in that the amount of data produced and consumed by a data flow node is specified a priori for each input and output. This is equivalent to specifying the relative sample rates in signal processing system. This means that the scheduling of SDF nodes need not be done at runtime, but can be done at compile time (statically), so the runtime overhead evaporates. (Quelle:

26 Universität Karlsruhe (TH) Eingebettete Systeme in Sensornetzwerken Axel Sanwald Chair for Embedded Systems SS Beschreibung Synchrone-Datenfluß-Netzwerke II A synchronous dataflow actor can consume a fixed positive number of tokens from each input channel and produces a fixed positive number of tokens at each output channel. Let the state of the graph be represented by the sequence consisting of the number of tokens present on each channel. Then the state transition graph of the network would have transitions between the states represented by the firings of the actors. We want a finite sequence of firings, called a finite complete cycle, which leaves the network in the same state. This sequence can be repeated forever and hence the graph can be executed in bounded memory. The are a number of advantages of this. 1.Scheduling can be done statically. 2.The buffer sizes for the channels can be computed in advance. 3.Deadlocks can be detected. (Quelle:


Herunterladen ppt "Universität Karlsruhe (TH) Chair for Embedded Systems SS 2006 Scheduling von Prozess-Netzwerken Axel Sanwald CES - Chair for Embedded Systems Department."

Ähnliche Präsentationen


Google-Anzeigen