5.1) Realzeitscheduling (Mehrprozessorsysteme)

Ähnliche Dokumente
Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P

Approximationsschemata

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

5) Realzeitscheduling

Klausur. Betriebssysteme SS 2007

Ausgewählte Kapitel eingebetteter Systeme

Literatur. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 2

5) Realzeitscheduling

Round-Robin Scheduling (RR)

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Echtzeitscheduling (1)

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

1 topologisches Sortieren

Algorithmen II Vorlesung am

Systeme 1. Kapitel 5. Scheduling

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

Betriebssysteme (BTS)

Betriebssysteme. Teil 13: Scheduling

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

Prozessor (CPU, Central Processing Unit)

5. Foliensatz Betriebssysteme und Rechnernetze

Quantitative Methoden. Betriebssysteme

CPU-Scheduling - Grundkonzepte

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Dokumentation Schedulingverfahren

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Inhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen

Multicore in Echtzeitsystemen (1)

Informatik II Greedy-Algorithmen

Approximationsalgorithmen

Grundlagen von Datenbanken. B-Bäume, B*-Bäume Normalisierung

OSEK / OSEKtime - ein Vergleich

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

Approximation in Batch and Multiprocessor Scheduling

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Betriebssysteme und Systemsoftware

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

3. Echtzeit-Scheduling Grundlagen

Threads and Scheduling

3.14 Die Programmieroberfläche Programmierung

Klausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

IHS2 Seminar. Jorge Meza Zusebau R2082, Tel: -4128

Quantitative Methoden

Real-Time Operating Systems Ein Überblick

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Anleitung für das MS Project Professional 2003 (Deutsche Version)

3. Scheduler und Schedulingstrategien

Aufgabe (5 Punkte) Aufgabe (10 Punkte) Betriebssysteme: Auswahl alter Klausuraufgaben Seite 1

Scheduling-Strategien (online, nicht-präemptiv) für Einprozessorsysteme

3 Prozessorzuteilungsverfahren für Echtzeitsysteme

Vorlesung Datenstrukturen

Echtzeitsysteme: Grundlagen. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Klausur. Betriebssysteme SS

Motivation Binäre Suchbäume

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Prüfungsklausur Teil SS 2013

Rückblick: Relationale Entwurfstheorie

Algorithmen und Datenstrukturen

Verteilte Echtzeit-Systeme

Vorlesung Diskrete Strukturen Ordnungsrelationen

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Algorithmen und Datenstrukturen 2-1. Seminar -

Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation

Einführung in Scheduling

BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist.

Approximationsalgorithmen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

B.5 Prozessverwaltung B.5. Prozessverwaltung Prof. Dr. Rainer Manthey Informatik II 1

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Hausübung 2(Musterlösung)

Stochastische Prozesse

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

Von der Theorie zur Praxis: Echtzeitplanung in der Informatikausbildung

Geometrische Algorithmen Segmentschnitt

Technische Universität München SS 2006 Zentrum Mathematik Blatt 7 Prof. Dr. J. Hartl Dr. Hannes Petermeier Dr. Cornelia Eder Dipl.-Ing.

Domänenmodell: Fadenkommunikation und -synchronisation

Musterlösung der Klausur

Mathematik für Informatiker I Mitschrift zur Vorlesung vom

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Informatik II Greedy-Algorithmen

Dämon-Prozesse ( deamon )

Vorlesung Mathematik I für Wirtschaftswissenschaftler. Universität Leipzig, WS 16/17

TECHNISCHE UNIVERSITÄT MÜNCHEN

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Transkript:

Inhalte Scheduling Strategie Diskussion von Anomalien: Dauer steigt, wenn mehr Prozessoren eingesetzt werden die Ausführungszeit pro Prozess sinkt weniger Freizeit pro Prozessor vorhanden ist weniger Vorgänger-Nachfolgerrelationen gegeben sind Seite 1

Motivation Bisher: Scheduling mehrerer Jobs auf einem Prozessor Jetzt: Spezielle Schedulingprobleme bei Mehrprozessorsystemen Vereinfachende Annahmen: m identische Prozessoren im Voraus bekannte Ausführungszeiten Berücksichtigung von Prozess-Abhängigkeiten: Prozesse P1,..., Pn haben evtl. Vorgänger-Nachfolger-Relationen Scheduling Strategie (naheliegend): Jeden Prozessor besetzen, sobald er frei wird und ein Prozess bedienbar ist. Longest-Processing-Time-First (LPT), d.h. zunächst Langläufer abarbeiten. Bewertungskriterium: Ein Schedule, d.h. eine spezielle Aufteilung von P1,..., Pn auf m Prozessoren, sei besser als ein anderer, wenn die Dauer (Ausführungszeit) bis zur Terminierung des letzten Prozesses geringer ist. Statt Ausführungszeit wird auch häufig die Wartezeit oder die Verweilzeit als Kriterium gewählt. Leider gibt es viele Gegenbeispiele und überraschende Anomalien, die im folgenden diskutiert werden. Seite 2

