Sciweavers

PPOPP
2010
ACM

Helper locks for fork-join parallel programming

13 years 6 months ago
Helper locks for fork-join parallel programming
Helper locks allow programs with large parallel critical sections, called parallel regions, to execute more efficiently by enlisting processors that might otherwise be waiting on the helper lock to aid in the execution of the parallel region. Suppose that a processor p is executing a parallel region A after having acquired the lock L protecting A. If another processor p tries to acquire L, then instead of blocking and waiting for p to complete A, processor p joins p to help it complete A. Additional processors not blocked on L may also help to execute A. The HELPER runtime system can execute fork-join computations augmented with helper locks and parallel regions. HELPER supports the unbounded nesting of parallel regions. We provide theoretical completion-time and space-usage bounds for a design of HELPER based on work stealing. Specifically, let V be the number of parallel regions in a computation, let T1 be its work, and let eT be its "aggregate span" -- the sum of the span...
Kunal Agrawal, Charles E. Leiserson, Jim Sukha
Added 18 Oct 2010
Updated 18 Oct 2010
Type Conference
Year 2010
Where PPOPP
Authors Kunal Agrawal, Charles E. Leiserson, Jim Sukha
Comments (0)