decoding billions of integers per second through vectorization

25

Upload: daniel-lemire

Post on 06-May-2015

403 views

Category:

Technology


0 download

DESCRIPTION

In many important applications -- such as search engines and relational database systems -- data is stored in the form of arrays of integers. Encoding and, most importantly, decoding of these arrays consumes considerable CPU time. Therefore, substantial effort has been made to reduce costs associated with compression and decompression. In particular, researchers have exploited the superscalar nature of modern processors and SIMD instructions. Nevertheless, we introduce a novel vectorized scheme called SIMD-BP128 that improves over previously proposed vectorized approaches. It is nearly twice as fast as the previously fastest schemes on desktop processors (varint-G8IU and PFOR). At the same time, SIMD-BP128 saves up to 2 bits per integer. For even better compression, we propose another new vectorized scheme (SIMD-FastPFOR) that has a compression rate within 10% of a state-of-the-art scheme (Simple-8b) while being two times faster during decoding.

TRANSCRIPT

Page 1: Decoding billions of integers per second through vectorization
Page 2: Decoding billions of integers per second through vectorization
Page 3: Decoding billions of integers per second through vectorization
Page 4: Decoding billions of integers per second through vectorization
Page 5: Decoding billions of integers per second through vectorization
Page 6: Decoding billions of integers per second through vectorization
Page 7: Decoding billions of integers per second through vectorization
Page 8: Decoding billions of integers per second through vectorization
Page 9: Decoding billions of integers per second through vectorization
Page 10: Decoding billions of integers per second through vectorization
Page 11: Decoding billions of integers per second through vectorization
Page 12: Decoding billions of integers per second through vectorization
Page 13: Decoding billions of integers per second through vectorization
Page 14: Decoding billions of integers per second through vectorization
Page 15: Decoding billions of integers per second through vectorization
Page 16: Decoding billions of integers per second through vectorization
Page 17: Decoding billions of integers per second through vectorization
Page 18: Decoding billions of integers per second through vectorization
Page 19: Decoding billions of integers per second through vectorization
Page 20: Decoding billions of integers per second through vectorization
Page 21: Decoding billions of integers per second through vectorization
Page 22: Decoding billions of integers per second through vectorization
Page 23: Decoding billions of integers per second through vectorization
Page 24: Decoding billions of integers per second through vectorization
Page 25: Decoding billions of integers per second through vectorization