126
2 Spezifikation und Modellierung
mögliche Schicht zwischen dem Betriebssystem und Standard-(nicht-Echtzeit-) MPI
angesehen.
MPI ist für eine Vielzahl von Prozessoren verfügbar und wird auch für MehrkernChips in Betracht gezogen. Jedoch basiert es auf der Annahme, dass Speicherzugriffe
schneller als Kommunikationsoperationen sind. Zudem zielt MPI hauptsächlich auf
homogene Mehrprozessorsysteme ab. Beide Annahmen sind für mehrere Prozessoren auf einem Chip nicht notwendigerweise gültig.
MPI wurde kürzlich erweitert, um auch Kommunikation auf der Basis eines
gemeinsamen Speichers abzudecken.
OpenMP
Bei OpenMP ist die Parallelität größtenteils explizit, wogegen die Aufteilung von
Berechnungen, Kommunikation, Synchronisation usw. implizit stattfindet. Parallelität wird durch Pragmas ausgedrückt: beispielsweise können Schleifen mit Pragmas
versehen werden, die angeben, dass sie parallelisiert werden sollten.
Beispiel 2.40: Das folgende Programm beinhaltet eine kleine parallele Schleife
[439]:
void a1(int n, ffoat *a, ffoat *b) {
int i;
#pragma omp paraaaee for
for (i=1; i /* i ist standardmäßig privat */
b[i] = (a[i] + a[i-1]) / 2.0;
}
Ein einfaches Pragma reicht hier aus, um eine mögliche parallele Ausführung anzuzeigen.
∇
Dies bedeutet, dass OpenMP vom Benutzer nur einen kleinen Aufwand für die
Parallelisierung verlangt. Dies bedeutet aber auch, dass der Benutzer die Partitionierung nicht kontrollieren kann [553]. Es existieren Anwendungen für MultiprozessorSysteme auf SoCs, sogenannte MPSoCs (siehe z.B. [367]).
Weitere Techniken für die Programmierung von Mehrkern-Prozessoren werden
im Abschnitt über Systemsoftware vorgestellt werden (siehe Seite 253).
2.8.4 Weitere Sprachen
Die Sprache Java ist ursprünglich nicht für eingebettete Systeme entwickelt worden. Es gab Bemühungen, die daraus resultierenden Probleme zu lösen [12, 271].
Allerdings bleiben Android und Java für Chipkarten die einzigen wichtigen Anwendungen. Der Workshop JTRES über „Java Technologies for Real-time and Embedded
Précédent

- 149/485

Suivant