简单、快速、轻量的并行小波树构造
Simple, Fast and Lightweight Parallel Wavelet Tree Construction
摘要:
小波树(Grossi等人[SODA,2003])和小波矩阵(Claude等人[Inf. Syst.,47:15- 32,2015])是用于字母表$[0,σ)$上的文本的紧凑索引,其支持在$O(\lg σ)$时间内的排名、选择和访问查询。首先,我们提出了新的实用的小波树构造的顺序和并行算法。它们的统一特征是它们自底向上构造小波树,即,他们首先计算最后一级。我们还表明,这种自下而上的建设可以很容易地适应小波矩阵。在实践中,我们最好的顺序算法的速度是目前最快的顺序小波树构造算法(Shun [DCC,2015])的两倍,同时节省了2倍的空间。这可扩展到32个核心,我们的速度与目前最快的并行小波树构造算法(Labeit et al. [DCC,2016])相当,但仍然只使用了大约75%的空间。一个额外的理论结果表明,如何适应任何小波树构造算法的小波矩阵在相同的(渐近)时间,只使用很少的额外空间。
英文摘要:
The wavelet tree (Grossi et al. [SODA, 2003]) and wavelet matrix (Claude et al. [Inf. Syst., 47:15--32, 2015]) are compact indices for texts over an alphabet $[0,σ)$ that support rank, select and access queries in $O(\lg σ)$ time. We first present new practical sequential and parallel algorithms for wavelet tree construction. Their unifying characteristics is that they construct the wavelet tree bottomup}, i.e., they compute the last level first. We also show that this bottom-up construction can easily be adapted to wavelet matrices. In practice, our best sequential algorithm is up to twice as fast as the currently fastest sequential wavelet tree construction algorithm (Shun [DCC, 2015]), simultaneously saving a factor of 2 in space. This scales up to 32 cores, where we are about equally fast as the currently fastest parallel wavelet tree construction algorithm (Labeit et al. [DCC, 2016]), but still use only about 75 % of the space. An additional theoretical result shows how to adapt any wavelet tree construction algorithm to the wavelet matrix in the same (asymptotic) time, using only little extra space.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。