Check out the new USENIX Web site. next up previous
Next: Hardware View - Impact Up: Energy Behavior Previous: Energy Behavior

Overall Energy Picture 

Figure [*] shows the percentage energy breakdown for the interpreter and the JIT modes assuming 32 KB two-way set associative instruction and data caches. We see from the figure on the left that most of the energy in the JIT mode is due to memory accesses for data (Dmemory). In contrast, the memory energy due to native SPARC instruction accesses is lower. This is because the instruction accesses exhibit much better data locality and cause less number of off-chip accesses. The same trend is also observed with the interpreter mode of operation as shown in the graph on the right. The instruction accesses in the interpreter mode have better locality than the JIT mode [23], and as a result, the percentage of the instruction cache energy is higher in the former, especially for compress. As an example, in the interpreter mode, instruction cache energy consumption for the javac benchmark is 12.3% of the overall memory system energy, whereas the corresponding figure in the JIT mode is 8.7%.

The energy consumption for a given unit is directly related to the number of accesses and per access energy cost [37]. It can be observed from Figure [*] that the interpreter consumes significantly more energy than in the JIT mode. A detailed breakdown of energy is shown in Figure [*]. This is due to the fact that both the number of instructions and number of data accesses in the interpreter mode are higher than the JIT mode. For example, javac consumes 2.15 times more energy in the interpreter mode as compared to the JIT mode. Thus, the use of JIT compilers will be more beneficial not only in terms of performance (as is well-known [23]) but also from the energy viewpoint.


  
Figure: Energy distribution for the JIT mode (left) and interpreter mode (right). The Icache and Dcache are 32 KB two-way set associative and have 32 byte block size. s1 dataset was used.


  
Figure: A comparison of energy consumption when executing in JIT compile mode and interpreter mode. The Icache and Dcache are 32 KB two-way set associative and have 32 byte block size. s1 dataset was used.


 
Table: Number of cache and memory accesses (denoted Acc.) in millions and absolute energy values (denoted Eng.) in Joules in interpreter and JIT mode.


  Interpreter Mode
Benchmark Icache Dcache Imemory Dmemory Total

Acc. Eng. Acc. Eng. Acc. Eng. Acc. Eng. Eng.

compress

21,340.00 98.17 7211.6 33.17 0.6 0.77 42.4 53.71 185.82

db

450.5 1.82 118.6 0.48 1.8 2.34 6.9 8.74 13.38

jack

9,834.9 39.82 2,814.4 11.39 15.6 19.81 173.0 220.05 291.07

javac

1,076.3 4.36 301.1 1.22 3.4 4.34 20.0 25.44 35.36

jess

1,698.3 6.88 477.4 1.93 4.6 5.89 33.1 42.16 56.86

mpeg

4,730.6 19.15 1,432.3 5.80 4.0 5.06 58.1 73.87 108.88

mtrt

12,935.4 52.37 3,657.7 14.81 16.7 21.21 248.3 315.90 404.29

JIT Mode
Benchmark Icache Dcache Imemory Dmemory Total
  Acc. Eng. Acc. Eng. Acc. Eng. Acc. Eng. Eng.

compress

922.4 4.24 330.9 1.52 1.8 2.22 22.2 28.11 36.09

db

238.2 0.97 59.5 0.24 2.9 3.70 3.9 5.00 9.91
jack 657.1 2.66 168.4 0.68 5.8 7.4 15.5 19.7 30.44
javac 353.1 1.43 88.4 0.36 4.7 5.95 6.8 8.68 16.42
jess 352.7 1.43 89.6 0.36 5.4 6.88 7.1 8.95 17.62
mpeg 456.0 1.85 129.0 0.52 3.9 4.94 7.9 10.02 17.33
mtrt 2,535.6 10.27 698.7 2.83 11.1 14.05 50.8 64.43 91.58

                 
 


next up previous
Next: Hardware View - Impact Up: Energy Behavior Previous: Energy Behavior
Vijaykrishnan Narayanan
2001-02-26