28.03.2017 Scheduling von Prozess-Netzwerken Axel Sanwald CES - Chair for Embedded Systems Department of Computer Science University of.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Perceptrons and the perceptron learning rule
Finite state machines & message passing: SDL
TelegraphCQ Manuel Hertlein.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Zugehörigkeitsfunktion (Wahrheitsfunktion) m
C Tutorium – Semaphoren –
How many of these flags do you recognise? Work with your partner to see if you know many – write them down - some will crop up shortly!
Ich habe nie gelernt, Aufgaben zu lösen
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Doris Kocher, PH Freiburg
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Java: Objektorientierte Programmierung
Using TopReX 4.23 – study in HEPG/generator level- by Adonis Papaikonomou for the KA-Top-Meeting 10/23/07 MC production ttop6x (anoTop central sample)
Using TopReX 4.23 – study in HEPG/generator level- by Adonis Papaikonomou for the KA-Top-Meeting 09/25/07 Simulating Problems found in Gen6 simulation.
Using TopReX 4.23 – study in HEPG/generator level- by Adonis Papaikonomou for the KA-Top-Meeting 10/09/07 Simulating Problems found in Gen6 simulation.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
Union-Find-Strukturen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Geometrisches Divide and Conquer
Grundkurs praktische Philosophie 13. Dezember 2004 Politische Philosophie: wozu Staaten gut sind Text: A. John Simmons, Philosophical Anarchism, in: J.
Seminar: Architekturbeschreibungssprachen
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
Can you think of some KEY phrases which would be useful in multiple contexts? Take 2 minutes with a partner and come up with as many as you can!
Entwicklung verteilter eingebetteter Systeme - Einführung
A definite relative pronoun must agree in gender and number with the noun or pronoun to which it refers which is often called the antecedent. The case.
Tag um Tag, Jahr um Jahr, Tag um Tag, Jahr um Jahr, Day by day, year by year, Wenn ich durch diese Straßen geh', When I go through these streets, Seh ich.
Montag den 16.Dezember Lernziel: To begin stage 2 of preparation for speaking assessment.
Präsentation der Software FlexPDE5
What is todays date and when is your birthday Ask someone what star sign they are and answer Say and ask for the time Say what you do for your birthday.
You need to use your mouse to see this presentation © Heidi Behrens.
Wie sicher ist mein Geld ... ?
Analyse von Ablaufdiagrammen
CALPER Publications From Handouts to Pedagogical Materials.
ICPC – was ist das eigentlich?
Engineering tools for the NEO engineer
The most obvious or direct use of auch is to mean also. Ich möchte auch Gitarre lernen. Auch ich möchte Gitarre lernen. I would like to learn Guitar. Someone.
Niklas: Was möchte ___________ (your) Schwester denn zum Geburtstag?
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Seite 1 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Quellen: Zum Teil aus den Unterlagen Digitale Systeme, Prof. Schimmler,
Passiv What are these sentences expressing?
Peer-to-Peer-Netzwerke
Data Mining Spectral Clustering Junli Zhu SS 2005.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Modalverben.
Der formelle Imperativ – the Imperative
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
->Prinzip ->Systeme ->Peer – to – Peer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Lust auf Lesen Treffpunkt Deutsch Sixth Edition. Relative Pronoun object of a preposition Recall from chapter 9 that relative clauses describe people,
Die Fragen Wörter Wer? Was? Wann?.
Synchronization: Multiversion Concurrency Control
Stephanie Müller, Rechtswissenschaftliches Institut, Universität Zürich, Rämistrasse 74/17, 8001 Zürich, Criminal liability.
You need to use your mouse to see this presentation.
GERMAN 1013 Kapitel 5 Review. terminology Word types: –nouns, pronouns, verbs, adjectives, prepositions … Functions: –subject, predicate, object … Form.
COMMANDS imperative 1. you (formal): Sie 2. you (familiar plural): ihr
Kapitel 4 Grammar INDEX 1.Ordinal Numbers 2.Relative Pronouns and Relative Clauses 3.Conditional Sentences 4.Posessive: Genitive Case.
Imperfekt (Simple Past) Irregular or strong verbs
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
GERM 1023 Kapitel 9 3 modals / infinitive completion with and without “zu”
The dynamic ultrasound
I use this as a starter, often at the start of a revision lesson at the end of a topic . Students work in pairs. Give each pair a copy of the blank grid.
Students have revised SEIN and HABEN for homework
Einheit 1 Familienprobleme.
Befehle, Anweisungen, Vorschläge, und Wünsche
 Präsentation transkript:

