7.3 Scheduling Zur Erinnerung:

Slides:



Advertisements
Ähnliche Präsentationen
Beschreibung und Verwaltung von Prozesse
Advertisements

Knapsack & Bin Packing Sebastian Stober
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Leistung.
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
RM Optimalität RM ist bzgl. Zulässigkeit optimal unter den präemptiven Scheduling-Verfahren mit festen Prioritäten. D.h. gibt es einen zulässigen Plan,
10.2 Wechselseitiger Ausschluss in Hardware
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Synchronisation paralleler Transaktionen AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (5/13) Schedule: T* = {T 1,..., T.
Prozesse Einführung in WI 1 (DV-Infrastruktur) WS03/04.
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
Klassische Scheduling-Algorithmen für periodische Systeme
An Axiomatic Proof Technique for Parallel Programs
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Seite 1 BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008 Das zeitliche Verhalten periodisch auszuführender Aktionen.
Aufgaben zum Scheduling
Nebenläufigkeit Teil I
Systeme 1 Kapitel 5 Scheduling WS 2009/10.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Systeme 1 Kapitel 5.1 Unix Scheduling WS 2009/101.
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Kapitel 10 Nebenläufigkeit und wechselseitiger Ausschluss
Kapitel 7 Prozesse und Threads
Kapitel 3 5 Rechnerorganisation
Time-triggered E Sensor- eingaben P Programm A Ausgabe Aktorik.
Diskrete Methoden Schedulingalgorithmen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Erweiterte Datenmodelle Referentin: Lena Becker HS: Datenbanken vs. Markup Datum:
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 22: Grundlagen der Crash Recovery.
Software zur Simulation von Multitaskingalgorithmen Michael Böhm – BSZW Rodewisch.
Einführung Definitionen
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
4. Echtzeitaspekte der Software
Entwicklung verteilter eingebetteter Systeme - Einführung
Multitasking im Betriebssystem
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Echtzeit-Systeme. Systeme zur unmittelbaren Steuerung und Abwicklung von Prozessen, welche dafür an sie gestellte quantitative Echtzeitanforderungen erfüllen.
Betriebssysteme allgemein
4) Task-Verwaltung Inhalte Eigenschaften von Rechenprozessen (Tasks)
Prozesse.
A RBEITEN MIT T HREADS. P ROZESSE UND T HREADS Prozess Eine einzelne CPU kann immer nur einen einzelnen Prozess bearbeiten. Rechenzeit wird an Prozesse.
Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss
Wahrscheinlichkeitsrechnung
Wahrscheinlichkeitsrechnung
Thread Synchronisation in JAVA
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Objectives Verstehen was unterDelegate verstanden wird
Vorgeschichte:. Der Prozess X befindet sich in der CPU in Ausführung
Scheduling- Algorithmen. Bedeutung nicht-verdängende Strategie Prozesse werden nacheinander ausgeführt Kein Prozess wird bevorzugt Hängt ein Prozess,
Parallelisierung für Multiprozessor-Maschinen
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Mehrbenutzerzugriff auf GIS-Daten
Prozesse.
4.3 Aufbau von Echtzeitbetriebssystemen
2.3 Implementierung von Prozessen
Seite 1 DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012 Durchgängiges Beispiel fürs Scheduling Tasks:
Dynamische Prioritäten Statische Prozess-Prioritäten sind sinnvoll, falls Prozesse in wenige Klassen einteilbar (3.3.3) Dynamische Prioritäten.
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Realzeit-Scheduling-Problem
Echtzeit-Betriebssysteme
 Präsentation transkript:

7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung des Betriebssystems Prozesswechsel evtl. nur bei Blockieren wegen Warten auf Ereignis Zeitscheibenverfahren (Timesharing): Mehrprogrammbetrieb und Prozessor wird bei Blockade und bei Ablaufen der zugeteilten Zeitscheibe entzogen. Prozesse bekommen Betriebsmittel, insbesondere den Prozessor, zeitlich abwechselnd vom Scheduler (Strategie) und Dispatcher (Technik) zugeteilt. Strategie betrifft im Wesentlichen das Optimierungsziel: Maximierung von Durchsatz - Arbeit pro Zeit, Minimierung von Antwortzeit – Zeit zwischen Anfrage und Antwort bei interaktivem Nutzer, Minimierung von Umlaufzeit (turnaround) – Zeit zwischen Prozesseinplanung und –terminierung, RW-Systemarchitektur Kap. 7

