Multicore in Echtzeitsystemen (1)

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

Echtzeitscheduling (1)

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

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

Real-Time Operating Systems Ein Überblick

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

3. Echtzeit-Scheduling Grundlagen

Zeit- und ereignisgesteuerte Echtzeitsysteme

Verteilte Echtzeit-Systeme

Überblick. Echtzeitsysteme. Planung des zeitlichen Ablaufs und Abfertigung. Einplanung und Einlastung

Echtzeitsysteme. Mehrkern-Echtzeitsysteme. Peter Ulbrich

Zeitgesteuerte Scheduling-Strategien in Echtzeitsystemen

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

2 Echtzeitbetriebssysteme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

Skalierbare Rechensysteme für Echtzeitanwendungen

Quantitative Methoden. Betriebssysteme

CPU-Scheduling - Grundkonzepte

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

5) Realzeitscheduling

Betriebssysteme (BTS)

3 Schnittstelle zum Betriebssystem 3.5 Multitasking. Schichten und Sichten eines Rechnersystems

Klausur. Betriebssysteme SS

Übung zur Vorlesung Echtzeitsysteme

Systeme 1. Kapitel 5. Scheduling

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

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

Klausur. Betriebssysteme SS 2007

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

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

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

Echtzeitsysteme. Struktureller Aufbau von Echtzeitanwendungen. Peter Ulbrich. 21. Oktober Lehrstuhl Informatik 4

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

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis

Real- Time Systems. Part 7: Scheduling. Fakultät für Informa0k der Technischen Universität München

RTOS Einführung. Version: Datum: Autor: Werner Dichler

Betriebssystembau (BSB)

Betriebssysteme (BS)

Rechnergestützter VLSI-Entwurf

Betriebssysteme. Teil 13: Scheduling

COMPUTERKLASSEN MULTICOMPUTER und SPEZIALANWENDUNGSSYSTEME

Scheduling. Fakultät für Informatik der Technischen Universität München. Echtzeitsysteme Lehrstuhl Informatik VI Robotics and Embedded Systems

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

R a i n e r N i e u w e n h u i z e n K a p e l l e n s t r G r e v e n T e l / F a x / e

Einführung in die Echtzeitbetriebssysteme

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling

4 Greedy-Algorithmen (gierige Algorithmen)

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

20 Eingebettete Software

3 Prozessorzuteilungsverfahren für Echtzeitsysteme

Threads and Scheduling

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

Synthese Eingebetteter Systeme. 14 Abbildung von Anwendungen auf Multicore-Systeme

OSEK / OSEKtime - ein Vergleich

Forschungsseminar Web VSR Betreuer Michael Krug

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

8. Vorlesung Betriebssysteme

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

Alles zu seiner Zeit Projektplanung heute

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Konsistenzproblematik bei der Cloud-Datenspeicherung

Leistungsbewertung rekonfigurierbarer Verbindungsnetze für Multiprozessorsysteme

A U S A R B E I T U N G

Der Largest Local Remaining Execution time First

