Multiprocessor chips--a current trend in hardware--are commonly available to personal computer users. The presence of multiple processors is forcing software to become more parallelized. The problem with this is that parallelizing large pieces of software is a very difficult task, even if parallelization was included in the design specifications. In addition, most current software is written to execute sequentially, on a single processor.
This paper examines a possible idea that could help with the automatic parallelization of software written in Java. In order to automatically parallelize existing software, a unit of software on which the process can be based must be discovered. Also, there needs to be a software system that can be added to the Java interpreter to find and manage these units. The paper examines both of these issues. In the paper, the authors use the trace as the unit of software, create a software add-in for a Java interpreter, and discuss the results. They include brief descriptions of a trace and the software for finding and managing traces.
The paper ends with a presentation and discussion of the experimental results the authors obtained using several suites of Java programs. The experiments reveal positive results, and the trace unit shows notable promise in this increasingly important area of computing.