PD Stefan Bosse - VPP - Modul E: Parallele Programmierung

Verteilte und Parallele Programmierung

Mit Virtuellen Maschinen

PD Stefan Bosse

Universität Bremen - FB Mathematik und Informatik

1 / 48

PD Stefan Bosse - VPP - Modul E: Parallele Programmierung

Parallele Programmierung

Grundlagen der parallelen Programmierung

Unterscheidung zwischen Parallelisierung im Daten- und Kontrollfluß von Programmen

Prozessmodelle und Prozesskonstruktoren

2 / 48

PD Stefan Bosse - VPP - Modul E: Parallele Programmierung

Parallelisierungsklassen

Datenfluss
Der Datenfluss beschreibt den Fluss von Daten durch Verarbeitungs- und Speichereinheiten (Register).

Die Verarbeitungseinheiten sind Knoten eines gerichteten Graphens, die Kanten beschreiben den Datenfluss und bilden die Datenpfade. Die Verarbeitungseinheiten müssen aktiviert werden.

Kontrollfluss
Der Kontrollfluss beschreibt die temporale schrittweise Verarbeitung von Daten im Datenpfad durch zustandsbasierte selektive Aktivierung von Verarbeitungseinheiten.

Der Kontrollfluss kann durch Zustandsübergangsdiagramme beschrieben werden.

3 / 48

PD Stefan Bosse - VPP - Modul E: Parallele Programmierung

Programmfluss
Der Programmfluss setzt sich kombiniert aus Daten- und Kontrollfluss zusammen.
4 / 48

PD Stefan Bosse - VPP - Modul E: Parallele Programmierung

Parallelisierungsklassen

  • Programmanweisungen werden Zuständen S1,S2,.. zugeordnet.

  • Einfache Anweisungen (Berechnungen) werden jeweils einem Zustand, komplexe Anweisungen i.A. mehreren Unterzuständen zugeordnet.