The document discusses using machine learning techniques like perceptrons to enable intelligent pretenuring in garbage collection. It presents metaphors to visualize garbage collection and describes experiments using perceptrons trained on SPEC benchmarks to predict object lifetimes, achieving a misprediction rate under 25% on average. Future work proposed includes using different predictors, experiments, and integrating the techniques online.
Garbage Collection, Program Comprehension and Machine Learning
1. Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Garbage Collection,
Gavin Brown,
Mikel Lujan,
Ian Watson Program Comprehension
Program
Comprehension
Jikes RVM Visualization
and Machine Learning
Appealing Visualization
Intelligent
Pretenuring
Garbage Collector
Perceptron
Jeremy Singer Gavin Brown
Pretenuring
Perceptrons
Mikel Lujan Ian Watson
Preliminary Study
Wrap Up
Future Work
School of Computer Science, University of Manchester
Conclusions
2. Outline
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
1 Program Comprehension
Mikel Lujan,
Ian Watson
Program 2 Intelligent Pretenuring
Comprehension
Jikes RVM Visualization
Appealing Visualization
Intelligent
Pretenuring
3 Perceptron Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
4 Wrap Up
Preliminary Study
Wrap Up
Future Work
Conclusions
3. Outline
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
1 Program Comprehension
Mikel Lujan,
Ian Watson
Program 2 Intelligent Pretenuring
Comprehension
Jikes RVM Visualization
Appealing Visualization
Intelligent
Pretenuring
3 Perceptron Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
4 Wrap Up
Preliminary Study
Wrap Up
Future Work
Conclusions
4. Jikes RVM
Garbage Collection,
Program
Comprehension and Research Virtual Machine (RVM)
Machine Learning
Jeremy Singer,
from IBM Research, now open-source
Gavin Brown,
Mikel Lujan, on sourceforge.net
Ian Watson
Program
easy-to-modify adaptive compilation
Comprehension
Jikes RVM Visualization
environment for/in Java
Appealing Visualization
Intelligent
has research respectability—100’s of
Pretenuring
Garbage Collector papers use it
Perceptron
Pretenuring good platform for GC research
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
5. Visualizing Adaptive
Subsystems
Garbage Collection,
Program
Comprehension and monitor activity due to
Machine Learning
Jeremy Singer,
compilation/gc/other
Gavin Brown,
Mikel Lujan,
Ian Watson
dynamic concept assignment
techniques
Program
Comprehension
Jikes RVM Visualization
Appealing Visualization
Intelligent
Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
6. Feedback from ACM
Symposium
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
Program
your visual metaphors are ...
Comprehension
Jikes RVM Visualization
unappealing
Appealing Visualization
non-intuitive
Intelligent
Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
7. Better Visualization
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
interactivity
Program
Comprehension
Jikes RVM Visualization
familiar objects as metaphor for
Appealing Visualization
unfamiliar
Intelligent
Pretenuring
Garbage Collector
3-d
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
8. Visualizing Garbage Collection
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
mutator
Program
objects
Comprehension
Jikes RVM Visualization
Appealing Visualization
spaces (generations)
Intelligent
Pretenuring
collection
Garbage Collector
Perceptron promotion
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
9. Metaphor for Garbage
Collection
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
mutator: juggler
Program
objects: jugglable artefacts
Comprehension
Jikes RVM Visualization
Appealing Visualization
spaces (generations): labelled boxes
Intelligent
Pretenuring
collection: tidying boxes
Garbage Collector
Perceptron promotion: moving between boxes
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
10. Metaphor Applications
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
Program
Comprehension
EPSRC CS Writing competition
Jikes RVM Visualization
Appealing Visualization illustrate idea of intelligent pretenuring
Intelligent
Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
11. Outline
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
1 Program Comprehension
Mikel Lujan,
Ian Watson
Program 2 Intelligent Pretenuring
Comprehension
Jikes RVM Visualization
Appealing Visualization
Intelligent
Pretenuring
3 Perceptron Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
4 Wrap Up
Preliminary Study
Wrap Up
Future Work
Conclusions
12. Avoid live objects during
collection
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
processing live objects is wasted time
Program so long-lived objects should not start
Comprehension
Jikes RVM Visualization
Appealing Visualization
in nursery
Intelligent
Pretenuring
pretenuring—put them in mature
Garbage Collector
Perceptron
space immediately
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
13. Predicting Object Lifetimes
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson heuristics to detect long-lived objects
Program
Comprehension based on allocation site
Jikes RVM Visualization
Appealing Visualization
based on object connectivity
Intelligent
Pretenuring
Garbage Collector
can be adaptive heuristics
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
14. Automatic Heuristic
Generation
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
use Machine Learning
Program
select an algorithm (there are plenty!)
Comprehension
Jikes RVM Visualization
Appealing Visualization
select some inputs (tricky!)
Intelligent
Pretenuring
train the algorithm on the inputs
Garbage Collector
Perceptron at last, a heuristic emerges!
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
15. Outline
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
1 Program Comprehension
Mikel Lujan,
Ian Watson
Program 2 Intelligent Pretenuring
Comprehension
Jikes RVM Visualization
Appealing Visualization
Intelligent
Pretenuring
3 Perceptron Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
4 Wrap Up
Preliminary Study
Wrap Up
Future Work
Conclusions
16. Perceptrons
Garbage Collection,
Program
Comprehension and a number of inputs x1 , x2 , . . . , xn
Machine Learning
Jeremy Singer,
weight per input w1 , w2 , . . . , wn
Gavin Brown,
Mikel Lujan, compute i wi xi
Ian Watson
Program
if sum > threshold then output 1, else
Comprehension
Jikes RVM Visualization
output 0
Appealing Visualization
Intelligent
Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
17. Inputs
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
obtain info about objects at allocation
Gavin Brown,
Mikel Lujan,
Ian Watson
instrument Jikes RVM and MMTk
Program dump data to file, for postprocessing
Comprehension
Jikes RVM Visualization
Appealing Visualization
typical inputs
Intelligent object size
Pretenuring
Garbage Collector
number of fields/methods
Perceptron depth in inheritance tree
Pretenuring
Perceptrons in package java.* or
Preliminary Study
Wrap Up
com.ibm.jikesrvm.*
Future Work
Conclusions
18. Output
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
keep record of every nursery-allocated
Mikel Lujan,
Ian Watson object
Program
Comprehension
track object promotions to mature
Jikes RVM Visualization
Appealing Visualization
space
Intelligent
Pretenuring at end, dump out object attributes and
Garbage Collector
Perceptron
...
Pretenuring
Perceptrons
Preliminary Study
whether or not object was promoted
Wrap Up
Future Work
Conclusions
19. Experiments
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
use some benchmarks from
Program
SPECjvm98
Comprehension
Jikes RVM Visualization
for each benchmark
Appealing Visualization
Intelligent
train perceptron on first 50% of
Pretenuring
Garbage Collector
allocations
Perceptron
test perceptron on second 50%
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
20. Prediction Types
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
positive means predict mature,
Mikel Lujan,
Ian Watson negative immature
Program
Comprehension
prediction either true or false
Jikes RVM Visualization
Appealing Visualization
Intelligent true false
Pretenuring
Garbage Collector positive good terrible!
Perceptron
Pretenuring negative good acceptable
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
21. Results
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown, benchmark 200check 201compress
Mikel Lujan,
Ian Watson allocs 87768 100749
Program
Comprehension
mispreds 19748 19785
Jikes RVM Visualization
Appealing Visualization
tps 14733 14892
Intelligent
Pretenuring
fps 75 828
Garbage Collector
tns 53287 66072
Perceptron
Pretenuring
Perceptrons
fns 19673 18957
Preliminary Study
Wrap Up
Future Work
Conclusions
22. More Results
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown, benchmark 205raytrace
Mikel Lujan,
Ian Watson allocs 4.3m
Program
Comprehension
mispreds 1306
Jikes RVM Visualization
Appealing Visualization
tps 95
Intelligent
Pretenuring
fps 295
Garbage Collector
tns 4.3m
Perceptron
Pretenuring
Perceptrons
fns 1011
Preliminary Study
Wrap Up
Future Work
Conclusions
23. Outline
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
1 Program Comprehension
Mikel Lujan,
Ian Watson
Program 2 Intelligent Pretenuring
Comprehension
Jikes RVM Visualization
Appealing Visualization
Intelligent
Pretenuring
3 Perceptron Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
4 Wrap Up
Preliminary Study
Wrap Up
Future Work
Conclusions
24. Future Work—better
experiments
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
Program
train on one benchmark, test on
Comprehension
Jikes RVM Visualization
another
Appealing Visualization
Intelligent use DaCapo instead of SPEC
Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
25. Future Work—better predictors
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson change perceptron threshold
Program
Comprehension different inputs?
Jikes RVM Visualization
Appealing Visualization
vote between perceptron ensemble
Intelligent
Pretenuring
Garbage Collector
multilayer perceptrons
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
26. Future Work—use predictions
online
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
incorporate learning technique into
Program
RVM
Comprehension
Jikes RVM Visualization
Appealing Visualization
either static or adaptive heuristic
Intelligent
Pretenuring
pretenure objects
Garbage Collector
Perceptron
measure performance improvement
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions
27. Conclusions
Garbage Collection,
Program
Comprehension and
Machine Learning
Jeremy Singer,
Gavin Brown,
Mikel Lujan,
Ian Watson
Program
GC is like juggling
Comprehension
Jikes RVM Visualization ML enables intelligent pretenuring
Appealing Visualization
Intelligent watch this space!
Pretenuring
Garbage Collector
Perceptron
Pretenuring
Perceptrons
Preliminary Study
Wrap Up
Future Work
Conclusions