Parallele Programmierung (SS13)
Vorlesungsinhalt
Die parallele Programmierung hat vielfältige Einsatzmöglichkeiten auf einer breiten Palette von
Rechnerarchitekturen; diese umfassen große Parallelrechner, aber auch kostengünstige
Multiprozessor-Desktoprechner, Cluster von PCs, Plattformen mit Hyperthreading-Technologie oder
Multicore-Prozessoren. Parallele Programmiertechniken werden sich daher in viele Bereiche der
Softwareerstellung ausbreiten.
Die Vorlesung stellt verschiedene Ansätze der parallelen Programmierung anhand der Programmierumgebungen Pthreads, Java-Threads, OpenMP, MPI, PVM und UPC vor. Es werden die zugrunde liegenden Programmiermodelle, parallele Entwurfsmuster, Konzepte der Programmierumgebungen sowie die praktische Umsetzung paralleler Programme vermittelt.
Die Vorlesung stellt verschiedene Ansätze der parallelen Programmierung anhand der Programmierumgebungen Pthreads, Java-Threads, OpenMP, MPI, PVM und UPC vor. Es werden die zugrunde liegenden Programmiermodelle, parallele Entwurfsmuster, Konzepte der Programmierumgebungen sowie die praktische Umsetzung paralleler Programme vermittelt.
Literaturempfehlungen
- T. Rauber, G. Rünger: Parallele Programmierung, 2. Auflage, Springer-Verlag, 2007.
- T. Rauber, G. Rünger: Parallel Programming for Multicore and Cluster Systems, Springer-Verlag, 2010
- MPI: A Message-Passing Interface Standard, Message Passing Interface Forum (www.mpi-forum.org)
- Ausführliche Literaturangabe: pdf
Übungsaufgaben
- Übung am 24.4.2013 pdf
- Übung am 8.5.2013 pdf
- Übung am 15.5.2013 pdf
- Übung am 22.5.2013 pdf
-
Lösung Aufgabe 2: pdf
- Übung am 29.5.2013 pdf
- Übung am 12.6.2013 pdf
- Programm Aufgabe 3: calc_pi.c
- Programm Aufgabe 4: mandelbrot2.c
- Lösung Aufgabe 2: gather_ring.c
- Lösung Aufgabe 3: calc_pi_mpi.c
- Lösung Aufgabe 4: mandelbrot2_mpi.c
- Übung am 26.6.2013 bzw. 3.7.2013 pdf
- Lösung Kartesischer Kommunikator cart_grid.c
- Lösung globale Synchronisation test_onesided2_s.c
- Lösung Teilsynchronisation test_onesided_s.c
- Lösung Locksynchronisation test_onesided3_s.c
- Übung am 3.7.2013 pdf
- Programm Aufgabe 3: dining_phils.c
- Lösung Aufgabe 2: calc_pi_pthread.c
- Lösung Aufgabe 3: dining_phils_l.c
- Lösung Aufgabe 4: fifo_queue.c
Informationen zur Abschlussklausur
- Die Konsultation findet am Freitag, den 12.7.2013 von 11.30-13.00 im Raum 1/367 statt.
- Die Prüfung zur Vorlesung Parallele Programmierung findet am Montag, den 15.7.2013 von 15.30-17.00 im Raum 1/316 statt. Es sind keine Hilfmittel zugelassen.