Your SlideShare is downloading. ×
0
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Garbage Collection, Program Comprehension and Machine Learning
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Garbage Collection, Program Comprehension and Machine Learning

495

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
495
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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

×