Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
                            Garbag...
Outline
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
         ...
Outline
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
         ...
Jikes RVM
Garbage Collection,
     Program
Comprehension and            Research Virtual Machine (RVM)
 Machine Learning

...
Visualizing Adaptive
                          Subsystems
Garbage Collection,
     Program
Comprehension and            mo...
Feedback from ACM
                          Symposium
Garbage Collection,
     Program
Comprehension and
 Machine Learning...
Better Visualization
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Bro...
Visualizing Garbage Collection
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
   ...
Metaphor for Garbage
                          Collection
Garbage Collection,
     Program
Comprehension and
 Machine Lear...
Metaphor Applications
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Br...
Outline
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
         ...
Avoid live objects during
                          collection
Garbage Collection,
     Program
Comprehension and
 Machine...
Predicting Object Lifetimes
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Ga...
Automatic Heuristic
                          Generation
Garbage Collection,
     Program
Comprehension and
 Machine Learn...
Outline
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
         ...
Perceptrons
Garbage Collection,
     Program
Comprehension and            a number of inputs x1 , x2 , . . . , xn
 Machine...
Inputs
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
                           ...
Output
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
          ...
Experiments
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
    M...
Prediction Types
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
...
Results
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,          ...
More Results
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,     ...
Outline
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
         ...
Future Work—better
                          experiments
Garbage Collection,
     Program
Comprehension and
 Machine Learn...
Future Work—better predictors
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    ...
Future Work—use predictions
                          online
Garbage Collection,
     Program
Comprehension and
 Machine L...
Conclusions
Garbage Collection,
     Program
Comprehension and
 Machine Learning

   Jeremy Singer,
    Gavin Brown,
    M...
Upcoming SlideShare
Loading in …5
×

Garbage Collection, Program Comprehension and Machine Learning

754 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
754
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Garbage Collection, Program Comprehension and Machine Learning

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×