Prozess-Abhängigkeiten Beschrieben durch Präzedenzgraphen: Ein Prozess Pi muss beendet sein, bevor Pj beginnen darf genau dann, wenn im Präzedenzgraph eine Kante von Pi nach Pj existiert. Beispiel: Schedule für 2 Prozessoren: Seite 3

Warte- und Verweilzeiten Wartezeit = Startzeit Ankunftszeit Verweilzeit = Wartezeit + Ausführungszeit Beispiel für die mittlere Wartezeit und mittlere Verweilzeit unter der Annahme, dass die 6 Prozesse alle zum Zeitpunkt t = 0ms ihre Ankunftszeit haben, d.h. Startzeit = Wartezeit Seite 4

Scheduling Strategie Bedienung nach aufsteigender Listennummer, d.h. Liste [1,2,...,9], und zwar jeweils den frühesten bedienbaren Prozess. Zyklische Zuteilung der Prozessoren 1, 2, 3,..., m, 1, 2,... Ergebnis bei m = 3 Prozessoren: Ausführungszeit Te = 12 Task Ausführungszeit Nachfolger von P1 3 ms keiner P2 2 ms keiner P3 2 ms keiner P4 2 ms keiner P5 4 ms P4 P6 4 ms P4 P7 4 ms P4 P8 4 ms P4 P9 9 ms P1 Prozessor 1 P1 P9 Prozessor 2 P2 P4 P5 P7 Prozessor 3 P3 P6 P8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t [ms] Te Seite 5

Anomalie 1: Ausführungszeit Te steigt, obwohl zu Beginn besser gefüllt wird. Annahme: Bedienung so schnell wie möglich ist bestmögliche Strategie. Gegenbeispiel:: Gegeben sei eine neue Liste [1,2,4,5,6,3,9,7,8]. Ergebnis: Ausführungszeit Te 1 = 14 > Te Prozessor 1 P1 P3 P9 Prozessor 2 P2 P5 P7 Prozessor 3 P4 P6 P8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t [ms] Te 1 Seite 6

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Anomalie 2: Ausführungszeit Te steigt, obwohl mehr Prozessoren eingesetzt werden. Annahme: je mehr Prozessoren, desto kürzer die Ausführungszeit Gegenbeispiel:: Statt 3 sind jetzt 4 Prozessoren im Einsatz Ergebnis: Ausführungszeit Te 2 = 15 > Te Prozessor 1 P1 P8 Prozessor 2 P2 P5 P9 Prozessor 3 P3 P6 Prozessor 4 P4 P7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 t [ms] Te 2 Seite 7

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Anomalie 3: Ausführungszeit Te steigt, obwohl die Ausführungszeit pro Prozess gesunken ist. Annahme: Kürzere Ausführungszeiten pro Prozess bedingen auch kürzere Gesamtausführungszeit. Gegenbeispiel:: Im Folgenden seien die Ausführungszeiten aller Prozesse jeweils um 1 ms kürzer und die Liste wie anfangs [1,2,3, 9]. Ergebnis: Ausführungszeit Te 3 = 13 > Te Prozessor 1 P1 P5 P8 Prozessor 2 P2 P4 P6 P9 Prozessor 3 P3 P7 1 2 3 4 5 6 7 8 9 10 11 12 13 t [ms] Te 3 Seite 8

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Anomalie 4: Ausführungszeit Te steigt, obwohl weniger Vorgänger-Nachfolgerrelationen gegeben sind. Annahme: Weniger Abhängigkeiten bedingen einfachere Platzierung, die wiederum zu einer kürzeren Ausführungszeit führen sollte. Gegenbeispiel:: Gegeben seien nur noch 2 Abhängigkeiten Ergebnis: Ausführungszeit Te 4 = 16 > Te Task Ausführungszeit Nachfolger von... P5 4 ms P4 P6 4 ms P4... Prozessor 1 P1 P6 P9 Prozessor 2 P2 P4 P7 Prozessor 3 P3 P5 P8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 t [ms] In dieses Beispiel haben sich Fehler eingeschlichen, bitte korrigieren. Te 4 Seite 9

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Abschlussbetrachtung Vorgestellte Anomalien sind nicht die Regel, sondern Ausnahmen Man kann sie z.b. dadurch verhindern, dass man einen Prozessor leer lässt oder künstliche Leerphasen zulässt. Seite 10