当前位置: X-MOL 学术Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Concurrent disjoint set union
Distributed Computing ( IF 1.3 ) Pub Date : 2021-04-23 , DOI: 10.1007/s00446-020-00388-x
Siddhartha V. Jayanti , Robert E. Tarjan

We develop and analyze concurrent algorithms for the disjoint set union (“union-find” ) problem in the shared memory, asynchronous multiprocessor model of computation, with CAS (compare and swap) or DCAS (double compare and swap) as the synchronization primitive. We give a deterministic bounded wait-free algorithm that uses DCAS and has a total work bound of \(O\biggl ( m \cdot \left( \log {\left( \frac{np}{m} + 1 \right) } + \alpha {\left( n, \frac{m}{np} \right) } \right) \biggr )\) for a problem with n elements and m operations solved by p processes, where \(\alpha \) is a functional inverse of Ackermann’s function. We give two randomized algorithms that use only CAS and have the same work bound in expectation. The analysis of the second randomized algorithm is valid even if the scheduler is adversarial. Our DCAS and randomized algorithms take \(O(\log n)\) steps per operation, worst-case for the DCAS algorithm, high-probability for the randomized algorithms. Our work and step bounds grow only logarithmically with p, making our algorithms truly scalable. We prove that for a class of symmetric algorithms that includes ours, no better step or work bound is possible. Our work is theoretical, but Alistarh et al (In search of the fastest concurrent union-find algorithm, 2019), Dhulipala et al (A framework for static and incremental parallel graph connectivity algorithms, 2020) and Hong et al (Exploring the design space of static and incremental graph connectivity algorithms on gpus, 2020) have implemented some of our algorithms on CPUs and GPUs and experimented with them. On many realistic data sets, our algorithms run as fast or faster than all others.



中文翻译:

并置不交集联合

我们开发和分析共享内存中的不相交集并集(“ union-find”)问题的并发算法,异步多处理器计算模型,并以CAS(比较和交换)或DCAS(双重比较和交换)作为同步原语。我们给出了使用DCAS的确定性有界免等待算法,其总工作范围为\(O \ biggl(m \ cdot \ left(\ log {\ left(\ frac {np} {m} + 1 \ right) } + \ alpha {\ left(n,\ frac {m} {np} \ right)} \ right)\ biggr)\),其中n个元素和m个操作由p进程解决,其中\(\ alpha \ )是阿克曼函数的函数逆函数。我们给出了两种仅使用CAS并在期望中具有相同工作范围的随机算法。即使调度程序是对抗性的,第二随机算法的分析也是有效的。我们的DCAS和随机算法每次操作都执行\(O(\ log n)\)步骤,DCAS算法的最坏情况,随机算法的高概率。我们的工作和步长界限仅与p呈对数增长,从而使我们的算法真正可扩展。我们证明,对于包括我们自己的一类对称算法,不可能有更好的步骤或工作范围。我们的工作是理论性的,但是Alistarh等人(寻找最快的并发联合查找算法,2019年),Dhulipala等人(静态和增量并行图连通性算法的框架,2020年)和Hong等人(探索设计空间) gpus上的静态和增量图连接性算法(2020年)已在CPU和GPU上实现了我们的一些算法,并对其进行了实验。在许多现实的数据集上,我们的算法比其他算法运行得更快或更快。

更新日期:2021-04-23
down
wechat
bug