For each benchmark, I plot

  1. s/c: graphs comparing the site rental and volumes, cumulatively, of the top 32 sites and partitions, ordered by site rental.
  2. 3D plots of (time of death, lifetime, volume) of the immortal partition and the other top 15 partitions. The yellow "shadows" point back to the time at which the objects were allocated. The boxes are an attempt to group objects that die together.

Commentary

benchmark s/csr at 95+%vol at 95+%
compress 2-4 2 1 3 2
jess 1-315 29 1 29
raytrace 2-5 4 3
db 2-3 1 2 3 4
javac 232
jack 3-5 7 26 6 26
antlr 3-1425 19
bloat* 2-7 6 5
fop 10-13 6
hsqldb 7-10 1 3 4 21
jython 3-11 3 13 2 13
pmd 2-516 16
ps 23-46 0 8 2
  1. Most benchmarks need only a few clusters to capture most site rental (exceptions are javac and antlr).
  2. javac is handled poorly.
  3. Only a few clusters need to capture most volume except javac, antlr, for and pmd.
benchmarkclusters (0=immortal)

Here's how to read our 3D plots. Time of death is plotted horizontally (from right 0% to left 100%). Age is plotted from back o% to front 100%. Volume that died is plotted vertically. Note that it is impossible for any point to fall SE of the green line (its age would be greater than its time of death). The plots have been annotated with coloured rectangles that group objects that seem to live and die together, i.e. with opposing corners at (phase_end-max_age,min_age) and (phase_end,max_age).