Recently, the predicate detection problem was shown to be in the parallel complexity class NC. In this paper, we give the first work-optimal parallel algorithm to solve the predicate detection problem on a distributed computation with $n$ processes and at most $m$ states per process. The previous best known parallel predicate detection algorithm, ParallelCut, has time complexity $O(\log mn)$ and work complexity $O(m^3n^3\log mn)$. We give two algorithms, a deterministic algorithm with time complexity $O(mn)$ and work complexity $O(mn^2)$, and a randomized algorithm with time complexity $(mn)^{1/2 + o(1)}$ and work complexity $\tilde{O}(mn^2)$. Furthermore, our algorithms improve upon the space complexity of ParallelCut. Both of our algorithms have space complexity $O(mn^2)$ whereas ParallelCut has space complexity $O(m^2n^2)$.
翻译:最近,上游探测问题被证明属于平行复杂等级NC。在本文中,我们给出了第一个工作最佳平行算法,在以美元流程和最多以美元每个流程状态进行分布式计算时解决上游探测问题。前一个最已知的平行平行探测算法,ClonalCut, 具有时间复杂性$(log mn) 美元和工作复杂性$O(m%3n) 3\ log mn) 美元。我们给出了两种算法,一种确定式算法,具有时间复杂性$(mn) 2美元和工作复杂性$(mn) 2美元,一种随机化算法,具有时间复杂性$(mn) 1/2 + o(1)美元和工作复杂性$\tilde{O}(mn%2)美元。此外,我们两种算法都改善了PlonCut的空间复杂性。我们两种算法都有空间复杂性$(mn) 2美元,而平行Cut有空间复杂性$(m) 2美元。