Anschrift:
Michael Thies
Universität Paderborn
Institut für Informatik
Fakultät für Elektrotechnik,
Informatik und Mathematik
Fürstenallee 11
33102 Paderborn
Deutschland
Raum: F2.303
Im Rahmen eines Lehrauftrages biete ich folgende Veranstaltung für den Studiengang Medienwissenschaften an:
Im Rahmen einer Lehrstuhlvertretung biete ich folgende Veranstaltungen an:
Im Moment beschäftige ich mich überwiegend mit der Entwurfsraum-Exploration von Mikroprozessoren für spezifische Anwendungsgebiete. Dabei werden ein optimierender Compiler (speziell das Compiler-Backend) und ein effizienter Simulator aus einem Modell des Prozessors generiert, um den Proezssor anhand geeigneter Benchmark-Programme aus dem Anwendungsgebiet zu bewerten. Die Prozessor-Modellierung erfolgt dabei auf einer hohen Ebene, die an den Anforderungen von Software-Entwicklungswerkzeugen orientiert ist. Dies spart Zeit gegenüber einer prototypischen Hardware-Realisierung des Prozessors und erlaubt eine schnelle und flexible inkrementelle Weiterentwicklung des Prozessors. Liefert diese iterative Explorationsmethodik eine geeignete Prozessorarchitektur, schließt sich eine verfeinerte Untersuchung auf Hardware-Ebene an, die nur einen deutlich reduzierten Entwurfsraum betrachten muss.
Ich habe einen neuartigen Ansatz zur optimierten Ausführung von Java-Bytecode entwickelt, der die dynamische Optimierung eines Java-Programms durch statische Programmanalyse vorbereitet. Die Analyseinformation wird unabhängig von der Programmausführung bezogen auf alle Klassendateien einer Softwarebibliothek ermittelt und gespeichert. Zur Laufzeit unterstützt die an den Bibliotheksschnittstellen komponierte Information insbesondere Optimierungen, die zusätzlich dynamische Programmeigenschaften ausnutzen. Einen Überblick der von mir entwickelten und implementierten Analysemethode, sowie einige der damit gewonnenen Ergebnisse habe ich in meinem Promotionsvortrag am 18. Mai 2001 vorgestellt. Das Material, das ich bei meinem Vortrag verwendet habe, ist hier verfügbar. |
S | tatic | |
A | nalysis of | ||
I | solated | ||
L | ibraries & | ||
D | ynamic | ||
O | ptimization | ||
W | orks | ||
N | imbly |
Einige recht frühe Voruntersuchungen und erste Ergebnisse zu dieser Idee habe ich bereits im Rahmen der Java-Informationstage 1999 (JIT'99) am 20./21. September 1999 in Düsseldorf präsentiert. Dieses ältere Vortragsmaterial findet sich hier.
Ausführliche Hintergrundinformationen zu meiner Idee und Überlegungen zu wichtigen Entwurfsentscheidungen liefert ein technischer Bericht. Außerdem gibt es noch die Folien zu meinem Vortrag auf der JIT'98 in Frankfurt als komprimierte Postscript-Datei.
Im Zusammenhang mit der optimierten Ausführung von Java-Programmen experimentiere ich mit (JIT) Übersetzung von Java für den PowerPC. Dabei stütze ich mich zum Teil auf Kaffe, eine ausgezeichnete frei verfügbare Implementierung einer Java Virtual Machine.
Mit der Programmiersprache Java komme ich ansonsten noch im Rahmen der Programmierausbildung für InformatikstudentInnen in Berührung, z.B. bei der Betreuung der Anfängervorlesung Software-Entwicklung.
In einem früheren Leben habe ich mich mit Instruction Scheduling, aber auch der Codeselektion mittels BURS (Bottom-Up-Rewriting-Systems) beschäftigt. Dazu kamen noch all die anderen Hilfsmittel, die man braucht, um eine funktionsfähige Codeerzeugung zu implementieren, z.B. für SPARC oder PowerPC Prozessoren.
Neben echter PowerPC-Hardware, die unter AIX oder MkLinux läuft, habe ich zusätzlich den PowerPC Simulator PSIM benutzt, um Leistungsmessungen an PowerPC-Code durchzuführen. Dabei erbrachte gerade der Simulator einige aufschlußreiche Ergebnisse, die man aus herkömmlichen Testläufen nur schwer herleiten könnte.
Meine Diplomarbeit Ein Code-Generierungs-Werkzeug eingesetzt für SPARC-Prozessoren (1993) ist als Postscript-Datei verfügbar.
Impressum | Datenschutzerklärung | Webmaster | Letzte Änderungen am : 23.06.2015