27
Garbage Collection, Program Comprehension and Machine Learning Jeremy Singer, Gavin Brown, Mikel Lujan, Ian Watson Program Comprehension Jikes RVM Visualization Appealing Visualization Intelligent Pretenuring Garbage Collector Perceptron Pretenuring Perceptrons Preliminary Study Wrap Up Future Work Conclusions Garbage Collection, Program Comprehension and Machine Learning Jeremy Singer Gavin Brown Mikel Lujan Ian Watson School of Computer Science, University of Manchester

Garbage Collection, Program Comprehension and Machine Learning

  • Upload
    butest

  • View
    505

  • Download
    3

Embed Size (px)

Citation preview

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!