6.1 Einführung. Kapitel 6 Scheduling. Klassisches Scheduling-Problem. Anwendungs-Beispiele von Scheduling. Scheduling (zu deutsch etwa

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

Seminar Fehlertoleranz und Echtzeit

, SS2012 Übungsgruppen: Do., Mi.,

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Minimal spannende Bäume

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B 8404

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

Bachelorarbeit Entwicklung eines Konzeptes zur angemessenen Beschriftung von Informationsobjekten

B.4. B.4 Betriebssysteme Prof. Dr. Rainer Manthey Informatik II 1

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Algorithmische Mathematik

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

Die OSGi Service Plattform

Technische Informatik II

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Informatik II Greedy-Algorithmen

LabVIEW Real Time Hands on

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass

Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme. Rekonfigurierbare Controller

OSEK COM und CAN. Hauptseminar SS 06 Markus Walter

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006

Transkript:

Multicore in Echtzeitsystemen (1) Liyuan Zhang Hauptseminar AKSS im SS 2009 Ausgewählte Kapitel der Systemsoftware: Multicore- und Manycore-Systeme

Überblick Einleitung Uniprozessor in Echtzeitsystemen Multiprozessor in Echtzeitsystemen Ein komplettes Fallbeispiel Fazit 1

Einleitung - Echtzeitsysteme Echtzeitbetrieb ist ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. DIN 44300 Geschwindigkeit liefert keine Garantie, um rechtzeitig Ergebnisse abzuliefern. Wichtige Maßnahme : Gültige und effektive Ablaufplanung. 2

Uniprozessor in Echtzeitsystemen Gebräuchliche Schedulingsverfahren Taktgesteuerte Verfahren Vorranggesteuerte Verfahren Reihum gewichtete Verfahren Zugriffskontrolle Unkontrollierte Prioritätenumkehr <-> Prioritätsvererbung Verklemmung <-> Prioritätsobergrenze 3

Uniprozessor in Echtzeitsystemen Dynamische Prioritäten EDF ( engl. earliest deadline first ) Je früher der Termin, desto höher die Priorität LRT ( engl. latest release-time first ) Je später die Auslösezeit, desto höher die Priorität LST ( engl. least slack-time first ) Je kürzer die Schlupfzeit, desto höher die Priorität Statische Prioritäten DM ( engl. deadline monotonic ) Je kürzer der relative Termin, desto höher die Priorität RM ( engl. rate monotonic ) Je kürzer die Periode, desto höher die Priorität 4

Multiprozessor in Echtzeitsystemen Aufgaben Partitionieren und Zuordnungen von Aufgaben Prozessoren Interprozessor Synchronisation Betriebsmittel Betriebsmittelvergabe zwischen Prozessoren Scheduling Ablaufplanung der Unteraufgaben auf jeden Prozessor Multiprocessor Priority-Ceiling Protocol, MPCP Ablaufplanung für End-to-End Aufgaben Modell 5

Ein komplettes Fallbeispiel Problemstellung: Erstellen eine gültige Ablaufplanung in einem abstrakten Multiprozessorsystem mit festgelegter Anzahl von Aufgaben. 6

System Systembeschreibung Quad Core Prozessor Betriebsmittel ( Speicher, Geräte, Puffer ), S1, S2, S3 Feste oder dynamische Prioritäten Geschachtelter Betriebsmittelzugriff Max. zwei zugeteilte Aufgaben per Prozessor 7

Aufgabe Aufgabenbeschreibung Fünf periodische Aufgaben/Tasks Ti mit unterschiedlichen Perioden und Ausführungszeiten. Ti := { Ji,j }, Aufgabe := { Arbeitsaufträge/Jobs } Ji [ Ausführungszeit, Periode(auch Deadline) ] J1 [6,10], J2 [7.5,12], J3 [8,15], J4[8.5,16], J5 [10,20] 8

Scheduling Anforderungen Gültige Ablaufplanung für alle Aufgaben, nämlich alle Deadlines einhalten Minimal nötige Prozessoren Begrenzte Blockierungszeit für alle Aufgaben 9

Entwicklungsphase 1. Prioritätenvergabe 2. Aufgabenzuordnung 3. Anwendung des MPCPs 4. Resultatanalyse 10

Prioritätenvergabe tenvergabe Statische Prioritäten RM ( engl. rate monotonic ), je kürzer die Periode, desto höher die Priorität Ausführungszeiten von Arbeitsträgen vor Laufzeit bekannt J1, J2, J3, J4, J5 nach Perioden P(J1) > P(J2) > P(J3) > P(J4) > P(J5) Priorität von J1 gleich 1, Priorität J2 von gleich 2,... J1( S1 ), J2( S1 ), J3( S1, S2 ), J4( S1, S2, S3 ), J5( S1, S3 ) J4 besitzt geschachtelten Betriebsmittelzugriff zu S2 und S3 11

Entwicklungsphase 1. Prioritätenvergabe 2. Aufgabenzuordnung 3. Anwendung des MPCPs 4. Resultatanalyse 12

Aufgabenzuordnung Anforderungen Gemeinsame Daten zwischen Aufgaben Kommunikation zwischen Prozessoren Kommunikation zwischen Prozessoren und Betriebsmittel Overhead Kosten für Kontextwechsel von Jobs Und viel mehr Faktoren NP-Hartes Problem Entwicklungsmethode Graphentheorie, Netzwerk-Partitionieren System als Netzwerk Aufgaben und Prozessoren als Knoten Interprozessor Kommunikation als Kanten, zwischen Prozessoren und Prozessoren Ausführungszeit als Kanten, zwischen Aufgaben und Prozessoren 13

Aufgabenzuordnung (Forts.) 14

Aufgabenzuordnung (Forts.) 15

Aufgabenzuordnung (Forts.) 16

Aufgabenzuordnung (Forts.) 17

Aufgabenzuordnung (Forts.) 18

Aufgabenzuordnung (Forts.) 19

Entwicklungsphase 1. Prioritätenvergabe 2. Aufgabenzuordnung 3. Anwendung des MPCPs 4. Resultatanalyse 20

MPCP Multiprocessor Priority-Ceiling Protocol Erweitung der Prioritätsobergrenzen Lokale und globale Prioritätsobergrenze Vergabe der Prioritätsobergrenzen Pi, L(Sk) := MAX{ P(Ji) } Pi, G(Sk) := MAX{ P(Ji) - PGrenze } 21

MPCP (Forts.) 22

MPCP (Forts.) 23

MPCP (Forts.) 24

MPCP (Forts.) A [] B [] C [] 25

MPCP (Forts.) A [] B [] C [] 26

MPCP (Forts.) A [J2] B [] C [] 27

MPCP (Forts.) A [] B [J1] C [] 28

MPCP (Forts.) A [] B [J2,J3] C [J5] 29

MPCP (Forts.) A [] B [J3] C [J4] 30

MPCP (Forts.) A [] B [J3] C [J5] 31

MPCP (Forts.) A [] B [] C [J5] 32

MPCP (Forts.) A [] B [] C[J3,J5] 33

MPCP (Forts.) A [] B [] C [J5] 34

MPCP (Forts.) A [] B [] C[J5,J4] 35

MPCP (Forts.) A [] B [] C [] 36

Entwicklungsphase 1. Prioritätenvergabe 2. Aufgabenzuordnung 3. Anwendung des MPCPs 4. Resultatanalyse 37

Resultatanalyse Totale Blockierungszeit Bi Lokale Blockierungszeit Lokale Verdrängungsverzögerung Ferne Blockierungszeit Ferne Verdrängungsverzögerung Aufschiebbare Blockierungszeit Gültigkeit und Optimalität First-Fit in der Praxis Nicht mehr gültig durch kleine Änderungen Auslösezeit von J1 ist nun T1 statt T2 J2 verlangt S1 zum Zeitpunkt T1 statt T5 38

Resultatanalyse A B C 39

Resultatanalyse Mögliche Maßnahme Ablaufplanung für End-to-End Aufgaben Modell statt MPCP Dynamische Prioritäten, z. B. LRT statt RM Probleme wieder auftauchen, z. B. unkontrollierbare Prioritätumkehr 40

Fazit Ablaufplanung in Multiprozessorsystemen Anforderungen Algorithmen Probleme Optimaler Schedulingsverfahren Allgemeine Beurteilung Unterschiedliche Eigenschaften von Systemen und Aufgaben Geeignete Ablaufplanung auswählen 41

Fragen? Vielen Dank für f r Ihre Aufmerksamkeit! 42