SlideShare a Scribd company logo
1 of 14
Machine Learning for
Garbage Collection



     James Thomas
 




     MSc Advanced Computer Science
 




     “Machine Learning for Garbage
 


     Collection”

     Gavin Brown & Mikel Lujan
 
Garbage Collection
     Traditional manual memory management
 


     by the programmer is prone to error

     Automatic memory management by the
 


     runtime environment, takes out the
     “garbage”

     Stop the World GC, in Object Orientated
 


     environment (Java)

     GC time in this context is dead time,
 


     algorithm extremely important for
     efficiency
Generational Garbage
Collection

     Generational hypothesis, “The majority of
 


     objects die young” - D. Ungar, 1984

     Separate heap objects into different
 


     generations, vary collection frequency.
     Reduce scanning and pause time.

     Copying time increases GC time, copying
 


     reserve reduces heap size.

     Allocate directly into mature generation?
 
Generational Garbage
Collection
Machine Learning
Introduction

     Automatically extract patterns and
 


     processes underlying data generation

     Classification, Regression, Unsupervised
 


     learning (Clustering etc.)

     Algorithm extremely important
 




     “Use ML to predict whether an object will
 


     live long enough to be tenured into the
     mature space”
Project Progress
     Existing literature review used to
 


     generate hypothesises about which
     heuristics could indicate object lifetime
     behaviour

     Modified Jikes RVM to trace object
 


     allocation and tenuring data

     DaCapo benchmarks, varying heap sizes.
 




     Mutual Information used to test
 


     correlation of example heuristics as
     lifetime predictor.
Mutual Information sample
results
Mutual Information sample
results
Current Project Results
     Allocation site, allocation method and
 


     method trace are good object lifetime
     indicators for both scalars and arrays

     Object type exhibits high MI for scalar,
 


     but less so for array, objects

     Object size exhibits high MI for array
 


     objects, but minimal for scalars.

     Generalised object type name
 


     characteristics exists e.g. Iterator or
     Enum classes are short lived.
Machine Learning plan

 Treat as classification problem not



regression, predict tenuring decision not
exact object lifetime.

 Mixture of categorical and ordinal data



makes learning more complex.

 Lack of linear separability between



classes.

 Large alphabets for many attributes, e.g.



type, reduces generality of advice.
Decision Tree

 Machine learning technique using tree



structure to represent classifier.

    Branch nodes consist of attribute tests





    Branches are attributes values





    Leaf nodes represent classification





 Can handle our complex data input



characteristics, e.g. categorical data.
Future Project Plan
 Begin with offline learning. Train decision



tree offline and plug results back into Jikes
RVM for execution. Evaluate effect on
garbage collection and benchmark
execution.

 Consider online learning within the JVM,



training stage now done during application
execution not before. Performance impact
of this stage is crucial.

 Extensions? Increased granularity of object



lifetime prediction.
Current Project
Conclusions

  Mutual Information can be used to



correlate heuristics from with object
lifetimes, not previously used in the
literature, and confirm hypothesises.

 Previously unknown heuristic found.



Objects with the same generalised object
type have similar lifetime characteristics.

 Decision tree may be appropriate for



learning with available data.
Questions?

More Related Content

What's hot

M.S. Thesis Defense
M.S. Thesis DefenseM.S. Thesis Defense
M.S. Thesis Defensepbecker1987
 
My PhD thesis presentation slides
My PhD thesis presentation slidesMy PhD thesis presentation slides
My PhD thesis presentation slidesMattia Bosio
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationChristian Glahn
 
Masters Thesis Defense Presentation
Masters Thesis Defense PresentationMasters Thesis Defense Presentation
Masters Thesis Defense Presentationprajon
 
Thesis Powerpoint
Thesis PowerpointThesis Powerpoint
Thesis Powerpointneha47
 
Presentation of PhD Research Proposal (Format).ppt
Presentation of PhD Research Proposal (Format).pptPresentation of PhD Research Proposal (Format).ppt
Presentation of PhD Research Proposal (Format).pptHassanRashid51
 
Phd interview
Phd interviewPhd interview
Phd interviewTy Zhang
 
Masters Thesis Defense Presentation
Masters Thesis Defense PresentationMasters Thesis Defense Presentation
Masters Thesis Defense Presentationnancyanne
 
Msc Proposal Presentation
Msc Proposal PresentationMsc Proposal Presentation
Msc Proposal PresentationLighton Phiri
 
