Navigation

Parallele Systeme

Dozenten:

Prof. Dr.-Ing. J. Teich, PD Dr.-Ing. F. Hannig

Modulbeschreibung:

Parallele Systeme (VU) und
Parallele Systeme mit erweiterter Übung (VEU)

Umfang/Stunden:

V2 + Ü2 (zusammen 5 ECTS), mit erweiterter Übung (7,5 ECTS)

Ort und Zeit der Vorlesung:

Donnerstag, 12:15 – 13:45, Raum 01.255-128

Anmeldung über StudOn

Ort und Zeit der Übungen:

Montag, 16:15 – 17:45 Uhr, Raum 02.133-113 (Michael Witterauf)

Donnerstag, 14:15 – 15:45 Uhr, Raum 01.255-128 (Stefan Groth, Frank Hannig)

Ort und Zeit der erweiterten Übungen:

Wird noch bekannt gegeben

Unterlagen (Folien, Übungen, sonstige Dateien):

Alle Unterlagen zur Vorlesung, Übung und erweiterten Übung finden sich in StudOn.


Zielsetzung:

Schwerpunkt der Vorlesung ist die Vermittlung von Grundlagen der parallelen Datenverarbeitung.

Inhalt:

Selbst unser PC erlaubt bereits ein hohes Maß an nebenläufiger Verarbeitung von Daten. Die effiziente Ausnutzung von Parallelität bedarf allerdings mehr als nur mehrerer Prozessoren; insbesondere muss das zu lösende Problem Parallelverarbeitung erlauben. Beschrieben werden Eigenschaften unterschiedlicher paralleler Rechnerarchitekturen und Metriken zu deren Beurteilung. Weiterhin werden Modelle und Sprachen zum Programmieren paralleler Rechner eingeführt. Neben der Programmierung von allgemeinen Parallelrechnern werden Entwurfsmethoden (CAD) vorgestellt, wie man ausgehend von einer algorithmischen Problemstellung ein massiv paralleles Rechenfeld in VLSI herleiten kann, das genau dieses Problem optimal parallel berechnet. Solche Schaltungen spielen auf der Bit- bzw. Wortebene (Arithmetik) sowie bei Problemen der Signal- und Bildverarbeitung (z.B. Filter) eine dominante Rolle.Im Einzelnen werden behandelt:

  1. Theorie der Parallelität (parallele Computermodelle, parallele Spezifikationsformen und -sprachen, Performanzmodelle und -berechnung)
  2. Klassifikation paralleler und skalierbarer Rechnerarchitekturen (Multiprozessoren und Multicomputer, Vektorrechner, Datenflussmaschinen, VLSI-Rechenfelder)
  3. Programmierbare System-on-Chip (SoC) Architekturen
  4. Programmierung paralleler Rechner (Sprachen und Modelle, Entwurfsmethoden und Compiler, Optimierung)
  5. Massive Parallelität: Vom Algorithmus zur Schaltung

Theoretische und praktische Übungen mit rechnergestützten Werkzeugen vertiefen das Wissen.

Vertiefende Literatur:

  • Kai Hwang, „Advanced Computer Architecture: Parallelism, Scalability, Programmability“
  • Michael Wolfe, „High Performance Compilers for Parallel Computing“
  • Alain Darte, Yves P. Robert, Frederic Vivien, „Scheduling and Automatic Parallelization“
  • Utpal Banerjee, „Loop Parallelization (VLSI, Computer Architecture and Digital Signal Processing)“
  • S. Y Kung, „VLSI Array Processors“