Sciweavers

IPPS
2007
IEEE

Task-pushing: a Scalable Parallel GC Marking Algorithm without Synchronization Operations

14 years 6 months ago
Task-pushing: a Scalable Parallel GC Marking Algorithm without Synchronization Operations
This paper describes a scalable parallel marking technique for garbage collection that does not employ any synchronization operation. To achieve good scalability, two major design issues have to be resolved in parallel marking algorithm, i.e., the overhead of synchronization operations and load balance. This paper presents taskpushing, a novel parallel marking algorithm where each thread proactively gives up its spare tasks to other threads. Enlightened by the idea of communicating sequential process (CSP), task-pushing arranges the computation into a process network, eliminating synchronization operations in the whole marking process. Load balance is achieved by dripping tasks from thread local mark-stack for other threads to execute. To the best of our knowledge, this is the first parallel marking algorithm that completely avoids the synchronization primitives. We evaluated task-pushing in aspects of queuing efficiency, load balancing strategy, synchronization overhead, and overall ...
Ming Wu, Xiao-Feng Li
Added 03 Jun 2010
Updated 03 Jun 2010
Type Conference
Year 2007
Where IPPS
Authors Ming Wu, Xiao-Feng Li
Comments (0)