Evidence Table & Evidence Summary form RSMITH
Evidence Table & Evidence Summary form RSMITHEvidence Table & Evidence Summary form RSMITH
Evidence Table & Evidence Summary form RSMITHRobert Smith, BSN RN
 
Final Phd Thesis Presentation
Final Phd Thesis PresentationFinal Phd Thesis Presentation
Final Phd Thesis PresentationFrancesco Mureddu
 
PhD Proposal Presentation
PhD Proposal PresentationPhD Proposal Presentation
PhD Proposal PresentationUlrich Eck
 
Lecture: Ontologies and the Semantic Web
Lecture: Ontologies and the Semantic WebLecture: Ontologies and the Semantic Web
Lecture: Ontologies and the Semantic WebMarina Santini
 
Research proposal flow chart
Research proposal flow chartResearch proposal flow chart
Research proposal flow chartranatahan
 
Personal Presentation for PhD Admission
Personal Presentation for PhD Admission Personal Presentation for PhD Admission
Personal Presentation for PhD Admission MD. Badiuzzaman Bodi
 
Thesis PROPOSAL Defense Presentation - March 26
Thesis PROPOSAL Defense Presentation - March 26 Thesis PROPOSAL Defense Presentation - March 26
Thesis PROPOSAL Defense Presentation - March 26 Hermes Huang
 
PhD Pre Application Presentation
 PhD Pre Application Presentation PhD Pre Application Presentation
PhD Pre Application PresentationMichelle Chen
 
My Thesis Defense Presentation
My Thesis Defense PresentationMy Thesis Defense Presentation
My Thesis Defense PresentationDavid Onoue
 

What's hot (20)

M.S. Thesis Defense
M.S. Thesis DefenseM.S. Thesis Defense
M.S. Thesis Defense
 
My PhD thesis presentation slides
My PhD thesis presentation slidesMy PhD thesis presentation slides
My PhD thesis presentation slides
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense Presentation
 
Masters Thesis Defense Presentation
Masters Thesis Defense PresentationMasters Thesis Defense Presentation
Masters Thesis Defense Presentation
 
Thesis Powerpoint
Thesis PowerpointThesis Powerpoint
Thesis Powerpoint
 
Presentation of PhD Research Proposal (Format).ppt
Presentation of PhD Research Proposal (Format).pptPresentation of PhD Research Proposal (Format).ppt
Presentation of PhD Research Proposal (Format).ppt
 
Phd interview
Phd interviewPhd interview
Phd interview
 
PhD thesis presentation
PhD thesis presentationPhD thesis presentation
PhD thesis presentation
 
Masters Thesis Defense Presentation
Masters Thesis Defense PresentationMasters Thesis Defense Presentation
Masters Thesis Defense Presentation
 
Msc Proposal Presentation
Msc Proposal PresentationMsc Proposal Presentation
Msc Proposal Presentation
 
Evidence Table & Evidence Summary form RSMITH
Evidence Table & Evidence Summary form RSMITHEvidence Table & Evidence Summary form RSMITH
Evidence Table & Evidence Summary form RSMITH
 
Final Phd Thesis Presentation
Final Phd Thesis PresentationFinal Phd Thesis Presentation
Final Phd Thesis Presentation
 
PhD Proposal Presentation
PhD Proposal PresentationPhD Proposal Presentation
PhD Proposal Presentation
 
Methodology
Methodology Methodology
Methodology
 
Lecture: Ontologies and the Semantic Web
Lecture: Ontologies and the Semantic WebLecture: Ontologies and the Semantic Web
Lecture: Ontologies and the Semantic Web
 
Research proposal flow chart
Research proposal flow chartResearch proposal flow chart
Research proposal flow chart
 
Personal Presentation for PhD Admission
Personal Presentation for PhD Admission Personal Presentation for PhD Admission
Personal Presentation for PhD Admission
 
Thesis PROPOSAL Defense Presentation - March 26
Thesis PROPOSAL Defense Presentation - March 26 Thesis PROPOSAL Defense Presentation - March 26
Thesis PROPOSAL Defense Presentation - March 26
 
PhD Pre Application Presentation
 PhD Pre Application Presentation PhD Pre Application Presentation
PhD Pre Application Presentation
 
My Thesis Defense Presentation
My Thesis Defense PresentationMy Thesis Defense Presentation
My Thesis Defense Presentation
 

Similar to My thesis progress presentation

Memory efficient java tutorial practices and challenges
Memory efficient java tutorial practices and challengesMemory efficient java tutorial practices and challenges
Memory efficient java tutorial practices and challengesmustafa sarac
 
