Bloom Filters are a space-efficient data structure used for the testing of membership in a set that errs only in the False Positive direction. However, the standard analysis that measures this False Positive rate provides a form of worst case bound that is both overly conservative for the majority of network applications that utilize Bloom Filters, and reduces accuracy by not taking into account the actual state (number of bits set) of the Bloom Filter after each arrival. In this paper, we more accurately characterize the False Positive dynamics of Bloom Filters as they are commonly used in networking applications. In particular, network applications often utilize a Bloom Filter that "recycles": it repeatedly fills, and upon reaching a certain level of saturation, empties and fills again. In this context, it makes more sense to evaluate performance using the average False Positive rate instead of the worst case bound. We show how to efficiently compute the average False Positive rate of recycling Bloom Filter variants via renewal and Markov models. We apply our models to both the standard Bloom Filter and a "two-phase" variant, verify the accuracy of our model with simulations, and find that the previous analysis' worst-case formulation leads to up to a 30\% reduction in the efficiency of Bloom Filter when applied in network applications, while two-phase overhead diminishes as the needed False Positive rate is tightened.
翻译:布隆过滤器是一种用于集合成员测试的空间高效数据结构,其错误仅发生在假阳性方向。然而,衡量假阳性率的标准分析提供了一种最坏情况下的界限形式,这对多数使用布隆过滤器的网络应用而言过于保守,且由于未考虑每次到达后布隆过滤器的实际状态(置位数),降低了准确性。本文更精确地描述了布隆过滤器在网络应用中常见使用场景下的假阳性动态特性。具体而言,网络应用常采用“回收型”布隆过滤器:反复填充,当达到一定饱和度后清空并重新填充。在此背景下,使用平均假阳性率而非最坏情况界限来评估性能更为合理。我们展示了如何通过更新模型和马尔可夫模型高效计算回收型布隆过滤器变体的平均假阳性率。我们将模型应用于标准布隆过滤器和一种“两阶段”变体,通过仿真验证模型准确性,并发现先前分析的最坏情况公式会导致网络应用中布隆过滤器的效率降低高达30%,而两阶段开销在所需假阳性率收紧时会逐渐减小。