## On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs (2004)

### Cached

### Download Links

Venue: | IN PROCEEDINGS OF THEACM SYMPOSIUM ON PARALLEL ALGORITHMS AND ARCHITECTURES (SPAA |

Citations: | 9 - 2 self |

### BibTeX

@INPROCEEDINGS{Bender04on-the-flymaintenance,

author = {Michael A. Bender and Jeremy T. Fineman and Seth Gilbert and Charles E. Leiserson},

title = { On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs},

booktitle = {IN PROCEEDINGS OF THEACM SYMPOSIUM ON PARALLEL ALGORITHMS AND ARCHITECTURES (SPAA},

year = {2004},

pages = {133--144},

publisher = {}

}

### Years of Citing Articles

### OpenURL

### Abstract

A key capability of data-race detectors is to determine whether one thread executes logically in parallel with another or whether the threads must operate in series. This paper provides two algorithms, one serial and one parallel, to maintain series-parallel (SP) relationships “on the fly” for fork-join multithreaded programs. The serial SP-order algorithm runs in O(1) amortized time per operation. In contrast, the previously best algorithm requires a time per operation that is proportional to Tarjan’s functional inverse of Ackermann’s function. SP-order employs an order-maintenance data structure that allows us to implement a more efficient “English-Hebrew ” labeling scheme than was used in earlier race detectors, which immediately yields an improved determinacy-race detector. In particular, any fork-join program running in T1 time on a single processor can be checked on the fly for determinacy races in

### Citations

8985 |
Introduction to algorithms
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ...nd U (4) , U (3) , and U (2) in that order into the Hebrew ordering. SP-bags The SP-bags algorithm [20] provides an efficient means for implementing the local tier using a disjoint-set data structure =-=[14, 29]-=-. In SP-bags, each Cilk procedure maintains two bags (sets) of threads with the following contents at any given time: 7 • The S-bag of a procedure F contains the descendant threads of F that logically... |

618 |
Data Structures and Network Algorithms
- Tarjan
- 1996
(Show Context)
Citation Context ...ctly in the face of multiple FINDTRACE operations. The implementation of SP-bags proposed in [20] uses the classical disjoint-set data structure with “union by rank” and “path compression” heuristics =-=[14, 29, 31]-=-. On a single processor, this data structure allows all local-tier operations to be supported in amortized O(α(m, n)) time, where α is Tarjan’s functional inverse of Ackermann’s function, m is the num... |

578 | Cilk: An efficient multithreaded runtime system - Blumofe, Joerg, et al. - 1996 |

424 | Scheduling Multithreaded Computations by Work Stealing
- Blumofe, Leiserson
- 1994
(Show Context)
Citation Context ...lgorithms. As can be seen from the table, SP-order attains asymptotic optimality. We also present a parallel SP-maintenence algorithm which is designed to run with a Cilk-like work-stealing scheduler =-=[12, 21]-=-. Our SP-hybrid algorithm consists of two tiers: a global tier based on our SP-order algorithm, and a local tier based on the Nondeterminator’s SP-bags algorithm. Suppose that a fork-join program has ... |

348 | The implementation of the Cilk-5 multithreaded language - Frigo, Leiserson, et al. - 1998 |

264 |
Efficiency of a good but not linear set union algorithm
- Tarjan
- 1975
(Show Context)
Citation Context ...nd U (4) , U (3) , and U (2) in that order into the Hebrew ordering. SP-bags The SP-bags algorithm [20] provides an efficient means for implementing the local tier using a disjoint-set data structure =-=[14, 29]-=-. In SP-bags, each Cilk procedure maintains two bags (sets) of threads with the following contents at any given time: 7 • The S-bag of a procedure F contains the descendant threads of F that logically... |

197 | Compact routing schemes
- THORUP, ZWICK
(Show Context)
Citation Context ...y packed and defragmented on disk. Labeling schemes have been used for other combinatorial problems such as answering least-common-ancestor queries [1, 3, 5, 24] and distance queries used for routing =-=[2, 4, 8, 22, 25, 32]-=-. Although these problems are reminiscent of the order-maintenance problem, most solutions focus on reducing the number of bits necessary to represent the labels in a static (offline) setting. Anderso... |

172 | Thread scheduling for multiprogrammed multiprocessors
- Arora, Blumofe
- 1998
(Show Context)
Citation Context ... fail on each processor and the number of insertions is O(s), we conclude that |B4| = O(Ps). B6: Steal attempts while the global lock is not held by any processors. We use the potential argument from =-=[9]-=- to argue that |B6| = O(PT∞ lg n), but with one slight variation. We do not present the full argument here, because most of it is identical, but we do highlight the difference. The crux of their argum... |

156 |
Two algorithms for maintaining order in a list
- Dietz, Sleator
(Show Context)
Citation Context ...re efficient than the SP-bags algorithm. This algorithm is inspired by the English-Hebrew scheme, but rather than using static labels, the labels are maintained by an order-maintenance data structure =-=[10, 15, 17, 33]-=-. Figure 3 compares the serial space and running times of SP-order with the other algorithms. As can be seen from the table, SP-order attains asymptotic optimality. We also present a parallel SP-maint... |

113 | A comparison of labeling schemes for ancestor queries
- Kaplan, Milo, et al.
- 2002
(Show Context)
Citation Context ...responds to the problem of maintaining a file densely packed and defragmented on disk. Labeling schemes have been used for other combinatorial problems such as answering least-common-ancestor queries =-=[1, 3, 5, 24]-=- and distance queries used for routing [2, 4, 8, 22, 25, 32]. Although these problems are reminiscent of the order-maintenance problem, most solutions focus on reducing the number of bits necessary to... |

109 |
An empirical comparison of monitoring algorithms for access anomaly detection
- Dinning, Schonberg
- 1990
(Show Context)
Citation Context ...tain the series-parallel (SP) relationships between logical threads in a multithreaded program “on the fly.” This problem arises as the principal data-structuring issue in dynamic data-race detectors =-=[13, 19, 20, 26, 27]-=-. In this paper, we show that for fork-join programming models, such as MIT’s Cilk system [11, 21, 28], this data-structuring problem can be solved asymptotically optimally. We also give an efficient ... |

101 | Distance labeling in graphs
- GAVOILLE, PELEG, et al.
(Show Context)
Citation Context ...y packed and defragmented on disk. Labeling schemes have been used for other combinatorial problems such as answering least-common-ancestor queries [1, 3, 5, 24] and distance queries used for routing =-=[2, 4, 8, 22, 25, 32]-=-. Although these problems are reminiscent of the order-maintenance problem, most solutions focus on reducing the number of bits necessary to represent the labels in a static (offline) setting. Anderso... |

94 |
Maintaining order in a linked list
- Dietz
- 1982
(Show Context)
Citation Context ...re efficient than the SP-bags algorithm. This algorithm is inspired by the English-Hebrew scheme, but rather than using static labels, the labels are maintained by an order-maintenance data structure =-=[10, 15, 17, 33]-=-. Figure 3 compares the serial space and running times of SP-order with the other algorithms. As can be seen from the table, SP-order attains asymptotic optimality. We also present a parallel SP-maint... |

89 |
Applications of path compression on balanced trees
- Tarjan
- 1979
(Show Context)
Citation Context ...ta structure supports insertion, deletion, and SP queries: queries as to whether two nodes are logically in series or in parallel. The Nondeterminator [13,20] race detectors use a variant of Tarjan’s =-=[30]-=- least-common-ancestor algorithm, as the basis of their SP-maintenance data structure. To determine whether a thread ui logically precedes a thread uj, denoted ui ≺ uj, their SP-bags algorithm can be ... |

86 | Detecting data races in cilk programs that use locks
- Cheng, Feng, et al.
- 1998
(Show Context)
Citation Context ...tain the series-parallel (SP) relationships between logical threads in a multithreaded program “on the fly.” This problem arises as the principal data-structuring issue in dynamic data-race detectors =-=[13, 19, 20, 26, 27]-=-. In this paper, we show that for fork-join programming models, such as MIT’s Cilk system [11, 21, 28], this data-structuring problem can be solved asymptotically optimally. We also give an efficient ... |

82 | On-the-fly detection of data races for programs with nested fork-join parallelism
- Mellor-Crummey
- 1991
(Show Context)
Citation Context ...tain the series-parallel (SP) relationships between logical threads in a multithreaded program “on the fly.” This problem arises as the principal data-structuring issue in dynamic data-race detectors =-=[13, 19, 20, 26, 27]-=-. In this paper, we show that for fork-join programming models, such as MIT’s Cilk system [11, 21, 28], this data-structuring problem can be solved asymptotically optimally. We also give an efficient ... |

80 | Nearest common ancestors: A survey and a new algorithm for a distributed environment. Theory of Comput
- Alstrup, Gavoille, et al.
(Show Context)
Citation Context ...responds to the problem of maintaining a file densely packed and defragmented on disk. Labeling schemes have been used for other combinatorial problems such as answering least-common-ancestor queries =-=[1, 3, 5, 24]-=- and distance queries used for routing [2, 4, 8, 22, 25, 32]. Although these problems are reminiscent of the order-maintenance problem, most solutions focus on reducing the number of bits necessary to... |

62 | Two simplified algorithms for maintaining order in a list
- BENDER, COLE, et al.
(Show Context)
Citation Context ...re efficient than the SP-bags algorithm. This algorithm is inspired by the English-Hebrew scheme, but rather than using static labels, the labels are maintained by an order-maintenance data structure =-=[10, 15, 17, 33]-=-. Figure 3 compares the serial space and running times of SP-order with the other algorithms. As can be seen from the table, SP-order attains asymptotic optimality. We also present a parallel SP-maint... |

51 | Improved labeling schemes for ancestor queries
- Alstrup, Rauhe
- 2002
(Show Context)
Citation Context ...responds to the problem of maintaining a file densely packed and defragmented on disk. Labeling schemes have been used for other combinatorial problems such as answering least-common-ancestor queries =-=[1, 3, 5, 24]-=- and distance queries used for routing [2, 4, 8, 22, 25, 32]. Although these problems are reminiscent of the order-maintenance problem, most solutions focus on reducing the number of bits necessary to... |

50 | Wait-free parallel algorithms for the union-find problem
- ANDERSON, WOLL
- 1991
(Show Context)
Citation Context ...rformed on a processor’s own local-tier data structure, the only concurrency issues arise with path compressions, but these can be performed safely using the lock-free “compare-and-swap” primitive 10 =-=[6]-=-. This implementation achieves the same bounds as those in Theorem 10, but we conjecture that the coefficient of T1/P can be reduced to α(T1, n), which it achieves when P = 1. In addition, this implem... |

50 |
A sparse table implementation of priority queues
- Itai, Konheim, et al.
- 1981
(Show Context)
Citation Context ...e data structures from [17]. Their paper also presents an implementation study of the amortized data structure. A special case of the order-maintenance problem is the the online list-labeling problem =-=[7,16,18,23]-=-, also called the file maintenance problem [34–37]. In online list labeling, we maintain a mapping from a dynamic set of n elements to the integers in the range from 1 to u (tags), such that the order... |

49 | Efficient detection of determinacy races in Cilk programs
- Feng, Leiserson
- 1997
(Show Context)
Citation Context |

37 |
Labeling Schemes for Flow and Connectivity
- Katz, Katz, et al.
(Show Context)
Citation Context ...y packed and defragmented on disk. Labeling schemes have been used for other combinatorial problems such as answering least-common-ancestor queries [1, 3, 5, 24] and distance queries used for routing =-=[2, 4, 8, 22, 25, 32]-=-. Although these problems are reminiscent of the order-maintenance problem, most solutions focus on reducing the number of bits necessary to represent the labels in a static (offline) setting. Anderso... |

34 |
Maintaining order in a generalized linked list
- Tsakalidis
- 1984
(Show Context)
Citation Context |

32 | A density control algorithm for doing insertions and deletions in a sequentially ordered in good worst-case time - Willard - 1992 |

31 |
Tools for the efficient development of efficient parallel programs
- Nudler, Rudolph
- 1986
(Show Context)
Citation Context |

28 | Labeling schemes for small distances in trees
- Alstrup, Bille, et al.
- 2005
(Show Context)
Citation Context |

21 | A tight lower bound for online monotonic list labeling
- Dietz, Seiferas, et al.
(Show Context)
Citation Context ...e data structures from [17]. Their paper also presents an implementation study of the amortized data structure. A special case of the order-maintenance problem is the the online list-labeling problem =-=[7,16,18,23]-=-, also called the file maintenance problem [34–37]. In online list labeling, we maintain a mapping from a dynamic set of n elements to the integers in the range from 1 to u (tags), such that the order... |

18 |
Lower bounds for monotonic list labeling
- Dietz, Zhang
- 1990
(Show Context)
Citation Context ...e data structures from [17]. Their paper also presents an implementation study of the amortized data structure. A special case of the order-maintenance problem is the the online list-labeling problem =-=[7,16,18,23]-=-, also called the file maintenance problem [34–37]. In online list labeling, we maintain a mapping from a dynamic set of n elements to the integers in the range from 1 to u (tags), such that the order... |

17 | Maintaining dense sequential files in a dynamic environment - Willard - 1982 |

16 |
Direct routing on trees
- Alstrup, Holm, et al.
- 1998
(Show Context)
Citation Context |

12 | Good worst-case algorithms for inserting and deleting records in dense sequential - Willard - 1986 |

10 | Approximate indexed lists
- Andersson, Petersson
- 1998
(Show Context)
Citation Context |

8 | Inserting and deleting records in blocked sequential - Willard - 1981 |

7 | Compact roundtrip routing with topology-independent node names
- Arias, Cowen, et al.
- 2003
(Show Context)
Citation Context |