LRR-TUM-Logo Fakultät für Informatik
der Technischen Universität München
Informatik X: Rechnertechnik und Rechnerorganisation / Parallelrechnerarchitektur
Prof. Dr. Arndt Bode , Prof. Dr. Hans Michael Gerndt
abakus50x50.gif
 Home  | Adressen  | Personen  | Forschung  | Lehrveranstaltungen 
Suche 

Hauptseminar für Informatiker
im Sommersemester 1998

Prof. Dr. H. Hellwagner, Dr. R. Wismüller, Michael Eberl, Martin Schulz, Christian Weiß

    
    

Techniken der Code-Optimierung für moderne Rechnerarchitekturen

    
    

Moderne Rechnerarchitekturen stellen hohe Anforderungen an Compiler und Programmierer, um das Potential der Rechner vollständig auszunutzen. Ohne Optimierungen, die die Besonderheiten der jeweiligen Architektur berücksichtigen, reizen Programme oft nur einen kleinen Anteil der Leistung der Maschinen aus. In diesem Seminar werden daher, ausgehend von Standardoptimierungstechniken, neue Methoden für Compiler und Programmierer behandelt, die dieses Problem angehen. Besonderes Augenmerk wird dabei auf RISC-Architekturen und Workstation-Cluster gelegt. Die Themengebiete reichen von Compileranalysetechniken und Cacheoptimierungen über High Performance Java zu Intels neuer EPIC-Architektur.

    
    

