Joachim Gerlach


Mein Leben:

Geboren wurde ich am 29.1.1968 in Balingen, einem kleinen Städtchen am Rande der
schwäbischen Alb. Nach nur vierjähriger Grundschulzeit wechselte ich 1978 von der
Grund- und Hauptschule Engstlatt auf das Gymnasium Balingen und von diesem aus
1984 weiter auf das Technische Gymnasium Balingen, von welchem ich mich 1987 mit
dem Abitur verabschiedete.
Von 1987 bis 1988 studierte ich an der Universität Tübingen Mathematik, wechselte
dann aber an die Universität Karlsruhe, um dort von 1988 bis 1995 Informatik zu stu-
dieren. 1995 verließ ich die Universität Karlsruhe als Diplom-Informatiker und arbeite
seither als Wissenschaftlicher Mitarbeiter der Universität Tübingen am Lehrstuhl für
Technische Informatik bei Prof. Rosenstiel.


Meine Arbeit:

Ich beschäftige mich mit dem Entwurf digitaler Schaltungen ausgehend von abstrakten
Verhaltensbeschreibungen, der High-Level Synthese, und dort genau mit der transfor-
mationalen Optimierung von Entwürfen auf algorithmischer Ebene mittels sogenannter
High-Level Transformationen.

Meine besonderen Interessen gehören den Bereichen:

SystemC
High-Level Transformationen
Transformationale Entwurfsraum-Exploration
Abschätzung von Entwurfseigenschaften
High-Level Synthese aus ANSI-C Beschreibungen
Hardware/Software Codesign

Unter dem Begriff High-Level Transformationen versteht man auf algorithmischer Ebene
angesiedelte Optimierungsschritte, die häufig (aber nicht immer) ein Analogon im Bereich
der optimierenden (Software-)Compiler besitzen, wie etwa das Entrollen von Schleifen,
das Propagieren von Konstantenwerten oder die Ausnutzung gemeinsamer Teilausdrücke.
Dabei zeigt sich jedoch sehr schnell, daß sich die Voraussetzungen für die Anwendbarkeit
von Transformationen (Zielarchitektur, Optimierungsziele, Restriktionen) auf Hardware-
und Software-Seite wesentlich unterscheiden und somit eine direkte Übertragung der Kon-
zepte von Software auf Hardware nicht sinnvoll ist. Ziel meiner Arbeiten stellen daher Un-
tersuchungen bezüglich der Anwendbarkeit und der Automatisierbarkeit von High-Level
Transformationen dar.

Im Rahmen meiner Promotion entwickelte ich eine Methodik zur Domänen-übergreifenden
Optimierung von Hardware/Software-Systemen. Der Ansatz nimmt eine automatisierte
transformationale Exploration des Entwurfsraums auf algorithmischer Ebene vor. Die Arbeit
betrachtet sämtliche Teilaspekte der transformationalen Entwurfsraum-Exploration und um-
faßt neben der Realisierung von Transformationsalgorithmen (Teilbereich Transformationen)
die Entwicklung von Mechanismen zur abstrakten Bewertung von Transformationsschritten
(Teilbereich Transformationsanalyse) sowie die Entwicklung von automatisierten Verfahren
zur zielgerichteten Auswahl von Transformationsschritten (Teilbereich Transformations-
steuerung
). Daraus resultiert eine abgeschlossene Vorgehensweise, die, im Gegensatz zu
den bekannten Arbeiten der Literatur, eine ganzheitliche und homogene Betrachtung der
Optimierungsproblematik von Hardware/Software-Systemen beinhaltet.

Im Teilbereich Transformationen wurde eine Umgebung zur transformationalen Optimierung
von Entwurfsdarstellungen der algorithmischen Ebene geschaffen. Diese beinhaltet eine An-
zahl von 34 Tranformationstypen, welche alle bezüglich der Lokalität ihrer Anwendung und
viele zusätzlich bezüglich ihrer Funktionalität parametrisierbar sind. Damit übersteigt die
Mächtigkeit der Transformationsgrundmenge die sämtlicher vergleichbarer Ansätze bei wei-
tem. Die Verfügbarkeit einer derart großen Menge von Transformationen, deren Anwendung
in beliebiger Weise kombinierbar ist, stellt eine wichtige Voraussetzung für eine methodische
Untersuchung von Verfahren zur Automatisierung der Transformationsanwendung dar.

Im Teilbereich Transformationsanalyse wurde eine Vorgehensweise zur Bewertung von
Transformationsschritten entwickelt, die auf hoher Abstraktionsebene agiert und auf diese
Weise eine effiziente Realisierung der Explorationsschleife gestattet. Der entwickelte An-
satz basiert auf einer vergleichenden Analyse der Kosten von Quell- und Zielentwurf eines
Transformationsschritts. Hierzu wurden Bewertungsheuristiken entworfen, deren Anwen-
dung in unterschiedlichen Ausführungszuständen des Syntheseprozesses möglich ist, wo-
raus über den Entwurfszustand parametrisierbare (skalierbare) Abschätzungsmechanismen
resultieren. Im Rahmen der Arbeit wurden für unterschiedliche Entwurfskriterien effiziente
Bewertungsheuristiken hergeleitet und deren Leistungsfähigkeit experimentell validiert.

Im Teilbereich Transformationssteuerung wurden Verfahren zur Automatisierung der Aus-
wahl und Anwendung von Transformationsschritten innerhalb des aktuellen Entwurfsraums
entwickelt und untersucht. Hierzu wurde zum einen eine Adaption klassischer algorith-
mischer Verfahren (Erschöpfende Suche, Hill-Climbing, Simulated-Annealing) auf das
Szenario der transformationalen Entwurfsraum-Exploration vorgenommen, zum anderen
wurde ein eigener modularer Steuerungsansatz entworfen. Im Rahmen der Arbeit wurden
verschiedene Aspekte der Transformationssteuerung untersucht und die daraus resultieren-
den Mechanismen dem modularen Ansatz in Form isolierter Steuerungsmodule zur Ver-
fügung gestellt. In experimentellen Untersuchungen wurden die klassischen algorithmischen
Ansätze der modularen Vorgehensweise gegenübergestellt, wodurch die Leistungsfähigkeit
des eigenen Ansatzes bestätigt werden konnte. Weiter konnten anhand des modularen An-
satzes konzeptionelle Aspekte der automatisierten Transformationssteuerung identifiziert
werden (etwa der hohe Stellenwert von Mechanismen zur Beschränkung und Strukturierung
des Suchraums). Ein weiterer Schwerpunkt der Arbeiten im Bereich der Transformations-
steuerung lag in der Entwicklung von Verfahren zur adäquaten Terminierung der Explora-
tionsphase.

Die Leistungsfähigkeit der Vorgehensweise und der entwickelten Verfahren konnte anhand
experimenteller Untersuchungen belegt werden. So wurde etwa eine erfolgreiche Anwendung
der Methoden auf die Algorithmen zur GSM-Sprachtranscodierung und zur JPEG-Bildkom-
pression vorgenommen.

Sämtliche der im Rahmen dieser Arbeit entwickelten Ansätze wurden innerhalb des
Programmpakets ExTra (Design Space Exploration Using Transformations) implementiert,
welches somit ein leistungsfähiges Werkzeug zur automatisierten Exploration des
Entwurfsraums auf algorithmischer Ebene bereitstellt.


Publikationen:

Eigene Publikationen
Publikationen der Arbeitsgruppe



gerlach@informatik.uni-tuebingen.de (Last Edit: 30.7.2000)