PipeFilter: Parallelizable and Space-Efficient Filter for Approximate Membership Query

IF 8.9 2区 计算机科学 Q1 COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE
Shankui Ji;Yang Du;He Huang;Yu-E Sun;Jia Liu;Yapeng Shu
{"title":"PipeFilter: Parallelizable and Space-Efficient Filter for Approximate Membership Query","authors":"Shankui Ji;Yang Du;He Huang;Yu-E Sun;Jia Liu;Yapeng Shu","doi":"10.1109/TKDE.2025.3543881","DOIUrl":null,"url":null,"abstract":"Approximate membership query data structures (i.e., filters) have ubiquitous applications in database and data mining. Cuckoo filters are emerging as the alternative to Bloom filters because they support deletions and usually have higher operation throughput and space efficiency. However, their designs are confined to a single-threaded execution paradigm and consequently cannot fully exploit the parallel processing capabilities of modern hardware. This paper presents PipeFilter, a faster and more space-efficient filter that harnesses pipeline parallelism for superior performance. PipeFilter re-architects the Cuckoo filter by partitioning its data structure into several sub-filters, each providing a candidate position for every item. This allows the filter operations, including insertion, lookup, and deletion, to be naturally distributed across several pipeline stages, each overseeing one of the sub-filters, which can further be implemented through multi-threaded execution or pipeline stages of programmable hardware to achieve significantly higher throughput. Meanwhile, PipeFilter excels for single-threaded execution thanks to a combination of unique design features, including <i>block design</i>, <i>path prophet</i>, <i>round robin</i>, and <i>SIMD optimization</i>, such that it achieves superior performance than the SOTAs even when running with a single core. PipeFilter also has a competitive advantage in space utilization because it permits each item to explore more candidate positions. We implement and optimize PipeFilter on four platforms (single-core CPU, multi-core CPU, FPGA, and P4 ASIC). Experimental results demonstrate that PipeFilter surpasses all baseline methods on four platforms. When running with a single core, it showcases a notable 15%<inline-formula><tex-math>$\\sim$</tex-math></inline-formula>57% improvement in operation throughput and a high load factor exceeding 99%. When parallel processing on other platforms, PipeFilter achieves 7<inline-formula><tex-math>$\\times \\sim 800\\times$</tex-math></inline-formula> higher throughput than single-threaded execution.","PeriodicalId":13496,"journal":{"name":"IEEE Transactions on Knowledge and Data Engineering","volume":"37 5","pages":"2816-2830"},"PeriodicalIF":8.9000,"publicationDate":"2025-02-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Transactions on Knowledge and Data Engineering","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/10904335/","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
引用次数: 0

Abstract

Approximate membership query data structures (i.e., filters) have ubiquitous applications in database and data mining. Cuckoo filters are emerging as the alternative to Bloom filters because they support deletions and usually have higher operation throughput and space efficiency. However, their designs are confined to a single-threaded execution paradigm and consequently cannot fully exploit the parallel processing capabilities of modern hardware. This paper presents PipeFilter, a faster and more space-efficient filter that harnesses pipeline parallelism for superior performance. PipeFilter re-architects the Cuckoo filter by partitioning its data structure into several sub-filters, each providing a candidate position for every item. This allows the filter operations, including insertion, lookup, and deletion, to be naturally distributed across several pipeline stages, each overseeing one of the sub-filters, which can further be implemented through multi-threaded execution or pipeline stages of programmable hardware to achieve significantly higher throughput. Meanwhile, PipeFilter excels for single-threaded execution thanks to a combination of unique design features, including block design, path prophet, round robin, and SIMD optimization, such that it achieves superior performance than the SOTAs even when running with a single core. PipeFilter also has a competitive advantage in space utilization because it permits each item to explore more candidate positions. We implement and optimize PipeFilter on four platforms (single-core CPU, multi-core CPU, FPGA, and P4 ASIC). Experimental results demonstrate that PipeFilter surpasses all baseline methods on four platforms. When running with a single core, it showcases a notable 15%$\sim$57% improvement in operation throughput and a high load factor exceeding 99%. When parallel processing on other platforms, PipeFilter achieves 7$\times \sim 800\times$ higher throughput than single-threaded execution.
PipeFilter:近似成员查询的可并行和空间高效过滤器
近似隶属查询数据结构(即过滤器)在数据库和数据挖掘中有着广泛的应用。布谷鸟过滤器正在成为布隆过滤器的替代品,因为它们支持删除,通常具有更高的操作吞吐量和空间效率。然而,他们的设计局限于单线程执行范例,因此不能充分利用现代硬件的并行处理能力。本文介绍了PipeFilter,这是一个更快、更节省空间的过滤器,它利用管道并行性来获得卓越的性能。PipeFilter通过将其数据结构划分为几个子过滤器来重新构建Cuckoo过滤器,每个子过滤器为每个项目提供一个候选位置。这允许过滤器操作(包括插入、查找和删除)自然地分布在多个管道阶段,每个阶段监督一个子过滤器,这可以通过多线程执行或可编程硬件的管道阶段进一步实现,以实现更高的吞吐量。同时,由于结合了独特的设计特性,包括块设计、路径预测、轮询和SIMD优化,PipeFilter在单线程执行方面表现出色,因此即使在单核运行时,它也能获得比sota更好的性能。PipeFilter在空间利用方面也具有竞争优势,因为它允许每个项目探索更多的候选位置。我们在四个平台(单核CPU,多核CPU, FPGA和P4 ASIC)上实现和优化PipeFilter。实验结果表明,PipeFilter在四个平台上优于所有基线方法。当使用单核运行时,它在操作吞吐量方面显着提高了15% - 57%,负载系数超过99%。当在其他平台上并行处理时,PipeFilter的吞吐量比单线程执行高7倍/ 800倍。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
IEEE Transactions on Knowledge and Data Engineering
IEEE Transactions on Knowledge and Data Engineering 工程技术-工程:电子与电气
CiteScore
11.70
自引率
3.40%
发文量
515
审稿时长
6 months
期刊介绍: The IEEE Transactions on Knowledge and Data Engineering encompasses knowledge and data engineering aspects within computer science, artificial intelligence, electrical engineering, computer engineering, and related fields. It provides an interdisciplinary platform for disseminating new developments in knowledge and data engineering and explores the practicality of these concepts in both hardware and software. Specific areas covered include knowledge-based and expert systems, AI techniques for knowledge and data management, tools, and methodologies, distributed processing, real-time systems, architectures, data management practices, database design, query languages, security, fault tolerance, statistical databases, algorithms, performance evaluation, and applications.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信