Efficient Management for Hybrid Memory in Managed Language Runtime
Efficient Management for Hybrid Memory in Managed Language RuntimeEfficient Management for Hybrid Memory in Managed Language Runtime
Efficient Management for Hybrid Memory in Managed Language RuntimeChenxi Wang
 
Strata San Jose 2016: Scalable Ensemble Learning with H2O
Strata San Jose 2016: Scalable Ensemble Learning with H2OStrata San Jose 2016: Scalable Ensemble Learning with H2O
Strata San Jose 2016: Scalable Ensemble Learning with H2OSri Ambati
 
GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...
GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...
GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...Konstantinos Demertzis
 
Java programing considering performance
Java programing considering performanceJava programing considering performance
Java programing considering performanceRoger Xia
 
A novel design of a parallel machine learnt
A novel design of a parallel machine learntA novel design of a parallel machine learnt
A novel design of a parallel machine learntcseij
 
A Novel Design of a Parallel Machine Learnt Generational Garbage Collector
A Novel Design of a Parallel Machine Learnt Generational Garbage Collector A Novel Design of a Parallel Machine Learnt Generational Garbage Collector
A Novel Design of a Parallel Machine Learnt Generational Garbage Collector cseij
 
Learnometrics: Metrics for Learning Objects
Learnometrics: Metrics for Learning ObjectsLearnometrics: Metrics for Learning Objects
Learnometrics: Metrics for Learning ObjectsXavier Ochoa
 
Java Garbage Collection, Monitoring, and Tuning
Java Garbage Collection, Monitoring, and TuningJava Garbage Collection, Monitoring, and Tuning
Java Garbage Collection, Monitoring, and TuningCarol McDonald
 
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...IEEEFINALYEARSTUDENTPROJECT
 
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...IEEEMEMTECHSTUDENTSPROJECTS
 
IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...
IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...
IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...IEEEFINALYEARSTUDENTPROJECTS
 
Week3-Deep Neural Network (DNN).pptx
Week3-Deep Neural Network (DNN).pptxWeek3-Deep Neural Network (DNN).pptx
Week3-Deep Neural Network (DNN).pptxfahmi324663
 
Probabilistic breakdown of assembly graphs
Probabilistic breakdown of assembly graphsProbabilistic breakdown of assembly graphs
Probabilistic breakdown of assembly graphsc.titus.brown
 
Optimizing your java applications for multi core hardware
Optimizing your java applications for multi core hardwareOptimizing your java applications for multi core hardware
Optimizing your java applications for multi core hardwareIndicThreads
 
DLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningDLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningBrodmann17
 
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learning
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learningIEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learning
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learningIEEEBEBTECHSTUDENTPROJECTS
 
Weave-D - 2nd Progress Evaluation Presentation
Weave-D - 2nd Progress Evaluation PresentationWeave-D - 2nd Progress Evaluation Presentation
Weave-D - 2nd Progress Evaluation Presentationlasinducharith
 
Action Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene GraphsAction Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene GraphsSangmin Woo
 

Similar to My thesis progress presentation (20)

Memory efficient java tutorial practices and challenges
Memory efficient java tutorial practices and challengesMemory efficient java tutorial practices and challenges
Memory efficient java tutorial practices and challenges
 
Efficient Management for Hybrid Memory in Managed Language Runtime
Efficient Management for Hybrid Memory in Managed Language RuntimeEfficient Management for Hybrid Memory in Managed Language Runtime
Efficient Management for Hybrid Memory in Managed Language Runtime
 
Strata San Jose 2016: Scalable Ensemble Learning with H2O
Strata San Jose 2016: Scalable Ensemble Learning with H2OStrata San Jose 2016: Scalable Ensemble Learning with H2O
Strata San Jose 2016: Scalable Ensemble Learning with H2O
 
GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...
GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...
GeoAI: A Model-Agnostic Meta-Ensemble Zero-Shot Learning Method for Hyperspec...
 
Java programing considering performance
Java programing considering performanceJava programing considering performance
Java programing considering performance
 
A novel design of a parallel machine learnt
A novel design of a parallel machine learntA novel design of a parallel machine learnt
A novel design of a parallel machine learnt
 
A Novel Design of a Parallel Machine Learnt Generational Garbage Collector
A Novel Design of a Parallel Machine Learnt Generational Garbage Collector A Novel Design of a Parallel Machine Learnt Generational Garbage Collector
A Novel Design of a Parallel Machine Learnt Generational Garbage Collector
 
