Systeme 1 Kapitel 5 Scheduling WS 2009/10.

Slides:



Advertisements
Ähnliche Präsentationen
Simulation von Preisverhandlungen: CA
Advertisements

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,
7.3 Scheduling Zur Erinnerung:
Wissensanalyse von Aufgaben mit TKS Eine Methode zur Problemlösung
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
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.
Seite 1 BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008 Das zeitliche Verhalten periodisch auszuführender Aktionen.
Aufgaben zum Scheduling
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10.
Kapitel 6.1 Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Kapitel 7.2 Dining philosophers problem
Systeme 1 Kapitel 5.1 Unix Scheduling WS 2009/101.
Heuristiken für komplexe
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Diskrete Methoden Schedulingalgorithmen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Genetische Algorithmen
Software zur Simulation von Multitaskingalgorithmen Michael Böhm – BSZW Rodewisch.
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
Einführung Definitionen
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Klausuraufgaben.
Was sind Histogramme? (1)
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Recovery AIFB SS (1/8) Sicherungspunkte (Checkpoints) (1/8) (1) Transaktions-Orientierte Sicherungspunkte Transaction-Oriented Checkpoint.
I.4. Supply Chain Management
Konzeption und Realisierung von DSS
Entwicklung verteilter eingebetteter Systeme - Einführung
QueueTraffic und Warteschlangen
Christian Scheideler Institut für Informatik Universität Paderborn
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Verbesserung der Reaktivität des Linux-Kernels Steffen Mazanek.
Betriebssysteme allgemein
Beispiel 9.10 Theorie der Zinsstruktur
Prozesse.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 10 SS 2000 Quadtrees.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Studiengang Informatik FHDW
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
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
Prozesse.
Abteilungen  ELEKTRONIK und TECHNISCHE INFORMATIK Fachschule/ Höhere/ Kolleg  ELEKTROTECHNIK Fachschule/ Höhere  MASCHINENBAU Fachschule/
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.
Stochastische Modelle in der Biologie (C. Bandt 2004) Die Folien sind nur Übersicht, Einzelheiten in der Vorlesung 1. Irrfahrten mit Endzuständen Definition:
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.
Geoinformationssysteme
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Algorithmen und Datenstrukturen
Echtzeit-Betriebssysteme
 Präsentation transkript:

Systeme 1 Kapitel 5 Scheduling WS 2009/10

Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Zeitablaufsteuerung Beispiel: Zwei Prozesse zur gleichen Zeit rechenbereit auf einem Ein-Prozessor System. Betriebssystem muss entscheiden, welcher Prozess als Nächstes läuft. Scheduler Entscheidung auf Grund eines Schedulingalgorithmus Ziel: optimale! Verteilung WS 2009/10

Optimierungsziele Mehrere verschiedene Optimierungsziele denkbar Verschiedene Scheduling-Algorithmen Optimierungsziele Alle Systeme Fairness (“jeder Prozess erhält die CPU”) Effizienz Stapelverarbeitungssysteme Maximiere mittleren Durchsatz (Anzahl Jobs pro Zeiteinheit) Minimiere mittlere Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) Maximiere CPU-Auslastung Bemerkung: Maximierung des mittleren Durchsatzes und Minimierung der mittleren Durchlaufzeit sind nicht dasselbe! Interaktive Systeme Minimiere Antwortzeit Echtzeit-Systeme Einhalten von Deadlines WS 2009/10

Beispiel: Feste Prioritäten Prozess mit der höchsten Priorität erhält CPU Problem: Livelock für Prozesse mit geringer Priorität Fairness nicht garantiert! WS 2009/10

Schedulingalgorithmen: Charakteristika Prozessauswahl: Bestimmt nächsten Prozess für CPU-Zuteilung Basierend auf Ressourcenbenutzung, Prioritäten, … Insbesondere: w (Wartezeit auf CPU) e (bisher verbrauchte CPU-Zeit) s (insgesamt benötigte CPU-Zeit) Zeitpunkt der Auswahlentscheidung: Nicht-präemptives Scheduling: CPU kann einem Prozess nur entzogen werden, wenn er beendet ist, oder auf Ein-/Ausgaben wartet. Präemptives Scheduling : Aktueller Prozess kann unterbrochen werden durch sog. Interrupts. WS 2009/10

First Come First Served (FCFS) Nicht-präemptiv Strategie: Wenn ein Prozess beendet ist oder blockiert, kommt der Prozess an die Reihe, der schon am längsten wartet. Analyse : FCFS begünstigt lange Prozesse, kurze Prozesse können durch lange Prozesse stark verzögert werden. FCFS begünstigt Prozesse ohne Ein-/Ausgabe (die den Prozessor vor Beendigung nicht abgeben). FCTS alleine nicht sehr interessant. WS 2009/10

Shortest Job First (SJF) Nicht-präemptiv Strategie: Benutzt Abschätzungen der Gesamtlaufzeit von Prozessen. Prozess mit kürzester geschätzter Laufzeit erhält CPU als erstes. Minimiert durchschnittliche Durchlaufzeit = durchschnittliche Wartezeit WS 2009/10

Shortest Job First (SJF) - Beispiel Prozesse A, B, C, D Laufzeit von A = 8 Min. und Laufzeit von B, C, D = 4 Min. Alle Prozesse gleichzeitig rechenbereit Variante 1: Reihenfolge A, B, C, D Wartezeit bis Prozess beendet: A = 8 Min., B = 12 Min., C = 16 Min., D = 20 Min. Durchschnittliche Wartezeit 14 Min. Variante 2: SJF Reihenfolge B, C, D, A Wartezeit: B = 4 Min., C = 8 Min., D = 12 Min., A = 20 Min. Durchschnittliche Wartezeit 11 Min. WS 2009/10