28.03.2017 Scheduling von Prozess-Netzwerken Axel Sanwald CES - Chair for Embedded Systems Department of Computer Science University of Karlsruhe Description must be written here for your seminar.

Übersicht Was sind Prozess-Netzwerke? Wo kann man sie verwenden? 28.03.2017 Ü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 Was sind PNs - Definition Einsatzbeispiele Grenzen bzw. mögliche Probleme oder Gefahren Scheduler können hier evtl. helfen  Eigenschaften Statisches & dynamisches Scheduling Zusammenfassung

Was sind Kahn-Prozess-Netzwerke? 28.03.2017 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: Es handelt sich um ein Modell aus Prozessen, Kanälen Kanal – einziger Kommunikationsweg Prozess – Teilprogramm Semantik – was ist blockierend, was nicht Terminierung – wann terminiert ein programm Darstellung als Graph, Skizze erklären Kanal Nachricht= Token Prozess

Einsatzmöglichkeiten 28.03.2017 Einsatzmöglichkeiten Einige Beispiele: IPC oder RPC in µKernel- Betriebssystemen µKernel Console Network Memory Datenströme in eingebetteten Systemen Elementar- sensor Auf- bereitung Vor- verarbeitung Auswertung physikalische Größen ...01011101... ...5,7,13... ...2*5;8*1;... ...Hund;Auto;... Beispiele IPC im Kernel Modellierung von Netzwerken Konstruktion von Embedded Systems am Beispiel eines intelligenten Sensors Netzwerkverkehr in z.B. LAN, WAN oder peer-to-peer Netzen

Die Kehrseite des Kahn-Netzwerk-Modells 28.03.2017 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! Kein select-syscall möglich Kein Determinismus!  unvorhersagbares Zeitverhalten einer App Unendlicher Speicherbedarf möglich  siehe Skizze P2 P3 P1 P4

Gewünschte Eigenschaften eines Schedulers 28.03.2017 Gewünschte Eigenschaften eines Schedulers 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. 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. Im Konfliktfall ist 1. zu bevorzugen. Unterschied komplett und partiell Erklären Wie erkennen: Prozesse sind durch ein Write blockiert Ausführungsreihenfolge so das Beschränktheit Konfliktfall  bei unbounded Nets

Statisches Scheduling 28.03.2017 Statisches Scheduling Nur auf Synchrone-Datenfluß-Netzwerke, Spezialfall von Kahn- Prozess-Netzwerken, anwendbar: Topologiematrix Gamma aufstellen Lösung für Balancegleichung finden Anfangswertproblem lösen Ziel: Finden einer Ausführungsreihenfolge Wunscheigenschaften P1 P2 K1 1 1 1 K2 1 1 1 2 P3 1 P2 Erklären, was Synchrone-Datenfluß-Netzwerke sind Topologie Matrix Zeigen und Erklären Sagen, daß Balancegleichung positiv und nicht trivial sein darf! Ziel: das Finden einer Ausführungsreihenfolge 1 P1 1 3 P4 3 Mögliche Ausführungsreihenfolge: 1, 2, 1, 2, 1, 2, 3, 3, 3, 4

Dynamisches Scheduling I 28.03.2017 Dynamisches Scheduling I Ziel: Unzulänglichkeiten von statischem Scheduling umgehen Ein einfaches Daten gesteuertes Scheduling Verfahren: Suche alle Prozesse im Zustand bereit Starte alle gefundenen Prozesse Warte bis alle gestarteten Prozesse blockiert sind Springe zu 1. Wunscheigenschaften 1 2 Anwendung auf allgemeine Prozess Netzwerke Scheduling ist Datengesteuert Es erfüllt die komplette Ausführung – Wunsch 1

