Check out the new USENIX Web site.
ExplorationExperimentsPOWER4Experimental Methodology

Experimental Methodology

We used a 4-way POWER4 machine with two chips in which each chip is placed on a separate module. We use a variant of the SPECjbb2000 [29] benchmark for our experiments. SPECjbb2000 simulates a wholesale company whose execution consists of two stages. During startup, the main thread sets up and starts a number of warehouse threads. During steady state, the warehouse threads execute transactions against a database (represented as in-memory binary trees). The variant of SPECjbb2000 that we use is called pseudojbb: pseudojbb runs for a fixed number of transactions (120,000) instead of a fixed amount of time. We run pseudojbb with one warehouse thread on a single virtual processor. In our configuration, the pseudojbb run takes 25 seconds on a POWER4 workstation. We use an adaptive Jikes RVM configuration that has the adaptive optimization system (AOS) with a semispace garbage collector. The source code for Jikes RVM is from the September 26, 2003 head of the public CVS repository.

When run on a single virtual processor, Jikes RVM creates eight Java threads during execution in addition to the two Java threads created by pseudojbb: a garbage collection thread that executes only during garbage collection; a finalizer thread that finalizes dead objects and is executed infrequently; a debugger thread that never executes; and an idle thread that helps load balance Java threads when a virtual processor is idle, but because only a single virtual processor is used the idle thread never executes. As mentioned in Section * the VM also creates a trace writer thread to transfer trace records from a buffer to a trace file. The last three threads are related to the adaptive optimization system [6]. The compilation thread performs optimized compilations of methods selected by the controller thread, which processes online profile data recorded by the organizer thread.


ExplorationExperimentsPOWER4Experimental Methodology