Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Garbage Collection,Program Comprehension
and Machine Learning
Jeremy Singer Gavin BrownMikel Lujan Ian Watson
School of Computer Science, University of Manchester
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Outline
1 Program Comprehension
2 Intelligent Pretenuring
3 Perceptron Pretenuring
4 Wrap Up
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Outline
1 Program Comprehension
2 Intelligent Pretenuring
3 Perceptron Pretenuring
4 Wrap Up
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Jikes RVM
Research Virtual Machine (RVM)from IBM Research, now open-sourceon sourceforge.neteasy-to-modify adaptive compilationenvironment for/in Javahas research respectability—100’s ofpapers use itgood platform for GC research
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Visualizing AdaptiveSubsystems
monitor activity due tocompilation/gc/otherdynamic concept assignmenttechniques
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Feedback from ACMSymposium
your visual metaphors are ...unappealingnon-intuitive
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Better Visualization
interactivityfamiliar objects as metaphor forunfamiliar3-d
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Visualizing Garbage Collection
mutatorobjectsspaces (generations)collectionpromotion
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Metaphor for GarbageCollection
mutator: jugglerobjects: jugglable artefactsspaces (generations): labelled boxescollection: tidying boxespromotion: moving between boxes
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Metaphor Applications
EPSRC CS Writing competitionillustrate idea of intelligent pretenuring
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Outline
1 Program Comprehension
2 Intelligent Pretenuring
3 Perceptron Pretenuring
4 Wrap Up
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Avoid live objects duringcollection
processing live objects is wasted timeso long-lived objects should not startin nurserypretenuring—put them in maturespace immediately
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Predicting Object Lifetimes
heuristics to detect long-lived objectsbased on allocation sitebased on object connectivitycan be adaptive heuristics
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Automatic HeuristicGeneration
use Machine Learningselect an algorithm (there are plenty!)select some inputs (tricky!)train the algorithm on the inputsat last, a heuristic emerges!
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Outline
1 Program Comprehension
2 Intelligent Pretenuring
3 Perceptron Pretenuring
4 Wrap Up
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Perceptrons
a number of inputs x1, x2, . . . , xn
weight per input w1, w2, . . . , wn
compute∑
i wixi
if sum > threshold then output 1, elseoutput 0
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Inputs
obtain info about objects at allocationinstrument Jikes RVM and MMTkdump data to file, for postprocessingtypical inputs
object sizenumber of fields/methodsdepth in inheritance treein package java.* orcom.ibm.jikesrvm.*
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Output
keep record of every nursery-allocatedobjecttrack object promotions to maturespaceat end, dump out object attributes and...whether or not object was promoted
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Experiments
use some benchmarks fromSPECjvm98for each benchmark
train perceptron on first 50% ofallocationstest perceptron on second 50%
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Prediction Types
positive means predict mature,negative immatureprediction either true or false
true falsepositive good terrible!negative good acceptable
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Results
benchmark 200check 201compressallocs 87768 100749
mispreds 19748 19785tps 14733 14892fps 75 828tns 53287 66072fns 19673 18957
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
More Results
benchmark 205raytraceallocs 4.3m
mispreds 1306tps 95fps 295tns 4.3mfns 1011
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Outline
1 Program Comprehension
2 Intelligent Pretenuring
3 Perceptron Pretenuring
4 Wrap Up
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Future Work—betterexperiments
train on one benchmark, test onanotheruse DaCapo instead of SPEC
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Future Work—better predictors
change perceptron thresholddifferent inputs?vote between perceptron ensemblemultilayer perceptrons
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Future Work—use predictionsonline
incorporate learning technique intoRVMeither static or adaptive heuristicpretenure objectsmeasure performance improvement
Garbage Collection,Program
Comprehension andMachine Learning
Jeremy Singer,Gavin Brown,Mikel Lujan,Ian Watson
ProgramComprehensionJikes RVM Visualization
Appealing Visualization
IntelligentPretenuringGarbage Collector
PerceptronPretenuringPerceptrons
Preliminary Study
Wrap UpFuture Work
Conclusions
Conclusions
GC is like jugglingML enables intelligent pretenuringwatch this space!