当前位置: X-MOL 学术arXiv.cs.DS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Parallel In-Place Algorithms: Theory and Practice
arXiv - CS - Data Structures and Algorithms Pub Date : 2021-03-01 , DOI: arxiv-2103.01216
Yan Gu, Omar Obeya, Julian Shun

Many parallel algorithms use at least linear auxiliary space in the size of the input to enable computations to be done independently without conflicts. Unfortunately, this extra space can be prohibitive for memory-limited machines, preventing large inputs from being processed. Therefore, it is desirable to design parallel in-place algorithms that use sublinear (or even polylogarithmic) auxiliary space. In this paper, we bridge the gap between theory and practice for parallel in-place (PIP) algorithms. We first define two computational models based on fork-join parallelism, which reflect modern parallel programming environments. We then introduce a variety of new parallel in-place algorithms that are simple and efficient, both in theory and in practice. Our algorithmic highlight is the Decomposable Property introduced in this paper, which enables existing non-in-place but highly-optimized parallel algorithms to be converted into parallel in-place algorithms. Using this property, we obtain algorithms for random permutation, list contraction, tree contraction, and merging that take linear work, $O(n^{1-\epsilon})$ auxiliary space, and $O(n^\epsilon\cdot\text{polylog}(n))$ span for $0<\epsilon<1$. We also present new parallel in-place algorithms for scan, filter, merge, connectivity, biconnectivity, and minimum spanning forest using other techniques. In addition to theoretical results, we present experimental results for implementations of many of our parallel in-place algorithms. We show that on a 72-core machine with two-way hyper-threading, the parallel in-place algorithms usually outperform existing parallel algorithms for the same problems that use linear auxiliary space, indicating that the theory developed in this paper indeed leads to practical benefits in terms of both space usage and running time.

中文翻译:

并行就地算法:理论与实践

许多并行算法至少在输入大小上使用线性辅助空间,以使计算能够独立进行而不会发生冲突。不幸的是,这种额外的空间对于内存受限的机器可能是不允许的,从而阻止了对大量输入的处理。因此,期望设计使用亚线性(甚至是多对数)辅助空间的并行就地算法。在本文中,我们弥合了就地并行(PIP)算法的理论与实践之间的鸿沟。我们首先基于fork-join并行性定义两个计算模型,它们反映了现代并行编程环境。然后,我们在理论上和实践上都介绍了各种简单有效的新型并行就地算法。我们算法的重点是本文介绍的可分解属性,这样可以将现有的非就地但高度优化的并行算法转换为并行就地算法。使用此属性,我们获得用于随机置换,列表收缩,树收缩和合并的算法,这些算法需要线性工作,$ O(n ^ {1- \ epsilon})$辅助空间和$ O(n ^ \ epsilon \ cdot \ text {polylog}(n))$范围为$ 0 <\ epsilon <1 $。我们还提出了使用其他技术的扫描,过滤,合并,连通性,双连通性和最小生成林的新并行就地算法。除了理论结果,我们还提供了许多并行就地算法实现的实验结果。我们展示了在具有双向超线程的72核计算机上,
更新日期:2021-03-02
down
wechat
bug