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 4-6 4 12 26
jess 3-8 8 20 24
raytrace 4-7 4 14 14
db 3-5 2 8 6 11
javac 3-8 7 16 7
jack 4-8 9 22 6
antlr 4-13 6 12 9
bloat* 5-24 4 12 3
fop 5-7 8 17 22
hsqldb 9-14 4 16 3
jython 4-16 7 12 5 21
pmd 5-1211 18 11
ps 8-14 4 4 9
  1. A consistently small number of clusters captures 95+% of space rental.
  2. A small number of sites also capture most allocation by space rental.
  3. More clusters needed to capture volume.
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).