Dr. Michael Thies

Address: Michael Thies University of Paderborn
Faculty of Computer Science,
Electrical Engineering and Mathematics
Fürstenallee 11
33102
Paderborn
Germany Room: F2.303 Tel.: +49 5251 60-6682 Fax: +49 5251 60-6697 e-mail: mthies@uni-paderborn.de

Macintosh Stuff Done in my Spare Time


Research Areas


My current work is mostly concerned with the automatic generation of compiler backends based on high-level specifications of the target processor. The specifications describe the processor from a programmer's point of view and omit as many details of the actual hardware implementation as possible. Easy incremental development and maintenance of the specifications form important goals of this approach.

The tool chain, which is generated from the specification, consists of an optimizing compiler backend and a very fast, cycle-accurate simulator with instrumentation cpabilities and a matching visualization tool. Simple, pipelined, superscalar, and VLIW processors, as well as closely-coupled processor clusters have been successfully targeted by such generated tool chains. The methodology has also been used with great success to drive design space exploration: evaluating a proposed change to the instruction set of an application-specific processor takes just a couple of minutes. Ths allows for fast incremental development and refinement of application-specific instruction sets, which boost performance for a wider range of applications than specific hardware accelerators. Still, quick evaluation of the performance advantages of a proposed hardware accelerator, no matter whether tightly or loosely coupled with the processor, are also supported by this tool chain.

Before that, I have developed a new approach to optimized execution of Java bytecode. The idea is to prepare dynamic (runtime) optimization of Java programs by means of static program analysis. Analysis occurs independently from program execution and considers all classes of a software library as a unit. Results are stored with the bytecode of the library. At runtime information from all libraries used by a Java application is composed and utilized by optimizations which also take dynamic properties of the currently executing program into account.

As part of my PhD thesis I have developed and implemented this analysis approach. On May 18th 2001 I have given a talk which summarizes my achievements and presents some of the results obtained. The material that has been used in the presentation is available here.

I have presented some early results concerning my idea at the JIT'99 sub-conference of the Javadays'99 at Düsseldorf, Germany in Semptember 1999. The material used in this older presentation can be found here.

Static
Analysis of
Isolated
Libraries &
Dynamic
Optimization
Works
Nimbly

More background information and considerations that influenced this idea are given in this technical report. The slides from my presentation at JIT'98 in Frankfurt are also available as a compressed Postscript file.

Available Material

Other Work

Recently I got involved in (JIT) compilation of Java for PowerPC. These efforts are partly based on Kaffe, an excellent free implementation of an interpreting/JIT-compiling Java Virtual Machine.

In a former life my interests centered around instruction scheduling and code generation utilizing BURS (bottom-up-rewriting-systems). In addition I dealt with other auxiliary modules, needed to construct working code generation phases, e.g. for SPARC or PowerPC based target machines.

Apart from real PowerPC hardware running under AIX and MkLinux I also use the PowerPC Simulator PSIM for performance monitoring, which provided some interesting insights not easily deduced from conventional test runs.

Trombone

Macintosh Stuff Done in my Spare Time


German Keyboard, Java, and MacOS X: The Return of the Missing Keystrokes (in German only)

sAVe the Disk 1.5

This is a FreeWare system extension, which fixes excessive SoundManager disk accesses and a QuickDraw printer bug on the Centris/Quadra 660av and the Quadra 840av. Version 1.5 is intended for System 7.5 or later and is fully compatible with System 7.6.x.

Download sAVe the Disk 1.5 (15K)

Mup 5.3 for Mac OS X 10.4

Imprint | Webmaster | Recent changes: 23.06.2015