Matthias Pester






Grundlagen der Parallelrechnerprogrammierung

  • Vorlesung: Di., 15:30 - 17:00, Raum 2/B202 - (nicht am 13.07.10)
    Übungen im PC-Pool Rh.Str. 39/41 / 738:
    Mo, 07.06.10, 9:15 - 10:45
    Mo, 14.06.10, 9:15 - 10:45
    Mo, 12.07.10, 9:15 - 10:45
  • Inhalt: Parallele Rechnerarchitekturen und deren Nutzung,
    verschiedene Arten und Probleme der Parallelität,
    Beispiele anhand einfacher numerischer Algorithmen,
    Prozessortopologien und Kommunikationskonzepte (PVM, MPI),
    (Teile der Vorlesung wurden von G. Haase in einen Teubner-Band aufgenommen)
  • Abschluss: Beleg (Programmieraufgabe), Schein
  • Benutzungsordnung für PC-Pool und Nutzungshinweise für Linux.
  • Zitate und Links:
  • John v. Neumann:
    "If people do not believe that mathematics is simple, that is because they do not realize how complicated life is."
  • Vorwort zu "Parallele Rechnersysteme ...":
    "Und siehe da, die Parallelrechner gehorchen aufs Wort. Zugegeben, manchmal erst aufs zweite oder dritte."
  • Gordon Moore über "Moore's Law": "Mir ging es um etwas ganz anderes". (Stern-Interview, 2005)
  • Die schnellsten Supercomputer: Top-500
  • Supercomputer-Beispiele: CRAY XMP, o.ä., CRAY-2, IBM 3090, CM-1, GCPP, CLiC, CHiC, Earth Simulator (Aufbau), JUGENE, ...
    Linux Cluster im MRZ
  • Inbetriebnahme des Chemnitzer Linux-Clusters CHiC (2007)
  • Anschauungsmaterial / Beispiele:
  • Rechenleistungen verschiedener Prozessoren mit verschiedenen Compilern in Abhängigkeit von der Länge der verarbeiteten Felder (Einfluss des Caches und damit des Speicherzugriffs auf die Gesamtleistung).
  • Illustration zur Kommunikation im Hypercube Hypercube (Java-Applet), Global Exchange Global Exchange,   Global Operation Global Operation,
    Einige Beispiele zur Implementierung von Kommunikationsroutinen in einer Hypercube-Topologie
  • Nur zur Anschauung: ein Occam-Quelltext.
  • Eine Dokumentation einiger für PVM und MPI verwendbarer typischer Hypercube-Kommunikationsroutinen (u.a.) - S. 8-31
  • Spezielle Hinweise zur Benutzung von PVM und MPI mit der aktuellen Installation im MRZ (PVM 3.4.6, Open-MPI 1.3.3)
  • Man-Pages zu den Routinen von PVM sowie MPI
    (Diese HTML-Fassung der Man-Pages gehört zu früheren, aber nicht veralteten Versionen).
  • Das "klassische" Problem der 5 Philosophen und seine Veranschaulichung mittels Java
  • Material zur Übung:
  • Beispiel eines Hostfiles zur Nutzung von PVM oder MPI.
    Bitte beachten, dass einzelne Rechner vorübergehend nicht erreichbar sein können, siehe Informationen des MRZ
  • Mini-Beispiele "Hello World":   in der „neutralen” Version mit Cubecom-Routinen:   helloc.c,   hellof.f,  
    mit den Makefiles dazu als Vorlage: Make_cube_mpi,   Make_cube_pvm,  
  • und die entsprechenden Programmversionen mit MPI- bzw. PVM-Aufrufen: helloc_mpi.c,   hellof_mpi.f,   hello_pvm.f
    und Makefiles dazu: Make_mpi,   Make_pvm,  
    anzuwenden durch: make -f <makefilename>, bzw. als „Trockentest”: make -n -f <makefilename>,
  • bzw. ein Makefile, das die vier obigen Makefiles nacheinander (oder einzeln) aufruft: Makefile,
    genauere Infos dann mit 'make help'.
    (Abspeichern der hier angegebenen Programmdateien durch Rechtsclick und 'Save Link As...')

  • Eine Übungsaufgabe (Rechnen mit verteilt gespeicherten Vektoren).
  • Erweiterte Aufgabenstellung (Rechnen mit verteilt gespeicherten Matrizen und Vektoren, Themenvorschlag für Abschlussbeleg).
  • Zur Abgabe eines Belegs bitte dieses Formular verwenden (über Anmeldung am Web-Trust-Center).

webstat
webstat(0)