2016
DOI: 10.1145/2980983.2908106
|View full text |Cite
|
Sign up to set email alerts
|

Idle time garbage collection scheduling

Abstract: Efficient garbage collection is increasingly important in today's managed language runtime systems that demand low latency, low memory consumption, and high throughput. Garbage collection may pause the application for many milliseconds to identify live memory, free unused memory, and compact fragmented regions of memory, even when employing concurrent garbage collection. In animation-based applications that require 60 frames per second, these pause times may be observable, degrading user experience. This paper… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
12
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
3
3

Relationship

2
4

Authors

Journals

citations
Cited by 10 publications
(12 citation statements)
references
References 24 publications
0
12
0
Order By: Relevance
“…A detailed description of how to run the experiments and obtain the presented results can be found in the artifact [15].…”
Section: Methodsmentioning
confidence: 99%
“…A detailed description of how to run the experiments and obtain the presented results can be found in the artifact [15].…”
Section: Methodsmentioning
confidence: 99%
“…Memory management for managed languages. Several systems have proposed optimizing garbage collection for specific tasks ś for instance for big data systems [Gidra et al 2015;Maas et al 95:21 2016], taking advantage of idle mutator time [Degenbaev et al 2016], specializing to real-time and embedded systems with very low latency constraints [Bacon et al 2003]. Other work suggests arena-based allocation for moving bulky data out of the GC heap.…”
Section: Related Workmentioning
confidence: 99%
“…This happens not only because of its explicit overhead on CPU and memory cycles, but also because of implicit scheduling decisions by the OS and hardware with respect to CPU cores. Therefore, a potential approach to optimize GC cost per single VM is to take advantage of GC idleness and control the frequency of the core on which the concurrent collector thread is running [23,34]. Distributed Controls.…”
Section: Motivationmentioning
confidence: 99%
“…The latter is the trace of GC events throughout the program execution that produces the lowest GC cost [36]. How-ever, with the introduction of other system components into the cost equation (i.e., scheduling and CPU throttling), the GC scheduling can be tuned by hiding expensive GC operations inside of small, otherwise unused idle portions of application execution, which results in better overall execution [23]. For mobile devices, tuning the GC implementation to meet performance and power goals is exceptionally difficult, because per-app GC cost is defined as a function of several controls [23,34] such as: (i) the power manager reacting to CPU idle-time during memory-bound GC phases; (ii) VM configurations, GC algorithm and the heuristics controlling the heap size; and (iii) the workload and memory stress at run time.…”
Section: Global Collector and Energy Optimizationmentioning
confidence: 99%
See 1 more Smart Citation