Cache-Oblivious Peeling of Random Hypergraphs
Cache-Oblivious Peeling of Random Hypergraphs
复制标题
随机超图的缓存不经意剥离
DOI:
--
复制
发表时间:
2013
期刊:
影响因子:
--
通讯作者:
S. Vigna
中科院分区:
文献类型:
--
作者:
Djamal Belazzougui;P. Boldi;G. Ottaviano;Rossano Venturini;S. Vigna
The computation of a peeling order in a randomly generated hypergraph is the most time-consuming step in a number of constructions, such as perfect hashing schemes, random r-SAT solvers, error-correcting codes, and approximate set encodings. While there exists a straightforward linear-time algorithm, its poor I/O performance makes it impractical for hypergraphs whose size exceeds the available internal memory. We show how to reduce the computation of a peeling order to a small number of sequential scans and sorts, and analyze its I/O complexity in the cache-oblivious model. The resulting algorithm requires O.sort.n// I/Os and O.n log n/ time to peel a random hypergraph with n edges. We experimentally evaluate the performance of our implementation of this algorithm in a real-world scenario by using the construction of minimal perfect hash functions (MPHF) as our test case: our algorithm builds a MPHF of 7:6 billion keys in less than 21 hours on a single machine. The resulting data structure is both more space-efficient and faster than that obtained with the current state-of-the-art MPHF construction for large-scale key sets.