Vorlesung: Performance-optimierte Programmierung

Termin: Sommersemester 2003

  • Vorlesungen: Mittwochs, 16:00-17:30 Uhr, Raum F0.530
  • Übungen: Mittwochs, 17:45-18:30, Raum F0.346 (PC2-User-Center)

Dozent: Jens Simon
Übungsgruppenleiter: Oliver Marquardt

Motivation:

    Die große theoretisch erreichbare Rechenleistung moderner Computersysteme läßt sich nur mit Hilfe entsprechend optimierter Programme ausnutzen. In der Veranstaltung werden Methoden vorgestellt, die eine Entwicklung von effizienten Programmen für Einprozessor- und Mehrporzessorsysteme ermöglichen. Dabei wird das Zusammenspiel der unterschiedlichen Ebenen vom Algorithmus, über den Übersetzer, bis hin zur Architektur des Rechnersystems intensiv betrachtet.

Hörerkreis:

  • Studierende Informatik/Ingenieurinformatik im 2. und 3. Studienabschnitt.
  • Studierende aus Ingenieursstudiengänge mit Interesse am Hochleistungsrechnen und an Hochleistungsrechnern.

  • Bitte haben Sie Verständnis dafür, dass die Vorlesung nur bei mindestens 8 Studierende stattfinden kann.

Prüfung:

  • Bereich: Eingebettete Systeme/Systemsoftware (ESS)
  • Voraussetzung: Besuch der Vorlesungen, aktive Teilnahme an den Übungen, Bearbeitung der Übungszettel
  • Durchführung: Fachprüfung im Anschluss an die Vorlesungsserie

Wünschenswerte Kenntnisse:

  • Grundlagen der Rechnerarchitektur
  • Grundlagen der Programmiersprachen

Vorlesung:

    Die Folien der Vorlesung werden elektronisch präsentiert und anschließend im Web zur Verfügung gestellt.
    • 1. Vorlesung am 30.4.2003
    • 2. Vorlesung am 7.5.2003
    • 3. Vorlesung am 14.5.2003
    • 4. Vorlesung am 21.5.2003
    • 5. Vorlesung am 28.5.2003
    • 6. Vorlesung am 4.6.2003
    • 7. Vorlesung am 11.6.2003
    • 8. Vorlesung am 18.6.2003
    • 9. Vorlesung am 2.7.2003
    • 10. Vorlesung am 9.7.2003
    • 11. Vorlesung am 16.7.2003
    • 12. Vorlesung am 23.7.2003
    • 13. Vorlesung am 30.7.2003

Übungen:

    Die Übungszettel müssen bis zu dem entsprechenden Übungtermin bearbeitet und abgegeben werden (vorzugsweise als E-Mail an simon@upb.de + marquard@upb.de).
    • 1. Übung am 7.5.2003
    • 2. Übung am 21.5.2003
    • 3. Übung am 4.6.2003
    • 4. Übung am 18.6.2003
    • 5. Übung am 2.7.2003
    • 6. Übung am 9.7.2003
    • 7. Übung am 16.7.2003
    • 8. Übung am 23.7.2003
    • 9. Übung am 30.7.2003

Inhaltsübersicht:

  • Programmierparadigmen
  • Speicherhierarchien
  • Compiler-Optimierungen
  • Programmierung von Shared-Memory-Systemen
  • Programmierung von Systemen mit verteiltem Speicher
  • Kommunikationsprotokolle
  • Globale Operationen, Synchronisationen
  • Leistungsmessungen

Literaturhinweise:

  • Culler, David E.; Singh, Jaswinder P.; Gupta, Anoop: Parallel computer architecture : A hardware/software approach , Morgan Kaufmann, 1999
  • Hennessy, J.; Patterson D.: Computer Architecture - Quantitative Approach, 1996
  • Kevin Dowd, Charles Severance: High Performance Computing, 1998
  • Schönauer, Willi: Scietific Supercomputing - Architecture and Use of Shared and Distributed Memory Parallel Computers, 2000
  • Andrews, Gregory R.: Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000
  • Leopold, Claudia: Parallel and Distributed Computing, John Wiley&Sons, 2001
  • Gropp, William; Lusk, Ewing; Thakur, Rajeev: Using MPI - 2 : advanced features of the Message-Passing Interface, MIT Press, 1999
My Staffweb