6.1 Problemdefinition
323
Von den in diesem Buch beschriebenen Techniken abweichende Methoden müssen in Fällen eingesetzt werden, in denen zusätzlich auch die Ausführungsplattform
entworfen werden soll. Aufgrund unseres Schwerpunktes betrachten wir die Abbildung von Anwendungen auf Ausführungsplattformen als das maßgebliche
Entwurfsproblem.
Auch für den plattformbasierten Entwurf kann es eine Anzahl von Entwurfsoptionen geben. So könnten wir zwischen verschiedenen Varianten einer Plattform auswählen, bei denen jede Variante über eine unterschiedliche Anzahl an Prozessoren,
unterschiedliche Geschwindigkeiten oder eine andere Kommunikationsarchitektur
verfügt. Zudem könnte es verschiedene anwendbare Scheduling-Verfahren geben.
Daher müssen die jeweils passenden Optionen ausgewählt werden.
Damit kommen wir zur folgenden Definition des Abbildungsproblems [535]:
Gegeben sind:
• eine Menge von Anwendungen,
• Anwendungsfälle, welche die Verwendung der Anwendungen beschreiben und
• eine Menge an möglichen Architekturen:
– (möglicherweise heterogene) Prozessoren,
– (möglicherweise heterogene) Kommunikationsarchitekturen und
– verschiedene mögliche Scheduling-Verfahren.
Finde nun:
• Eine Abbildung von Anwendungen auf Prozessoren,
• dazu passende Scheduling-Verfahren (wenn nicht festgelegt) und
• eine Zielarchitektur (wenn nicht vorab festgelegt).
Zielsetzungen sind dabei:
• Einhalten von Deadlines und/oder Maximierung der Performanz sowie
• Minimierung der Kosten, des Energieverbrauchs und möglicherweise weitere
Ziele.
Die Erforschung der möglichen Architekturoptionen wird als Erkundung des Entwurfsraumes (engl. Design Space Exploration (DSE)) bezeichnet. Dabei kann eine
vollständig festgelegte Plattformarchitektur als Spezialfall betrachtet werden.
Ein Beispiel ist der Entwurf eines AUTOSAR-basierten automotiven Systems:
In AUTOSAR [27] kommen eine Anzahl heterogener Ausführungseinheiten oder
Steuergeräte (engl. Embedded Control Units (ECUs)) und eine Anzahl von Softwarekomponenten zum Einsatz. Die Frage, die sich nun stellt, lautet: Wie können
die einzelnen Softwarekomponenten auf die Steuergeräte abgebildet werden, sodass
alle Echtzeitbedingungen eingehalten werden? Dabei möchten wir eine minimale
Anzahl an Steuergeräten verwenden.
Bei eingebetteten Systemen können wir annehmen, dass die Anwendungen eine
Anzahl von Tasks enthalten, die wiederholt ausführungsbereit werden. Mit diesen
Tasks können wir den auszuführenden Softwarecode assoziieren. Beispielsweise
kann es notwendig sein, einen bestimmten Code genau einmal für jeden Eingabewert
323
Von den in diesem Buch beschriebenen Techniken abweichende Methoden müssen in Fällen eingesetzt werden, in denen zusätzlich auch die Ausführungsplattform
entworfen werden soll. Aufgrund unseres Schwerpunktes betrachten wir die Abbildung von Anwendungen auf Ausführungsplattformen als das maßgebliche
Entwurfsproblem.
Auch für den plattformbasierten Entwurf kann es eine Anzahl von Entwurfsoptionen geben. So könnten wir zwischen verschiedenen Varianten einer Plattform auswählen, bei denen jede Variante über eine unterschiedliche Anzahl an Prozessoren,
unterschiedliche Geschwindigkeiten oder eine andere Kommunikationsarchitektur
verfügt. Zudem könnte es verschiedene anwendbare Scheduling-Verfahren geben.
Daher müssen die jeweils passenden Optionen ausgewählt werden.
Damit kommen wir zur folgenden Definition des Abbildungsproblems [535]:
Gegeben sind:
• eine Menge von Anwendungen,
• Anwendungsfälle, welche die Verwendung der Anwendungen beschreiben und
• eine Menge an möglichen Architekturen:
– (möglicherweise heterogene) Prozessoren,
– (möglicherweise heterogene) Kommunikationsarchitekturen und
– verschiedene mögliche Scheduling-Verfahren.
Finde nun:
• Eine Abbildung von Anwendungen auf Prozessoren,
• dazu passende Scheduling-Verfahren (wenn nicht festgelegt) und
• eine Zielarchitektur (wenn nicht vorab festgelegt).
Zielsetzungen sind dabei:
• Einhalten von Deadlines und/oder Maximierung der Performanz sowie
• Minimierung der Kosten, des Energieverbrauchs und möglicherweise weitere
Ziele.
Die Erforschung der möglichen Architekturoptionen wird als Erkundung des Entwurfsraumes (engl. Design Space Exploration (DSE)) bezeichnet. Dabei kann eine
vollständig festgelegte Plattformarchitektur als Spezialfall betrachtet werden.
Ein Beispiel ist der Entwurf eines AUTOSAR-basierten automotiven Systems:
In AUTOSAR [27] kommen eine Anzahl heterogener Ausführungseinheiten oder
Steuergeräte (engl. Embedded Control Units (ECUs)) und eine Anzahl von Softwarekomponenten zum Einsatz. Die Frage, die sich nun stellt, lautet: Wie können
die einzelnen Softwarekomponenten auf die Steuergeräte abgebildet werden, sodass
alle Echtzeitbedingungen eingehalten werden? Dabei möchten wir eine minimale
Anzahl an Steuergeräten verwenden.
Bei eingebetteten Systemen können wir annehmen, dass die Anwendungen eine
Anzahl von Tasks enthalten, die wiederholt ausführungsbereit werden. Mit diesen
Tasks können wir den auszuführenden Softwarecode assoziieren. Beispielsweise
kann es notwendig sein, einen bestimmten Code genau einmal für jeden Eingabewert