Scheduling für Nicht-Echtzeit Situtation: Prozesse haben CPU-aktive Zeiten und Ein-/Ausgabe-aktive Zeiten. Scheduler soll Betriebsmittel geschickt ausnutzen. Round-Robin-Scheduling: Prozesse kommen hinten in FIFO-Warteschlange und werden vorne entnommen und bekommen den Prozessor zugeteilt. Einfach zu implementieren. Problematisch: Warum? Abhilfe: RW-Systemarchitektur Kap. 7

Prioritäts-gesteuertes Scheduling Strategien sind meist Prioritäts-gesteuert – Prozesse habe verschiedene Dringlichkeit, ausgedrückt in einem Zahlenwert, ihrer Priorität, Prioritäten werden häufig dynamisch vergeben. Typische Strategien sind: FIFO – Priorität ergibt sich aus der Ankunftszeit, s.o. Round-Robin LIFO – dito SETF (shortest execution time first) – günstig für interaktive Prozesse, LETF (longest execution time first) – günstig für rechenintensive Prozesse. Problem? Abhilfe: RW-Systemarchitektur Kap. 7

Einführung Echtzeit-Scheduling Echtzeitsysteme müssen pünktlich reagieren und der Nachweis der Pünktlichkeit muss statisch, d.h. vor der Ausführung erbracht werden. Echtzeitsystem besteht aus mehreren Prozessen. Die Prozesse können auf ein oder mehreren Prozessoren ausgeführt werden. Aufgabe: Verteilung der Prozesse auf Prozessoren und/oder Prozesse Prozessoren zeitlich nacheinander zuteilen. Diese Aufgabe heißt Planung (Scheduling). RW-Systemarchitektur Kap. 7

Echtzeit-Scheduling Die Planung muss Bedingungen erfüllen: Fristen (Deadlines): Prozesse müssen vorher terminieren, Reihenfolge (Precedence constraints): ein Prozess braucht Ergebnis eines anderen, Gemeinsam benutzte Betriebsmittel (Shared Resources): exklusiver Zugriff muss gesichert werden, verschiedene Optimierungsziele Schlupf (slack time) – Zeitdauer von Terminierung bis Frist. Schlupf kann genutzt werden, um Prozessor-Taktrate und damit Stromverbrauch herunter zu fahren. Blockade-Zeiten … RW-Systemarchitektur Kap. 7

Beispiel für Reihenfolge-Anforderungen Zwei Kameras überwachen Objekte auf einem Transportband Angeschlossener Rechner erkennt Typ der Objekte und teilt sie auf zwei Ausgabeströme auf. RW-Systemarchitektur Kap. 7

Beispiel T1: Bilderfassung Kamera1 T2: Bilderfassung Kamera2 T3: Kantenerkennung für Bild1 T4: Kantenerkennung für Bild2 T5: Gestaltrekonstruktion T6: Weichensteuerung T1 T2 T3 T4 T5 T6 RW-Systemarchitektur Kap. 7

Klassifikation von Verfahren Kriterien Online: Planung (Scheduling) zur Laufzeit oder Offline: Plan vorberechnet und abgespeichert. Statisch: Planungsentscheidungen basieren auf unveränderlichen Parametern, Dynamisch: Planungsentscheidungen basieren auf während der Laufzeit veränderlichen Parametern. Präemptiv: Ausführung eines Prozesses kann unterbrochen werden. Nichtpräemptiv: Prozess läuft immer bis zur Terminierung. Periodisch: Prozess wird einmal pro festem Interval, seiner Periode, ausgeführt Aperiodisch: Prozess-Aktivierung beliebig Sporadisch: Aktivierung beliebig, aber mit festem Minimalabstand. RW-Systemarchitektur Kap. 7

Terminologie und Notation Prozesse (tasks) Ankunftszeit: (auch Auslösezeit (release time) genannt) Frist (Deadline): relativ , absolut ) obere Zeitschranke für die Ausführungszeit: Startzeit: Terminierungszeit: Periode: Verspätung (lateness): (<0 wenn pünktlich) Prozessorausnutzung: Priorität: RW-Systemarchitektur Kap. 7

Parameter P1 Prozess 1 L2 D2 s2 f1 r2 C2 C1 2 Zeit L1 s1 f1 D1 r1 RW-Systemarchitektur Kap. 7

Scheduling Gegeben eine Menge von Prozessen T1,…,Tn mit Parametern (Ci,…) Ein Scheduling-Verfahren bestimmt, welcher Prozess zu jedem Zeitpunkt ausgeführt wird.. Es muss die Randbedingungen beachten, z.B. Einhaltung der Fristen, Reihenfolgen, Betriebsmittel-Einschränkungen,… Es versucht, ein Optimierungsziel zu erreichen. RW-Systemarchitektur Kap. 7

