Proceedings of the 2009 International Symposium on Memory Management 2009
DOI: 10.1145/1542431.1542434
|View full text |Cite
|
Sign up to set email alerts
|

A new approach to parallelising tracing algorithms

Abstract: Tracing algorithms visit reachable nodes in a graph and are central to activities such as garbage collection, marshalling etc. Traditional sequential algorithms use a worklist, replacing a nodes with their unvisited children. Previous work on parallel tracing is processororiented in associating one worklist per processor: worklist insertion and removal requires no locking, and load balancing requires only occasional locking. However, since multiple queues may contain the same node, significant locking is neces… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
6
0

Year Published

2011
2011
2020
2020

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 15 publications
(6 citation statements)
references
References 21 publications
0
6
0
Order By: Relevance
“…al. [20] partition the memory and create a work list per region. A processor must own a work list to trace the local objects; consequently, load balancing is achieved by stealing a complete work list.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…al. [20] partition the memory and create a work list per region. A processor must own a work list to trace the local objects; consequently, load balancing is achieved by stealing a complete work list.…”
Section: Related Workmentioning
confidence: 99%
“…Several memory-oriented tracing techniques have been devised to maintain object locality. They segregate the heap into partitions and each GC thread processes local objects in a partition [22,20]. However, these techniques are unaware whether the set of connected objects terminates or continues to cross other memory nodes.…”
Section: Introductionmentioning
confidence: 99%
“…This is the scheme implemented in OpenJDK, and Section 3 shows that it doesn't scale well. Oancea et al [12] associate work-lists to dedicated partitions of the heap. Only the owner of a worklist (the worker thread that works exclusively on that worklist) traces the objects in the corresponding heap partition.…”
Section: Related Workmentioning
confidence: 99%
“…Alternatively, Shuf et al [25] push references to remote objects into a shared queue enabling other threads to process them. For load balancing, GC threads need to lock unprocessed queues to trace live objects [21]. However, a memory segment boundary might not match the physical memory page size nor it is assigned to local threads; therefore, further locality improvements are required.…”
Section: Related Workmentioning
confidence: 99%