A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors
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...
Main Authors: | , , |
---|---|
Other Authors: | |
Format: | Text |
Language: | English |
Subjects: | |
Online Access: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.9198 http://www.cs.technion.ac.il/~gabik/publications/StackScanning-VEE2009.pdf |
id |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.154.9198 |
---|---|
record_format |
openpolar |
spelling |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.154.9198 2023-05-15T18:32:43+02:00 A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors Gabriel Kliot Erez Petrank Bjarne Steensgaard The Pennsylvania State University CiteSeerX Archives application/pdf http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.9198 http://www.cs.technion.ac.il/~gabik/publications/StackScanning-VEE2009.pdf en eng http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.9198 http://www.cs.technion.ac.il/~gabik/publications/StackScanning-VEE2009.pdf Metadata may be used without restrictions as long as the oai identifier remains attached to it. http://www.cs.technion.ac.il/~gabik/publications/StackScanning-VEE2009.pdf Algorithms Design Performance Reliability Keywords Stack scanning Lock-free data structures Incremental and Concurrent garbage collection text ftciteseerx 2016-01-07T15:28:57Z 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#. Text The Pointers Unknown |
institution |
Open Polar |
collection |
Unknown |
op_collection_id |
ftciteseerx |
language |
English |
topic |
Algorithms Design Performance Reliability Keywords Stack scanning Lock-free data structures Incremental and Concurrent garbage collection |
spellingShingle |
Algorithms Design Performance Reliability Keywords Stack scanning Lock-free data structures Incremental and Concurrent garbage collection Gabriel Kliot Erez Petrank Bjarne Steensgaard A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors |
topic_facet |
Algorithms Design Performance Reliability Keywords Stack scanning Lock-free data structures Incremental and Concurrent garbage collection |
description |
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#. |
author2 |
The Pennsylvania State University CiteSeerX Archives |
format |
Text |
author |
Gabriel Kliot Erez Petrank Bjarne Steensgaard |
author_facet |
Gabriel Kliot Erez Petrank Bjarne Steensgaard |
author_sort |
Gabriel Kliot |
title |
A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors |
title_short |
A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors |
title_full |
A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors |
title_fullStr |
A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors |
title_full_unstemmed |
A Lock-Free, Concurrent, and Incremental Stack Scanning for Garbage Collectors |
title_sort |
lock-free, concurrent, and incremental stack scanning for garbage collectors |
url |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.9198 http://www.cs.technion.ac.il/~gabik/publications/StackScanning-VEE2009.pdf |
genre |
The Pointers |
genre_facet |
The Pointers |
op_source |
http://www.cs.technion.ac.il/~gabik/publications/StackScanning-VEE2009.pdf |
op_relation |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.9198 http://www.cs.technion.ac.il/~gabik/publications/StackScanning-VEE2009.pdf |
op_rights |
Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
_version_ |
1766216904981086208 |