Learnometrics: Metrics for Learning Objects
Learnometrics: Metrics for Learning ObjectsLearnometrics: Metrics for Learning Objects
Learnometrics: Metrics for Learning Objects
 
PhD Defense
PhD DefensePhD Defense
PhD Defense
 
Java Garbage Collection, Monitoring, and Tuning
Java Garbage Collection, Monitoring, and TuningJava Garbage Collection, Monitoring, and Tuning
Java Garbage Collection, Monitoring, and Tuning
 
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
 
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
2014 IEEE JAVA DATA MINING PROJECT Mining weakly labeled web facial images fo...
 
IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...
IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...
IEEE 2014 JAVA DATA MINING PROJECTS Mining weakly labeled web facial images f...
 
Week3-Deep Neural Network (DNN).pptx
Week3-Deep Neural Network (DNN).pptxWeek3-Deep Neural Network (DNN).pptx
Week3-Deep Neural Network (DNN).pptx
 
Probabilistic breakdown of assembly graphs
Probabilistic breakdown of assembly graphsProbabilistic breakdown of assembly graphs
Probabilistic breakdown of assembly graphs
 
Optimizing your java applications for multi core hardware
Optimizing your java applications for multi core hardwareOptimizing your java applications for multi core hardware
Optimizing your java applications for multi core hardware
 
DLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningDLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep Learning
 
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learning
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learningIEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learning
IEEE 2014 MATLAB IMAGE PROCESSING PROJECTS Scale adaptive dictionary learning
 
Weave-D - 2nd Progress Evaluation Presentation
Weave-D - 2nd Progress Evaluation PresentationWeave-D - 2nd Progress Evaluation Presentation
Weave-D - 2nd Progress Evaluation Presentation
 
Action Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene GraphsAction Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene Graphs
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

My thesis progress presentation

  • 1. Machine Learning for Garbage Collection James Thomas  MSc Advanced Computer Science  “Machine Learning for Garbage  Collection” Gavin Brown & Mikel Lujan 
  • 2. Garbage Collection Traditional manual memory management  by the programmer is prone to error Automatic memory management by the  runtime environment, takes out the “garbage” Stop the World GC, in Object Orientated  environment (Java) GC time in this context is dead time,  algorithm extremely important for efficiency
  • 3. Generational Garbage Collection Generational hypothesis, “The majority of  objects die young” - D. Ungar, 1984 Separate heap objects into different  generations, vary collection frequency. Reduce scanning and pause time. Copying time increases GC time, copying  reserve reduces heap size. Allocate directly into mature generation? 
  • 5. Machine Learning Introduction Automatically extract patterns and  processes underlying data generation Classification, Regression, Unsupervised  learning (Clustering etc.) Algorithm extremely important  “Use ML to predict whether an object will  live long enough to be tenured into the mature space”
  • 6. Project Progress Existing literature review used to  generate hypothesises about which heuristics could indicate object lifetime behaviour Modified Jikes RVM to trace object  allocation and tenuring data DaCapo benchmarks, varying heap sizes.  Mutual Information used to test  correlation of example heuristics as lifetime predictor.
  • 9. Current Project Results Allocation site, allocation method and  method trace are good object lifetime indicators for both scalars and arrays Object type exhibits high MI for scalar,  but less so for array, objects Object size exhibits high MI for array  objects, but minimal for scalars. Generalised object type name  characteristics exists e.g. Iterator or Enum classes are short lived.
  • 10. Machine Learning plan Treat as classification problem not  regression, predict tenuring decision not exact object lifetime. Mixture of categorical and ordinal data  makes learning more complex. Lack of linear separability between  classes. Large alphabets for many attributes, e.g.  type, reduces generality of advice.
  • 11. Decision Tree Machine learning technique using tree  structure to represent classifier. Branch nodes consist of attribute tests  Branches are attributes values  Leaf nodes represent classification  Can handle our complex data input  characteristics, e.g. categorical data.
  • 12. Future Project Plan Begin with offline learning. Train decision  tree offline and plug results back into Jikes RVM for execution. Evaluate effect on garbage collection and benchmark execution. Consider online learning within the JVM,  training stage now done during application execution not before. Performance impact of this stage is crucial. Extensions? Increased granularity of object  lifetime prediction.
  • 13. Current Project Conclusions Mutual Information can be used to  correlate heuristics from with object lifetimes, not previously used in the literature, and confirm hypothesises. Previously unknown heuristic found.  Objects with the same generalised object type have similar lifetime characteristics. Decision tree may be appropriate for  learning with available data.