Planbarkeit und Zulässigkeit Prozessmenge Eine Prozessmenge ist mit einem Scheduling-Verfahren auf einer gebenen Architektur planbar (schedulable), wenn dieses Verfahren einen Plan erzeugt, der unter Einhaltung aller Randbedingungen ausführbar ist. Eine Planbarkeitsanalyse (Schedulability Analysis) für ein gegebenes Scheduling-Verfahren prüft, ob eine gegebene Prozessmenge planbar ist. Ein Plan ist für eine Prozessmenge und eine Architektur zulässig (feasible), wenn seine Ausführung alle Bedingungen erfüllt. Eine Prozessmenge ist für eine Architektur zulässig, wenn es einen zulässigen Plan für die Prozessmenge und die Architektur gibt. Eine Zulässigkeitsanalyse (Feasibility analysis) prüft, ob es einen zulässigen Plan für eine gegebene Prozessmenge gibt. Planbarkeits- Analyse für spez. Scheduling- Verfahren Prozessmenge Zulässigkeits- Analyse RW-Systemarchitektur Kap. 7

Earliest Deadline First (EDF) Führe immer den Prozess aus mit der zeitlich nächsten Frist. Unterbricht laufenden Prozess, wenn ein Prozess mit näherer Frist eintrifft. Implementierung: Verwalte eine Warteschlange bereiter Prozesses, sortiert in der Reihenfolge ansteigender Fristen. Kosten: Konstant für das Finden des nächsten Prozesses O(n) für das Einfügen eines neuen Prozesses RW-Systemarchitektur Kap. 7

EDF Beispiel Task 1 2 4 6 Task 2 5 8 Task 3 3 7 9 RW-Systemarchitektur Kap. 7

EDF Beispiel Task 1 2 4 6 Task 2 5 8 Task 3 3 7 9 4 2 6 8 10 12 14 16 18 20 24 22 3 1 RW-Systemarchitektur Kap. 7

EDF: Eigenschaften Dynamisches Verfahren (Prioritätbestimmung) Online-Verfahren : Planung während der Laufzeit Präemptiv: Prozesses werden evtl. unterbrochen, Lann man jede Menge von Prozessen damit planen? Nein  Ist aber unter gewissen Voraussetzungen die optimale Strategie (mehr später). RW-Systemarchitektur Kap. 7

Rate monotonic (RM) Statisch vergebene Priorität jedes Prozesses = 1/Periode Je länger die Periode, desto kleiner die Priorität Intuition: häufiger gestartete Prozesse haben höhere Dringlichkeit. Scheduler führt immer Prozess mit der höchsten Priorität aus. RW-Systemarchitektur Kap. 7

Beispiel Task 1 1 4 Task 2 2 5 Task 3 20 RW-Systemarchitektur Kap. 7

RM Beispiel Task 1 1 4 Task 2 2 5 Task 3 20 4 2 6 8 10 12 14 16 18 20 24 22 1 3 RW-Systemarchitektur Kap. 7

RM Eigenschaften Statisches Verfahren (Prioritäten einmal vorher bestimmt) Online-Verfahren: Entscheidung über Prozesswechsel während der Ausführung, Präemptives Verfahren: Scheduler unterbricht Prozesse Implementierung: Warteschlange für bereite Prozesses sortiert nach Prioritäten, Kosten: O(1) für die Auswahl des Prozesses, O(n) für die Einfügung in die Warteschlange. Alle Prozess-Mengen planbar? Nein Optimalität (kommt später) RW-Systemarchitektur Kap. 7

Optimalität EDF: Beweis der Optimalität: Optimal bzgl. Zulässigkeit - Wenn es einen zulässigen Plan gibt, dann erzeugt EDF einen zulässigen Plan. Stärkere Aussage: Optimal bzgl. Reduktion der größten Verspätung. Lässt die größte Zeit zwischen der Terminierung des verspätetsten Prozesses und seine Frist => Zeit für andere Prozesse. Beweis der Optimalität: Jeder Plan kann in einen EDF-Plan transformiert werden. Von diesem EDF–Plan kann man zeigen, dass er eine kleinere größte Verspätung hat als der Originalplan. Aber: Diese Mächtigkeit hängt an der Fähigkeit zur Unterbrechung! Unterbrechung ist nicht kostenlos! RW-Systemarchitektur Kap. 7

RM Optimalität RM ist auch optimal bzgl. Zulässigkeit Gibt es einen zulässigen Plan, dann erzeugt RM einen zulässigen Plan. Proof also by transforming a feasible schedule into an RM schedule Why use RM instead of EDF? RM braucht nur statische Zuordnung von Prioritäten Scheduler muss nicht Prioritäten aufgrund von Zeitdauern ausrechnen. RW-Systemarchitektur Kap. 7