ACM Home Page
Please provide us with feedback. Feedback
A lock-free, concurrent, and incremental stack scanning for garbage collectors
Full text PdfPdf (453 KB)
Source
ACM/Usenix International Conference On Virtual Execution Environments archive
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments table of contents
Washington, DC, USA
SESSION: Memory management table of contents
Pages 11-20  
Year of Publication: 2009
ISBN:978-1-60558-375-4
Authors
Gabriel Kliot  Technion - Israel Institute of Technology, Haifa, Israel
Erez Petrank  Technion - Israel Institute of Technology, Haifa, Israel
Bjarne Steensgaard  Microsoft Research, Redmond, WA, USA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 126,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1508293.1508296
What is a DOI?

ABSTRACT

Two major efficiency parameters for garbage collectors are the throughput overheads and the pause times that they introduce. Highly responsive systems need to use collectors with as short as possible pause times. Pause lengths have decreased significantly during the years, especially through the use of concurrent garbage collectors. For modern concurrent collectors, the longest pause is typically created by the need to atomically scan the runtime stack. All practical concurrent collectors that we are aware of must obtain a snapshot of the pointers on each thread's runtime stack, in order to reclaim objects correctly. To further reduce the length of the collector pauses, incremental stack scans were proposed. However, previous such methods employ locks to stop the mutator from accessing a stack frame while it is being scanned. Thus, these methods introduce a potential long and unpredictable pauses for a mutator thread. In this work we propose the first concurrent, incremental, and lock-free stack scanning for garbage collectors, allowing high responsiveness and support for programs that employ fine-synchronization to avoid locks. Our solution can be employed by all concurrent collectors that we are aware of, it is lock-free, it imposes a negligible overhead on the program execution, and it supports the special in-stack references existing in languages like C#.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
H. Azatchi and E.Petrank. Integrating Generations with Advanced Reference Counting Garbage Collectors. In CC, pages 185--199, 2003.
3
4
5
6
7
8
9
10
11
 
12
E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-The-Fly Garbage Collection: An Exercise in Cooperation. Lecture Notes in Computer Science, No. 46, 1976.
13
14
15
16
17
18
19
20
21
22
23
 
24
 
25
26
 
27
Guy L. Steele. Corrigendum: Multiprocessing compactifying garbage collection. CACM, 19(6):354, June 1976.
 
28
T. Yuasa, Y. Nakagawa, T. Komiya, and M. Yasugi. Return-Barrier. In Proc. of the International Lisp Conference, 2002.

Collaborative Colleagues:
Gabriel Kliot: colleagues
Erez Petrank: colleagues
Bjarne Steensgaard: colleagues