Praktikum DV-Anwendungen in der Technik

Parallelverarbeitung


Aufgabenstellung

Wählen Sie eine der folgenden Beispiel-Aufgaben:
  1. Ampelsimulation
    Entwickeln Sie ein System aus Ampel-Tasks, die an einer Position laut Aufrufparameter eine Ampel darstellen und durch Interprozesskommunikation umgeschaltet werden können. Eine Steuertask reagiert auf Benutzereingaben und sendet dementsprechend Nachrichten an die Ampeltasks.
  2. Conway: Game of Life
    Pro Zelle existiert eine Task, die pro Generationsschritt den Zustand der Nachbarzellen untersucht und den Zustand ihrer nächsten Generation bestimmt. Eine zentrale Task reagiert auf Benutzereingaben und gibt den Takt vor.
  3. Matrixmultiplikation
    siehe separate Beschreibung
Falls Sie Inter-Prozess-Kommunikation einrichten, sorgen Sie dafür, dass diese nach Versuchsende wieder entfernt werden! (Wie kann man IPC-Ressourcen auflisten/entfernen?)

Kolloquium


1. Erklären Sie die Abläufe der Programme bei dem benutzten System. Was geschieht, wenn in einem Prozess Fehler auftreten?
2. Erklären Sie Vor- und Nachteile von parallelen Algorithmen und Einsatzgebiete für Parallelität (Hardware/Software).
3. Vergleichen Sie die Algorithmen theoretisch (Abschätzen der Operationen) und praktisch (Zeitmessungen).
4. Welche Möglichkeiten zur Inter-Prozess-Kommunikation gibt es? Welche halten Sie für diesen Versuch für geeignet?
5. Erklären Sie das Prozess- und Threadsystem des verwendeten Systems (Prioriäten, Synchronisation, Pipes, FIFOs, Queues, etc).

Literatur


Und nun alle zusammen..., Parallele Programme in C++ entwickeln, c't 2000, Heft 22, ab Seite 318
http://www.mpi-forum.org
Wagenknecht Christian, Algorithmen und Komplexität, Fachbuchverlag Leipzig, 2003
Oechsle Rainer, Parallele und verteilte Anwendungen in Java, Fachbuchverlag Leipzig, 2007