Zum Inhalt
SS22

Verteilte Programmierung und numerische Algorithmen Übung

Allgemeine Informationen

Veranstalter: Peter Buchholz

Tel.: (0231) 755 4746
Email: peter.buchholz (at) udo.edu
Sprechstunde: Donnerstag 10:00-11.30 und n.V.

Zeit:    

  • Mi  10:15 - 12:00, OH 16 - R. 205 (Vorlesung)
  • Mo 16:15 - 18.00, OH 16 - R. 205 (Übung)

Die Vorlesung führt in die Grundlagen der parallelen Programmierung ein. Dazu wird ein kurzer Überblick über parallele Rechnerarchitekturkonzepte gegeben. Anschließend beschäftigen wir uns mit theoretischen Konzepten zur Realisierung und Bewertung paralleler Programme. Den Schwerpunkt der Vorlesung bilden konkrete Programmierkonzepte und -bibliotheken zur Realisierung paralleler Software. Dazu werden der Standard MPI zur  so genannten Message-Passing-Programmierung, sowie Pthreads und OpenMP zur Thread-Programmierung vorgestellt. Auch wenn Anbindungen der genannten Programmierumgebungen an unterschiedliche Programmiersprachen existieren, sind die Sprachen C und C++ doch die am weitesten verbreiteten Sprachen zur Realisierung paralleler Programme. Die Vorlesung nutzt deshalb C und C++ als Basissprachen und stellt die konkreten Algorithmen in diesen Sprachen vor. Grundkenntnisse in C und/oder C++ werden deshalb vorausgesetzt oder müssen vor Beginn des praktischen Teils der Vorlesung erworben werden.

Anwendungsbeispiele werden insbesondere aus dem Bereich der numerischen Mathematik gewählt, da diese Anwendungen ein sehr großes Parallelisierungspotenzial besitzen. Es werden nur numerische Basisprobleme wie die Multiplikation von Matrizen oder die Lösung linearer Gleichungssysteme untersucht, so dass über die im Informatikstudium üblichen Mathematikkenntnisse hinaus keine weiteren spezifischen Vorkenntnisse erforderlich sind.

Die Vorlesung basiert im Wesentlichen auf dem folgenden Buch

  • T. Rauber, G. Rünger. Parallele Programmierung. Springer 3. Aufl. 2012

Das Buch ist als eBook in der TU-Bibliothek frei verfügbar.
Weitere relevante Bücher

  • P. Pacheco. An Introduction to Parallel Programming. Morgan Kaufman 2011.
  • D. P. Bertsekas, J. N. Tsitsiklis. Parallel and Distributed Computation - Numerical Methods. Prentice Hall 1989.

Web-Seiten zur den verwendeten Programmierbibliotheken

Gliederung der Vorlesung

 

1) Einführung  Folien
2) Parallele Rechnerarchitekturen  Folien
3) Parallele Programmiermodelle  Folien
4) Message-Passing-Programmierung mit MPI  Folien
5) Thread-Programmierung mit Pthreads  Folien
7) Beispiele paralleler Algorithmen Folien 

Folien werden vorlesungsbegeitend zur Verfügung gestellt!

Übungen

In den Übungen sollen die theoretischen und konzeptionellen Inhalte der Vorlesung vertieft werden. Insbesondere soll das praktische Abreiten in den drei behandleten Programmierumgebungen eingeübt werden. Dies setzt voraus, dass die Teilnehmerinnen und Teilnehmer, die Übungsaufgaben praktisch bearbeiten, also wirklich Programmieren! MPI, Pthreads und openMP sind als freie Software unter Linux verfügbar.
Die Bearbeitung der Übungsaufgaben ist nicht Voraussetzung für die Modulprüfung, wird aber trotzdem dringend empfohlen.
 

Datum Inhalt Ü-Blatt
28.10. Blatt 1 (Verbindungsnetzwerke, Einbettungen) Blatt 1 
 4.11. Blatt 2 (Verbindungsnetzwerke, Routing) Blatt 2  
11.11.  Blatt 3 (Caches)  Blatt 3 
18.11. Blatt 4 (Paralelitätskonzepte) Blatt 4 
25.11.   Blatt 5 (Parallele Vektor-Matrix-Algorithmen) Blatt 5 
2.12. Blatt 6 (Kommunikationsoperationen) Blatt 6 
16.12. Blatt 7 (MPI) Blatt 7 
13.1. Blatt 8 (MPI, Pthreads) Blatt 8
 27.1. Blatt 9 (Pthreads, OpenMP)  Blatt 9 

Am 20.1. keine allgemeine Übung, sondern individuelles Arbeiten an den Programmieraufgaben.
Übungsblätter werden als pdf-Dateien übungsbegleitend zur Verfügung gestellt.

Kalender

Zur Veranstaltungsübersicht

Anfahrt & Lageplan

Der Campus der Technischen Universität Dortmund liegt in der Nähe des Autobahnkreuzes Dortmund West, wo die Sauerlandlinie A45 den Ruhrschnellweg B1/A40 kreuzt. Die Abfahrt Dortmund-Eichlinghofen auf der A45 führt zum Campus Süd, die Abfahrt Dortmund-Dorstfeld auf der A40 zum Campus-Nord. An beiden Ausfahrten ist die Universität ausgeschildert.

Direkt auf dem Campus Nord befindet sich die S-Bahn-Station „Dortmund Universität“. Von dort fährt die S-Bahn-Linie S1 im 15- oder 30-Minuten-Takt zum Hauptbahnhof Dortmund und in der Gegenrichtung zum Hauptbahnhof Düsseldorf über Bochum, Essen und Duisburg. Außerdem ist die Universität mit den Buslinien 445, 447 und 462 zu erreichen. Eine Fahrplanauskunft findet sich auf der Homepage des Verkehrsverbundes Rhein-Ruhr, außerdem bieten die DSW21 einen interaktiven Liniennetzplan an.
 

Zu den Wahrzeichen der TU Dortmund gehört die H-Bahn. Linie 1 verkehrt im 10-Minuten-Takt zwischen Dortmund Eichlinghofen und dem Technologiezentrum über Campus Süd und Dortmund Universität S, Linie 2 pendelt im 5-Minuten-Takt zwischen Campus Nord und Campus Süd. Diese Strecke legt sie in zwei Minuten zurück.

Vom Flughafen Dortmund aus gelangt man mit dem AirportExpress innerhalb von gut 20 Minuten zum Dortmunder Hauptbahnhof und von dort mit der S-Bahn zur Universität. Ein größeres Angebot an internationalen Flugverbindungen bietet der etwa 60 Kilometer entfernte Flughafen Düsseldorf, der direkt mit der S-Bahn vom Bahnhof der Universität zu erreichen ist.