Shortest Job First (SJF) Allgemein: Prozess 1: Laufzeit t1, Wartezeit t1 Prozess 2: Laufzeit t2, Wartezeit t1+ t2 ... Prozess N: Laufzeit tn, Wartezeit t1+ t2 +…+ tn => durchschnittliche Durchlaufzeit: D.h. kürzeste durchschnittliche Durchlaufzeit, wenn t1 bis tn aufsteigend nach Laufzeit sortiert. WS 2009/10

Shortest Job First (SJF) Analyse SJF begünstigt kurze Prozesse. Antwortzeit für lange Prozesse variiert stark in Abhängigkeit von der Zahl der kürzeren Jobs. Livelock für lange Prozesse möglich. Problem : Wie erhält man Abschätzungen der Gesamtlaufzeit von Prozessen? SJF nicht geeignet für Allzweck-OS. Eher für Stapelverarbeitungssysteme (Mainframes). WS 2009/10

Shortest Remaining Time (SRT) Präemptiv Strategie: Benutzt Abschätzungen der Restlaufzeiten von Prozessen. Prozess mit kürzester geschätzter Restlaufzeit erhält CPU. Keine Unterbrechungen laufender Prozesse durch Timer. Auswertung der Restlaufzeiten nur, wenn ein neuer Prozess gestartet wird. Analyse: Ähnliche Probleme wie SJF. WS 2009/10

Highest Response Ration Next (HRRN) Nicht-präemptiv Strategie: Basiert auf rt = geschätzte Laufzeit eines Prozesses wt = Wartezeit eines Prozesses (bisher angesammelte Wartezeit) “Response ratio” rr = (rt + wt) / rt Ein Prozess startet mit rr = 1.0. Der Prozess mit der höchsten response ratio rr erhält die CPU als erster. Analyse: Für kurze Prozesse wächst rr schnell an. HRRN begünstigt kurze Prozesse (wie SJF und SRT). Aber: Keine Livelocks für längere Prozesse. Ähnliches Problem wie SJF, SRT: Laufzeitabschätzungen benötigt. WS 2009/10

Round Robin (RR) Präemptiv Strategie: Analyse: Scheduler wird nach Ablauf fester Zeitintervalle immer wieder (periodisch) aktiviert (“Zeitscheiben”, „Quanten“). Quantum bei realen Systemen ~ 20-100 ms Laufender Prozess wird dann in eine Warteschlange wartender Prozesse eingefügt. Der am längsten wartende Prozess wird aktiviert. Analyse: Länge der Zeitscheiben ist essentiell Zu kurz: Overhead durch viele Prozesswechsel Zu lang: Ähnlich FCFS RR begünstigt Prozesse ohne Ein-/Ausgabe etwas. Prozesse mit Ein-/Ausgabe geben CPU ab, bevor ihre Zeitscheibe abgelaufen ist, erhalten dafür aber keine “Gutschrift”. WS 2009/10

Feedback Präemptiv Problem: Idee: Strategie: Laufzeitberechnung nur ganz selten möglich. Idee: Nutze bereits verbrauchte CPU Zeit als Kriterium. Strategie: Muss ein Prozess die CPU abgeben wird er in eine Warteschlange niederer Priorität eingefügt. Da die Zeitintervalle eine feste Größe haben, modellieren Warteschlangen verschiedener Prioritäten verbrauchte CPU-Zeit. WS 2009/10

Feedback Alle Warteschlangen FCFS, letzte Warteschlange RR. WS 2009/10

Feedback Analyse Prozesse, die in der Vergangenheit viel CPU Zeit verbraucht haben, werden bestraft. Lange Jobs werden bestraft (können „verhungern“). Abhilfe: Wechseln von niedrigster Priorität zurück in die höchste. Neuberechnung der Priorität in gewissen Zeitabstände unter Einbeziehen von Wartezeit etc.... Feedback-Scheduling wird in modifizierter Form auf verschiedenen UNIX Systemen eingesetzt. WS 2009/10

Garantiertes Scheduling Strategie Gebe Benutzern / Prozessen Garantien, die einzuhalten sind. n Prozesse gleicher Priorität: jedem wird 1/n der CPU versprochen Dynamische Priorität = (garantierte Zeit) / (tatsächlich verbrauchte Zeit) , Wobei garantierte Zeit = (Zeit seit Prozesserzeugung) / n Bediene Prozesse in Reihenfolge fallender Priorität. Hier: Gleichbehandlung, keine Unterscheidung zwischen CPU-lastigen und interaktiven Prozessen. WS 2009/10

Lotterie Scheduling (Waldspurger, Weihl, 1994) CPU-Zeit wird in regelmäßigen Abständen verlost. Wichtige Prozesse haben mehr Lose als andere. Weitergabe von Losen zwischen kooperierenden Prozessen ist möglich. Ähnlich vorhersagbarer CPU-Anteil wie bei „Garantiertem Scheduling“. Einfachere Implementierung WS 2009/10

Zusammenfassung Es gibt viele verschiedene Scheduling-Strategien. Qualität verschiedener Ansätze hängt ab von Anwendung / Anforderung. Exakter Vergleich schwierig, da meistens Kostenfunktion / genaue Ziele des Scheduling nicht formal spezifiziert sind. Meist Analyse durch Simulationen. Analytische Methoden: Warteschlangentheorie WS 2009/10