Kapitel 6
Abbildung von Anwendungen
Ein sehr wichtiger Schritt im Entwurfsprozess ist die Abbildung von Anwendungen
auf verfügbare Hardware-Plattformen. Dazu müssen wir entscheiden, auf welchem
Prozessor Anwendungen (oder Teile davon) ausgeführt werden und wie sie zeitlich
eingeplant werden. Dabei sollten so viele Entscheidungen wie möglich zur Entwurfszeit getroffen werden, um Garantien für das Zeitverhalten geben zu können. Dies
ist mit geeigneten Scheduling-Verfahren möglich. In diesem Kapitel geben wir eine
Übersicht über statische Verfahren und wir klassifizieren diese anhand der TripletNotation von Pinedo und anderen. Wir starten dazu mit einer Vorstellung von klassischen Verfahren für Einzelprozessoren sowohl für aperiodische wie auch für periodische Tasksysteme, wobei wir u.a. die bekannten Verfahren Earliest Deadline First
(EDF) und Rate Monotonic Scheduling (RMS) vorstellen. Nach einem Hinweis auf
die Benutzung von bin-packing-Algorithmen für homogene Mehrprozessor-Systeme
gehen wir auf die Betrachtung von heterogenen Mehrprozessor-Systemen über. Wir
stellen jeweils Algorithmen für unabhängige und abhängige Jobs vor. Dabei zeigt
sich, dass für abhängige Jobs v.a. heuristische Verfahren in Frage kommen. Das
Kapitel schließt mit Hinweisen auf dynamische Verfahren.
6.1 Problemdefinition
6.1.1 Präzisierung des Entwurfsproblems
Die skizzierte Abbildung auf Hardware-Plattformen ist auch Teil des vereinfachten
Entwurfsflusses in Abb. 6.1.
Die in Frage kommenden Scheduling-Verfahren sollten es möglich machen, ein
System mit einer bestimmten Kombination von Anwendungen zu betreiben. So erwarten wir beispielsweise von einem Mobiltelefon, dass wir telefonieren können,
während der Bluetooth-Stack gleichzeitig die Audiosignale an einen Kopfhörer überträgt und wir Informationen im Adressbuch nachschlagen. Parallel dazu könnte auch
321
P. Marwedel, Eingebettete Systeme, https://doi.org/10.1007/978-3-658-33437-6_ 6
© Der/die Autor(en) 2021
Abbildung von Anwendungen
Ein sehr wichtiger Schritt im Entwurfsprozess ist die Abbildung von Anwendungen
auf verfügbare Hardware-Plattformen. Dazu müssen wir entscheiden, auf welchem
Prozessor Anwendungen (oder Teile davon) ausgeführt werden und wie sie zeitlich
eingeplant werden. Dabei sollten so viele Entscheidungen wie möglich zur Entwurfszeit getroffen werden, um Garantien für das Zeitverhalten geben zu können. Dies
ist mit geeigneten Scheduling-Verfahren möglich. In diesem Kapitel geben wir eine
Übersicht über statische Verfahren und wir klassifizieren diese anhand der TripletNotation von Pinedo und anderen. Wir starten dazu mit einer Vorstellung von klassischen Verfahren für Einzelprozessoren sowohl für aperiodische wie auch für periodische Tasksysteme, wobei wir u.a. die bekannten Verfahren Earliest Deadline First
(EDF) und Rate Monotonic Scheduling (RMS) vorstellen. Nach einem Hinweis auf
die Benutzung von bin-packing-Algorithmen für homogene Mehrprozessor-Systeme
gehen wir auf die Betrachtung von heterogenen Mehrprozessor-Systemen über. Wir
stellen jeweils Algorithmen für unabhängige und abhängige Jobs vor. Dabei zeigt
sich, dass für abhängige Jobs v.a. heuristische Verfahren in Frage kommen. Das
Kapitel schließt mit Hinweisen auf dynamische Verfahren.
6.1 Problemdefinition
6.1.1 Präzisierung des Entwurfsproblems
Die skizzierte Abbildung auf Hardware-Plattformen ist auch Teil des vereinfachten
Entwurfsflusses in Abb. 6.1.
Die in Frage kommenden Scheduling-Verfahren sollten es möglich machen, ein
System mit einer bestimmten Kombination von Anwendungen zu betreiben. So erwarten wir beispielsweise von einem Mobiltelefon, dass wir telefonieren können,
während der Bluetooth-Stack gleichzeitig die Audiosignale an einen Kopfhörer überträgt und wir Informationen im Adressbuch nachschlagen. Parallel dazu könnte auch
321
P. Marwedel, Eingebettete Systeme, https://doi.org/10.1007/978-3-658-33437-6_ 6
© Der/die Autor(en) 2021
