arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1401.6399cs.IRcs.DBcs.PF
收藏

SIMD压缩与排序整数的交集

SIMD Compression and the Intersection of Sorted Integers

Daniel Lemire, Leonid Boytsov, Nathan Kurz

摘要:

整数的排序列表通常用于倒排索引和数据库系统。它们通常被压缩在内存中。我们可以使用常见处理器中的SIMD指令来提高整数压缩方案的速度。我们的S4-BP 128-D4方案每个解码整数仅使用0.7个CPU周期,同时仍提供最先进的压缩。然而,如果整数的后续处理很慢,则可能浪费在优化解码速度上的努力。为了证明它不一定是这样,我们(1)向量化和优化倒排列表的交集;(2)引入SIMD驰骋算法。我们利用一个SIMD指令可以同时比较4对整数的事实。我们实验了两个TREC文本集合,GOV 2和CNOWWeb 09(类别B),使用来自TREC百万查询跟踪的日志。我们表明,只使用SIMD指令无处不在的所有现代CPU,我们的技术合取查询可以加倍的速度,一个国家的最先进的方法。

英文摘要:

Sorted lists of integers are commonly used in inverted indexes and database systems. They are often compressed in memory. We can use the SIMD instructions available in common processors to boost the speed of integer compression schemes. Our S4-BP128-D4 scheme uses as little as 0.7 CPU cycles per decoded integer while still providing state-of-the-art compression. However, if the subsequent processing of the integers is slow, the effort spent on optimizing decoding speed can be wasted. To show that it does not have to be so, we (1) vectorize and optimize the intersection of posting lists; (2) introduce the SIMD Galloping algorithm. We exploit the fact that one SIMD instruction can compare 4 pairs of integers at once. We experiment with two TREC text collections, GOV2 and ClueWeb09 (Category B), using logs from the TREC million-query track. We show that using only the SIMD instructions ubiquitous in all modern CPUs, our techniques for conjunctive queries can double the speed of a state-of-the-art approach.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