HackerPapers

arXiv:1401.6399cs.IR

SIMD Compression and the Intersection of Sorted Integers

Daniel Lemire, Leonid Boytsov, Nathan Kurz

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

Abstract

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.

arXiv comments
Journal reference
Software: Practice and Experience Volume 46, Issue 6, pages 723-749, June 2016
DOI
doi:10.1002/spe.2326
Subjects
cs.IRInformation Retrieval cs.DBDatabases cs.PFPerformance

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Feb 2014 to Feb 2014.

Comments linking this paper, per year.

Discussed in comments1 thread

  1. Playing with the CPU pipeline 1 comment
    • Thanks, I'll check this out. I'm very interested in x64 SIMD. This is the sort of thing I've been doing with it: http://arxiv.org/abs/1401.6399 Although I'm talking up Intel's compiler, and do think it usually beats GCC, my actual experience is that I've largely given up on…

      nkurzView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.