Simulating Java Virtual Machines - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Simulating Java Virtual Machines

Description:

Simulating Java Virtual Machines. Xianglong Huang (UT Austin), Eliot Moss (UMass Amherst) ... S. McKinley (UT Austin), Doug Burger (UT Austin) Dynamic ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 25
Provided by: systemsCs
Category:

less

Transcript and Presenter's Notes

Title: Simulating Java Virtual Machines


1
Simulating Java Virtual Machines
  • Xianglong Huang (UT Austin),
  • Eliot Moss (UMass Amherst),
  • Steve Blackburn (Australian National Univ.),
  • Kathryn S. McKinley (UT Austin),
  • Doug Burger (UT Austin)

2
Dynamic SimpleScalar
  • Dynamic code generation
  • Pre-decoding simulator
  • Signal mechanism
  • Simulated signal functionalities
  • Thread scheduling and synchronization
  • Support for thread switch and lock

3
SPECjvm98
  • compress, a Java port of the 129.compress
    benchmark from SPEC CPU95
  • jess, an expert system shell
  • raytrace, a ray tracing program
  • db, which simulates a database system
  • javac, the Sun JDK 1.02 Java compiler, compiling
    jess
  • mpegaudio, a decoder to decompress MPEG-3 audio
    files
  • mtrt, a multithreaded raytracer
  • jack, which generates a parser repeatedly

4
Validation Results--compress
Average difference from performance counter is
1.33
5
Studies
  • The effect of varying heap size
  • Isolating GC and mutator phase
  • 64K L1 data cache, 4M L2 data cache

6
Performance Curve -- db
Notice the sweet spot at heap size 150M
7
of Instructions
Instruction number reduces because of less GC
8
L1 Instruction Cache
Instruction cache misses has no sweet spot
9
L1 Data Cache
Data cache misses has sweet spot
10
Performance Curve -- db
11
Performance Curve--_213_javac
Most benchmarks have performance curve as Javac
12
Isolating Mutator and GC
  • Semi-space copying GC

13
Isolating Mutator and GC
  • Fixed-size nursery generational GC

14
Isolating Mutator and GC
  • Appel-style flexible-size nursery GC
  • Before GC
  • After GC

15
Total Cycles (geometric mean)
Performance of Java program with different type
of GC
16
Mutator Cycles
The performance of application (mutator) itself
17
Write Barrier
  • Pointers allocation in mutator phase
  • Young to younger generation
  • Young to old
  • Old to young

18
GC Cycles
GC cycles change on different heap sizes
19
L1 Data Cache, Mutator
In mutator phase, L1 data cache accesses varies
very little
20
L1 Data Cache, Mutator
In mutator phase, L1 data cache misses varies
very little
21
L1 Data Cache, GC
In GC phase, L1 data cache accesses varies a lot
22
L1 Data Cache, GC
In GC phase, the L1 data cache miss rate is low
23
L2 Cache
  • Very few L2 accesses.
  • Mutator L2 miss rate varies from 5.5 to 7.5,
    not much.
  • For Appel and fixed size nursery GC, GC L2 miss
    rate is around 40.
  • For semi-space is around 50.

24
Conclusion
  • DSS is a useful tool for studying Java programs
  • Several SPECjvm98 benchmarks has sweet spot of
    execution
  • Copying GCs have little effect on mutator
    behavior, except the write barrier effects.
Write a Comment
User Comments (0)
About PowerShow.com