Dynamisches Scheduling II 28.03.2017 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: Initialisiere alle Kanäle mit einer Startkapazität Führe Programm mit vorherigem Scheduler aus Bei Stop: prüfe ob es durch ein Write blockierte Prozesse gibt Ja: erhöhe Kanalkapazitäten aller blockierten Kanäle und springe zu 2. Nein: Terminiere Wunscheigenschaften 1 2 Lösung des unbounded Problems durch Netztransformation bzw. Semantikänderung Künstliche Deadlocks erklären 2x Möglichkeiten: entweder Semantikänderung (Beschränkte Kanäle und blockierendes Write) ODER Feedback Kanäle Erkläre Skizze: warum deadlock? k=1 1 2 P1 P2 k=1

Bereit Verklemmt Blockiert 28.03.2017 Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten k=0 1 1 P2 P3 1 1 1 1 k=0 k=1 k=0 k=3 Beispielskizze erklären Farben erklären 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert 28.03.2017 Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben k=0 1 1 P2 P3 1 1 1 1 k=0 k=1 k=0 k=3 Initialer Zustand 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert 28.03.2017 Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben Deadlock bei Kanal 3 beheben k=0 1 1 P2 P3 1 1 1 1 k=1 k=1 k=0 k=3 Kapazität Kanal 1 wurde erhöht Netz läuft eine Weile Kapazitätsproblem am Kanal 3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben Deadlock bei Kanal 3 beheben k=1 1 1 P2 P3 1 1 1 1 k=1 k=1 k=0 k=3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben Deadlock bei Kanal 3 beheben Deadlocks bei Kanälen 3,4 beheben k=1 1 1 P2 P3 1 1 1 1 k=1 k=1 k=0 k=3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben Deadlock bei Kanal 3 beheben Deadlocks bei Kanälen 3,4 beheben k=2 1 1 P2 P3 1 1 1 1 k=1 k=1 k=1 k=3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben Deadlock bei Kanal 3 beheben Deadlocks bei Kanälen 3,4 beheben k=2 1 1 P2 P3 1 1 1 1 k=1 k=1 k=1 k=3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert Beispiel Kanalkapazitäten entsprechend Initialzustand setzen, Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben Deadlock bei Kanal 3 beheben Deadlocks bei Kanälen 3,4 beheben k=3 1 1 P2 P3 1 1 1 1 k=1 k=1 k=2 k=3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert Beispiel Scheduler starten Prozesse finden Deadlock bei Kanal 1 beheben Deadlock bei Kanal 3 beheben Deadlocks bei Kanälen 3,4 beheben k=3 1 1 P2 P3 1 1 1 1 k=1 k=1 k=2 k=3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bereit Verklemmt Blockiert Beispiel Prozesse finden Deadlock bei Kanal 1 beheben Scheduler starten Deadlock bei Kanal 3 beheben Deadlocks bei Kanälen 3,4 beheben k=4 1 1 P2 P3 1 1 1 1 k=1 k=1 k=3 k=3 1 P1 1 3 P4 3 Prozess Bereit Verklemmt Blockiert

Bewertung des Verfahrens 28.03.2017 Bewertung des Verfahrens Verfahren findet bei beschränkten Programmen eine Ausführungsreihenfolge, die mit beschränktem Speicher auskommt Andere Scheduler, die bereits Eigenschaft 1 erfüllen, sind kompatibel Reagiert im Konfliktfall wie gewünscht Möglicherweise große Anzahl an Stops Parallelität wird durch beschränkte Kanäle behindert Anmerken: alle Scheduler, die Eigenschaft 1 erfüllen sind kompatibel Solange das Programm bounded ist, wird Pfad gefunden ABER: viele Stops  schlechte Parallelität

28.03.2017 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. Mächtiges Modell Unbeschränkter Hauptspeicherbedarf möglich Statische Scheduling verfahren sind nur eingeschränkt anwendbar Ansonsten Netztransformation oder Semantikänderung nötig.

28.03.2017 Fragen ? Für Aufmerksamkeit bedankten (Weitere) Fragen?

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: http://ptolemy.eecs.berkeley.edu/publications/papers/87/staticscheduling/)

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. Scheduling can be done statically. The buffer sizes for the channels can be computed in advance. Deadlocks can be detected. (Quelle: http://ptolemy.eecs.berkeley.edu/~eal/ee290n/lec19.scribe/node3.html)