Programmierung von parallelen und verteilten Systemen

Zunächst unterscheiden wir zwischen
parallelen Rechnen
hier stehen Algorithmen zur Debatte, die schnell ausgeführt werden sollen. Hier sind vorallem Multiprozessoeren und die Rechnerarchitekturen UMA (uniform Memory Access),NUMA (Non Uniform Memory Access) zur Debatte.
Hier stehen auch parallelisierende Compiler zu Debatte, vor allem für feingranulare Parallelsierung.
Verteiltem Rechnen
Hier hat das Anwendungssystem einschließ Hardware meist schon eine verteilte Natur NORMA (No Remote Memory Access) wie z.B. ganze Produktionsanlagen.
Das Objektorientierte Design ist meist die Wahl mit geeigneten Middlewaremechanismen.
Gemeinsam ist beiden:

Verschiedene Aspekte

Literatur

Theo Ungerer, Sascha Uhrig :" Systemnahe Programmierung: Parallele Programmierung" Uni Augsburg 2007
guter Überblick über die parallele Programmierung

Aktualität

The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software