Restrukturierung von Programmen

Ist die Ausführung eines vorliegenden Programms auf einem Rechner des gewünschten Typs nicht effizient oder wegen spezifischer Eigenarten des Rechners gar nicht möglich, wird versucht, das Programm in ein semantisch äquivalentes Programm mit den gewünschten Eigenschaften zu transformieren. Im Falle prozeduraler Programmiersprachen steht dabei wegen des erreichbaren Parallelitätsgrades die Restrukturierung von Schleifen im Vordergrund. Für Maschinenprogramme interessiert vor allem die statische Reihenfolge der Instruktionen.

Die Vorlesung widmet sich diesmal ausschließlich dem Scheduling. Inhalte sind einerseits Scheduling-Techniken für Maschinenprogramme, andererseits Methoden zur Restrukturierung von Schleifen und Kriterien für die parallele Ausführbarkeit verschiedener Instanzen des Schleifenkörpers. Ein wichtiger Gesichtspunkt ist dabei die Optimierung diverser Parameter des Transformationsprozesses im Hinblick auf die Architekturklasse sowie eventuell bekannte Hardware-Kenngrößen der Zielmaschine.

Die Vorlesung richtet sich an Studierende im Hauptstudium Informatik (Diplom oder Lehramt an Gymnasien). Hilfreich für das Verständnis mancher Vorlesungsinhalte wären Kenntnisse aus der linearen Optimierung.


Literatur

Alain Darte, Yves Robert und Frédéric Vivien: Scheduling and Automatic Parallelization.
Birkhäuser-Verlag, 2000. ISBN 0-8176-4149-1.
http://www.birkhauser.com/cgi-win/ISBN/0-8176-4149-1
Zweigbibliothek Mathematik/Informatik, INF:DD:4000:D226::2000