Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Helper Locks for Fork-Join Parallel Programming Kunal Agrawal

Summary: Helper Locks for Fork-Join Parallel Programming
Kunal Agrawal
Charles E. Leiserson Jim Sukha
MIT Computer Science and Artificial Intelligence Laboratory
kunal@cse.wustl.edu cel@mit.edu sukhaj@mit.edu
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 computa-
tions augmented with helper locks and parallel regions. HELPER
supports the unbounded nesting of parallel regions. We provide the-
oretical completion-time and space-usage bounds for a design of
HELPER based on work stealing. Specifically, let V be the number


Source: Agrawal, Kunal - Department of Computer Science and Engineering, Washington University in St. Louis
Leiserson, Charles E. - Computer Science and Artificial Intelligence Laboratory & Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology (MIT)


Collections: Computer Technologies and Information Sciences