The FastLanes Compression Layout: Decoding > 100 Billion Integers per Second with Scalar Code

Компоновка сжатия FastLanes: декодирование более 100 миллиардов целых чисел в секунду с использованием скалярного кода
Peter Boncz, Azim Afroozeh
2023-05-01

FastLanes compression layoutUnified Transposed Layoutlightweight compressionscalar decodingvirtual 1024-bit instruction set
The open-source FastLanes project aims to improve big data formats, such as Parquet, ORC and columnar database formats, in multiple ways. In this paper, we significantly accelerate decoding of all common Light-Weight Compression (LWC) schemes: DICT, FOR, DELTA and RLE through better data-parallelism. We do so by re-designing the compression layout using two main ideas: (i) generalizing the value interleaving technique in the basic operation of bit-(un)packing by targeting a virtual 1024-bits SIMD register, (ii) reordering the tuples in all columns of a table in the same Unified Transposed Layout that puts tuple chunks in a common "04261537" order (explained in the paper); allowing for maximum independent work for all possible basic SIMD lane widths: 8, 16, 32, and 64 bits. We address the software development, maintenance and future-proofness challenges of increasing hardware diversity, by defining a virtual 1024-bits instruction set that consists of simple operators supported by all SIMD dialects; and also, importantly, by scalar code. The interleaved and tuple-reordered layout actually makes scalar decoding faster, extracting more data-parallelism from today's wide-issue CPUs. Importantly, the scalar version can be fully auto-vectorized by modern compilers, eliminating technical debt in software caused by platform-specific SIMD intrinsics. Micro-benchmarks on Intel, AMD, Apple and AWS CPUs show that FastLanes accelerates decoding by factors (decoding >40 values per CPU cycle). FastLanes can make queries faster, as compressing the data reduces bandwidth needs, while decoding is almost free.
1
FastLanes accelerates decoding of common lightweight compression schemes, including DICT, FOR, DELTA, and RLE, through a redesigned data layout.
2
FastLanes supports SIMD lane widths of 8, 16, 32, and 64 bits while also defining a scalar-compatible virtual instruction set.
3
Interleaved and reordered data enables scalar decoding faster than conventional approaches and can be fully auto-vectorized by modern compilers.
4
Microbenchmarks across Intel, AMD, Apple, and AWS CPUs report decoding rates above 100 billion integers per second, exceeding 40 values per CPU cycle.
5
The layout generalizes value interleaving toward a virtual 1024-bit SIMD register and uses a unified transposed tuple order across columns.

FastLanes compression layout for columnar big-data formats and database storage

High-throughput scalar and SIMD decoding of common lightweight compression schemes through interleaved value encoding and unified tuple transposition

Publication Details
Publication Date
2023-05-01
Journal
Publisher
ISSN
Cited by
35
Access Type
Author Information
Authors
Peter Boncz
Azim Afroozeh
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%