ALP: Adaptive Lossless floating-Point Compression

ALP: Адаптивное сжатие чисел с плавающей точкой без потерь
Peter Boncz, Azim Afroozeh, Leonardo Kuffò
2023-12-08

ALP compression schemeIEEE 754 doublesPseudoDecimalslossless floating-point compressionvectorized execution
IEEE 754 doubles do not exactly represent most real values, introducing rounding errors in computations and [de]serialization to text. These rounding errors inhibit the use of existing lightweight compression schemes such as Delta and Frame Of Reference (FOR), but recently new schemes were proposed: Gorilla, Chimp128, PseudoDecimals (PDE), Elf and Patas. However, their compression ratios are not better than those of general-purpose compressors such as Zstd; while [de]compression is much slower than Delta and FOR. We propose and evaluate ALP, that significantly improves these previous schemes in both speed and compression ratio (Figure 1). We created ALP after carefully studying the datasets used to evaluate the previous schemes. To obtain speed, ALP is designed to fit vectorized execution. This turned out to be key for also improving the compression ratio, as we found in-vector commonalities to create compression opportunities. ALP is an adaptive scheme that uses a strongly enhanced version of PseudoDecimals [31] to losslessly encode doubles as integers if they originated as decimals, and otherwise uses vectorized compression of the doubles' front bits. Its high speeds stem from our implementation in scalar code that auto-vectorizes, using building blocks provided by our FastLanes library [6], and an efficient two-stage compression algorithm that first samples row-groups and then vectors.
1
ALP achieves high speed through auto-vectorized scalar code, FastLanes building blocks, and a two-stage algorithm sampling row-groups before vectors.
2
ALP is an adaptive lossless compression scheme for IEEE 754 doubles that targets improved compression ratio and speed over Gorilla, Chimp128, PseudoDecimals, Elf, and Patas.
3
ALP uses an enhanced PseudoDecimals method to encode doubles as integers when they originated as decimal values, and otherwise compresses their front bits vectorially.
4
Vectorized execution both accelerates ALP and exposes in-vector commonalities that create additional compression opportunities.

IEEE 754 double-precision floating-point data and their lossless compression

Adaptive vectorized compression performance, compression ratio, and encoding strategies for decimal-originated and non-decimal doubles

Publication Details
Publication Date
2023-12-08
Journal
Publisher
ISSN
Cited by
32
Access Type
Author Information
Authors
Peter Boncz
Azim Afroozeh
Leonardo Kuffò
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%