Proceedings of the 4th ACM SIGPLAN International Workshop on Machine Learning and Programming Languages 2020
DOI: 10.1145/3394450.3397469
|View full text |Cite
|
Sign up to set email alerts
|

Learned garbage collection

Abstract: Several programming languages use garbage collectors (GCs) to automatically manage memory for the programmer. Such collectors must decide when to look for unreachable objects to free, which can have a large performance impact on some applications. In this preliminary work, we propose a design for a learned garbage collector that autonomously learns over time when to perform collections. By using reinforcement learning, our design can incorporate user-defined reward functions, allowing an autonomous garbage col… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
5
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
7
1

Relationship

2
6

Authors

Journals

citations
Cited by 9 publications
(5 citation statements)
references
References 24 publications
0
5
0
Order By: Relevance
“…A similar approach in [26] describes a dynamic memory leak detection method for dynamic languages. The work in [27] introduces a garbage collector, which is enabled by machine learning methods to allow efficient memory deallocation. The authors of [28] propose a hardware-software co-optimization memory management scheme for dynamic languages, including Python.…”
Section: Related Workmentioning
confidence: 99%
“…A similar approach in [26] describes a dynamic memory leak detection method for dynamic languages. The work in [27] introduces a garbage collector, which is enabled by machine learning methods to allow efficient memory deallocation. The authors of [28] propose a hardware-software co-optimization memory management scheme for dynamic languages, including Python.…”
Section: Related Workmentioning
confidence: 99%
“…Software debugging has been found to consume upwards of 50% of all software development time [14]. Machine programming (MP), the field concerned with the automation of all aspects of software development [21], has seen advances in software development related tasks such as code auto-completion [12,24,54], code generation and program synthesis [6,7,18,22,23,26,28,31,34,37,39,41,43,45,52,55,59,60], program transformation [20,36] and repair [4,8,16,32,57], code similarity and recommendation [35,58], learned optimizations [10,38,44], and performance regression testing [3,5,30,42,53], amongst others.…”
Section: Introductionmentioning
confidence: 99%
“…In recent years, modern machine learning (ML) techniques have seen increasing interest in the computer systems community (Maas, 2020), including black box techniques such as neural networks. Research has demonstrated that ML can be successfully applied to improve systems tasks such as caching (Song et al, 2020;Liu et al, 2020;Zhou and Maas, 2021), job scheduling (Mao et al, 2019), memory management Cen et al, 2020), and prefetching (Hashemi et al, 2018). The general strategy of these approaches is to replace a hard-coded system policy, such as a caching policy or a branch predictor, with a learned model.…”
Section: Introductionmentioning
confidence: 99%