Themenübersicht:

  1. Einführung in Optimierungsprobleme auf modernen Rechnerarchitekturen
    Termin: 07.05.98, Vortragender: Anton Peißinger, Handout (PS), Handout (PPT)

    Es sollen aktuelle Rechnerarchitekturen und ihre Leistungsmerkmale vorgestellt werden. Außerdem soll auf die Probleme bei der Codegenerierung für diese Architekturen eingegangen werden.

  2. Grundlagen der Übersetzung und Optimierung von Programmiersprachen
    Termin: 14.05.98, Vortragender: Markus Ibba, Handout (PS), Handout (PPT)

    Der Aufbau eines Übersetzers, seine internen Datenstrukturen und Standardoptimierungstechniken wie z.B. Function Inlining, Common Subexpression Elimination und Copy Propagation sollen erläutert werden.

  3. Datenabhängigkeiten und Analysetechniken
    Termin: 04.06.98, Vortragender: Norbert Oertel, Handout

    Die Ermittlung von Datenabhängigkeiten im Quellcode ist die Basis für die meisten der in diesem Seminar besprochenen Optimierungstechniken und wird von allen optimierenden Compilern durch aufwendige Datenflußverfahren durchgeführt. Ziel dieses Vortrages ist es, in diese Verfahren einzuführen und einige grundlegende Algorithmen und deren Datenstrukturen zu erläutern.

  4. Schleifentransformationen für High Performance Computing
    Termin: 18.06.98, Vortragender: Thomas Pröll, Handout

    Da ein großer Teil der Rechenzeit von Programmen in Schleifen verbracht wird, sind komplexe Schleifentransformationen der Schlüssel für die Generierung von effizienten Programmen. Im Vortrag sollen einige Transformationen an Beispielen erläutert werden.

  5. Datenlokalitätsoptimierung für Architekturen mit tiefen Speicherhierachien
    Termin: 25.06.98, Vortragender: Christian Weiß, Handout

    Ein typischer Ansatz, um den Engpaß Hauptspeicher in heutigen RISC-Architekturen zu entschärfen, ist die Verwendung von Cache- oder Speicherhierachien. Im Vortrag sollen Optimierungstechniken für diese Architekturen vorgestellt werden, die teilweise erhebliche Geschwindigkeitssteigerungen ermöglichen.

  6. Datendistribution in parallelen Systemen mit verteiltem Speicher

    Um in Systemen mit verteiltem Speicher eine höchstmögliche Performance zu erreichen, sollten Daten auf die Rechenknoten so verteilt werden, daß benötigte Daten immer lokal bereitstehen. Dieser Vortrag soll deshalb mögliche Verteilungsverfahren und Techniken zur Optimierung der Datenlokalität vorstellen und bewerten.

  7. Datenkonsistenzmodelle in Shared-Memory- und Shared-Object-Systemen

    Bei gemeinsamer Datenhaltung, sei es in Form von gemeinsamem Speicher oder mittels globaler Objekträume, steht man grundsätzlich vor dem Problem der Konsistenzerhaltung. Es gibt dazu in der Literatur verschiedene Modelle und Techniken, um dies transparent oder aber auch anwendungsspezifisch zu gewährleisten. Die wichtigsten sollen hier vorgestellt und diskutiert werden.

  8. Konzepte für Laufzeitsysteme auf Workstation-Clustern
    Termin: 02.07.98, Vortragender: Harald Brede, Handout

    Laufzeitsysteme verwalten beispielsweise Threads, Thread-Kommunikation und Synchronisation in verteilten Systemen. Die wichtigsten Aufgaben, Schnittstellen (z.B. zum Übersetzer) und Realisierungstechniken sollen hier besprochen werden.

  9. Spezielle Optimierungen für VLIW-artige Architekturen (EPIC)
    Termin: 09.07.98, Vortragender: Christian Mailer, Folien (ppt), Folien (ps), Handout (ppt), Handout (ps)

    Im Gegensatz zu heute üblichen superskalaren Architekturen benötigen VLIW- (Very Long Instruction Word) Architekturen explizite Unterstützung durch Compiler, um Parallelarbeit im Prozessor zu ermöglichen. Der zukünftige "Top-Prozessor" von Intel und HP, der "Merced", weist mit seinem "EPIC" (Explicitly Parallel Instruction Code) VLIW-artige Strukturen auf.

  10. Annotationen in Programmiersprachen zur Leistungsoptimierung

    Trotz aufwendiger Analysetechniken in modernen Compilern und trotz adaptiver Laufzeitverfahren ist es in heutigen System (noch?) nicht möglich, alle Informationen zur Code-Optimierung zu gewinnen. In diesem Vortrag sollen diese Grenzen dargestellt und mögliche Alternativen in Form von Programmannotationen aufgezeigt werden.

  11. High Perfomance Computing mit Java?
    Termin: 16.07.98, Vortragender: Christian Etbauer, Folien (ppt), Folien (ps), Handout

    Es gibt gute Gründe (z.B. Portabilität), Java im wissenschaftlichen Hochleistungsrechnen zu verwenden. Dem gegenüber steht die im Vergleich mit C oder Fortran immer (noch?) geringere Leistungsfähigkeit von Java-Programmen. Optimierungen der Ausführungsumgebung, z.B. Just-In-Time Compiler, sollen diesen Nachteil ausgleichen.

  12. Stanford University Intermediate Format (SUIF)

    Das Projekt SUIF ist eine Infrastruktur für optimierende und parallelisierende Compiler und soll im Vortrag vorgestellt werden. Außerdem sollen die in den vorherigen Vorträgen vorgestellten Techniken der Code-Optimierung an Beispielen angewendet und die Resultate der Optimierungen präsentiert werden.


Termine:
Vortragstermine immer Donnerstags 15:30-17:00.

Weitere Informationen bei:
Christian Weiß
Richard-Wagner-Str. 18, Zimmer 019
Tel.: (089)-289-28402
Email: weissc@in.tum.de

<$Id: 77seminar_ss98-A.html,v 1.3 2002/08/25 14:38:16 fliegl Exp $>

NAVIGATE:

Back: Hauptseminar: Existenzgründung -- WS 98/99

Up

Next: Prof. Dr. A. Bode: Proseminar SS 1998



Philipp Drum
Last modified: Sun Aug 25 16:38:16 2002