K. Scott and K. Skadron
In Proc. of the Second Annual Workshop on Hardware Support for Objects and Microarchitectures for Java, in conjunction with ICCD 2000, Sept. 2000.
Abstract
The popularity of Java has resulted in a flurry of engineering and
research activity to improve performance of Java Virtual Machine (JVM)
implementations. This paper explores the concept of bytecode-level
parallelism (BLP): data- and control- independent
bytecodes that can be executed concurrently, just as conventional
machine instructions are executed concurrently to exploit
instruction-level parallelism (ILP). Quantifying the degree of BLP
available is an important first step in finding ways to exploit it.
This paper presents measurements for the SPECjvm98 suite that show
levels of BLP are high even within basic blocks--with an average BLP
degree of 5.6--and that levels of BLP are very large--19.8--when
speculating past control flow. This suggests that techniques designed
to exploit BLP can yield substantial speedups in the performance of a
JVM and other interpreters.