Parallel Peeling of Invertible Bloom Lookup Tables in a Constant Number of Rounds
摘要
Invertible Bloom lookup tables (IBLTs) are a compact way of probabilistically representing a set of n key-value pairs so as to support insertions, deletions, and lookups. If an IBLT is not overloaded (as a function of its size and number of key-value pairs that have been inserted), then reporting all the stored key-value pairs can also be done via a “parallel peeling” process. For the case when the IBLT is represented in a very compact form, this can be implemented to run in \(O(\log \log n)\) parallel rounds, with all but inversely polynomial probability, as shown in prior work by Jiang, Mitzenmacher, and Thaler, as well as in Gao’s work on parallel peeling algorithms for random hypergraphs. Although \(O(\log \log n)\) is practically constant for reasonable values of n, there are nevertheless scenarios (such as in the parallel GPU or MapReduce frameworks) where parallel peeling is desired to run in a constant number of rounds, with failure probabilities that are negligible rather than simply being polynomially small. In this paper, we study simple constant-round parallel peeling algorithms for IBLTs, focusing on negligible failure probabilities based on table size, number of elements stored, and number of hash functions. We prove the surprising result that with \(O(n\log n)\) space a one-round parallel peeling process succeeds with high probability while a two-round parallel peeling process succeeds with overwhelming probability. We then provide a time-space trade-off theorem for parallel peeling in a constant k number of rounds while still maintaining overwhelming success probability. We also give several new algorithmic applications of parallel peeling of IBLTs and we experimentally study the effectiveness of our approach in practice.