Universitšt Karlsruhe
Dr.-Ing. Götz Lindenmaier
Adresse
Email goetz at ipd dot info dot uni-karlsruhe dot de
Web http://www.info.uni-karlsruhe.de/~goetz/

Sprechzeiten: keine

Arbeitsgebiete

Ich interessiere mich f√ľr √úbersetzer und Programmiersprachen. In meiner Promotionsarbeit adressiere ich Cacheprobleme von Zeigeranwendungen.

Algorithmen in Zeigeranwendungen sind weitaus schwerer analytisch zu erfassen als Algorithmen in numerischen Anwendungen. Diese sind h√§ufig von geschachtelten Z√§hlschleifen dominiert. Iterationen in Zeigeranwendungen sind oftmals durch Rekursionen oder mit Iteratoren implementiert und somit nicht direkt an einem Sprachkonstrukt zu erkennen. Zum Beispiel sind die Voraussetzungen f√ľr das korrekte Vertauschen geschachtelter Schleifen zur Cacheoptimierung von Reihungen mit statischen Analysen leichter zu erkennen, als Voraussetzungen um eine Tiefensuche durch eine Breitensuche zu ersetzen.

Bei der Anordnung von Datenstrukturen verhält es sich umgekehrt. Numerische Algorithmen arbeiten in der Regel auf Reihungen, die große Speicherbereiche belegen. Die Anordnung der Daten innerhalb der Reihungen lässt sich nur in beschränktem Maße verändern. Zeigeranwendungen operieren hingegen auf vielen, relativ kleinen Verbunden. Deren relative Anordnung ist nicht vorgegeben. Wird ein Speicherbereiniger verwendet, kann sich die Anordnung während der Lebenszeit eines Verbunds ändern.

Aufgrund der schlechten analytischen Fassbarkeit von Zeigeranwendungen sind viele bekannte Optimierungen f√ľr Datenstrukturen nur teilweise automatisiert. Eine Optimierung durch den Programmierer oder separate Werkzeuge zur Cacheoptimierung automatisieren die Cacheoptimierung in unseren Augen nicht ausreichend. Optimierungen, die speziellen Einsatz des Programmierers ben√∂tigen, m√ľssen durch extreme Cacheprobleme begr√ľndet sein. Vollst√§ndig automatisierte Optimierungen dagegen ben√∂tigen keine Interaktion des Programmierers. Sie sind leichter anzuwenden und k√∂nnen damit h√§ufiger praktische Cacheprobleme vermeiden.

Daher untersuche ich Analysen die Cacheprobleme statisch zur Übersetzungszeit vorherzusagen. Weiter betrachte ich, wie bekannte Optimierungsverfahren auf Programme, deren Datenstrukturen mit Vererbung implementiert sind, angewandt werden können, oder wie diese durch neue Verfahren ergänzt werden können.

In meiner Diplomarbeit habe ich eine Lokalitätsanalyse auf Basis von Laufzeitprofilierung entwickelt, und verwendete die gewonnenen Daten zu ladelatenzzeit sensitivem Befehlsanordnen.

Seit Sommer 2005 arbeite ich bei der SAP bei JIT Compiler Technologies. Unsere Gruppe optimiert und portiert die Java Virtual Machinen der SAP.

Projekte

Abgeschlossen
ACODA
AJACS
CATE
CRS
Firm
Jack
JOSES
Sather-K

Beteiligung an Software

Jack -- Java Compiler Karlsruhe
Ein √úbersetzer, basierend auf Firm, der Java in Bin√§rcode √ľbersetzt.
libFirm
Eine C Implementierung der Zwischensprache Firm.

Betreute Studien- und Diplomarbeiten

Diplomarbeit
Erweiterung eines Metaprogrammiersystems um einen iterativ aktualisierbaren Zwischensprachaufbau (abgeschlossen)
OptiCache -- Schleifen√ľbergreifende Cacheoptimierung (abgeschlossen)
 
Studienarbeit
Ausnahmebehandlung in einem optimierenden Java√ľbersetzer (abgeschlossen)
ELI Ein Integriertes Werkzeug zur Entwicklung von √úbersetzern und Einsatz im √úbersetzerbaupraktikum (abgeschlossen)
Entwurf und Implementierung der CORBA Schnittstelle Snow (abgeschlossen)
Explizite Interprozedurale Abhängigkeitsgraphen (abgeschlossen)
Haldenanalyse unter Ber√ľcksichtigung von Ausnahmen und Ausnahmebehandlung (abgeschlossen)

Bearbeitete Studien- und Diplomarbeiten

Diplomarbeit
Analyse von Profilinformation f√ľr cachesensitive Befehlsanordnung (abgeschlossen)
 
Studienarbeit
Erfassung eines computerinternen Modells von Altprodukten und Ermittlung der wirtsch. Fraktionierung (abgeschlossen)

Veröffentlichungen

2005
Lindenmaier, Beck, Boesler, Geiß, Firm, an Intermediate Language for Compiler Research
Lindenmaier, Structure Splitting and Inheritance
 
2002
Lindenmaier, libFIRM -- A Library for Compiler Optimization Research Implementing FIRM
 
2001
Lindenmaier, Geiß, Global Configuration of Cache Optimizations
 
2000
Lindenmaier, Load Scheduling with Profile Information
 
1999
Lindenmaier, Analyse von Profilinformationen f√ľr cachesensitives Befehlsanordnen
Trapp, Lindenmaier, Boesler, Documentation of the Intermediate Representation FIRM
 
1997
Lindenmaier, Erfassung eines computerinternen Modells von Altprodukten und Ermittlung der wirtschaftlichsten Fraktionierungstiefe
Login
Links