ALP: Адаптивное сжатие чисел с плавающей точкой без потерь

ALP: Adaptive Lossless floating-Point Compression
Peter Boncz, Azim Afroozeh, Leonardo Kuffò
2023-12-08

схема сжатия ALPчисла IEEE 754 двойной точностиPseudoDecimalsбез потерь сжатие чисел с плавающей точкойвекторизованное выполнение
Числа двойной точности IEEE 754 не обеспечивают точного представления большинства действительных значений, что приводит к ошибкам округления при вычислениях и [де]сериализации в текстовый формат. Эти ошибки округления препятствуют использованию существующих облегчённых схем сжатия, таких как Delta и Frame of Reference (FOR), однако недавно были предложены новые схемы: Gorilla, Chimp128, PseudoDecimals (PDE), Elf и Patas. Тем не менее их коэффициенты сжатия не превосходят показатели универсальных компрессоров, таких как Zstd, а [де]компрессия выполняется значительно медленнее, чем в Delta и FOR. Мы предлагаем и оцениваем ALP, которая существенно улучшает предыдущие схемы как по скорости, так и по коэффициенту сжатия (рисунок 1). ALP была разработана после тщательного изучения наборов данных, использовавшихся для оценки предыдущих схем. Для достижения высокой скорости ALP спроектирована с учётом векторизованного выполнения. Это также оказалось ключевым фактором улучшения коэффициента сжатия, поскольку мы обнаружили внутривекторные общие свойства, создающие возможности для сжатия. ALP представляет собой адаптивную схему, использующую значительно усовершенствованную версию PseudoDecimals [31] для сжатия чисел двойной точности без потерь с представлением их в виде целых чисел, если исходные значения были десятичными, а в противном случае применяющую векторизованное сжатие старших битов чисел двойной точности. Высокая скорость работы обеспечивается реализацией на скалярном коде с автоматической векторизацией, использующей строительные блоки библиотеки FastLanes [6], а также эффективным двухэтапным алгоритмом сжатия, который сначала выполняет выборку групп строк, а затем векторов.
1
Высокая скорость ALP обеспечивается автоматически векторизуемым скалярным кодом, компонентами библиотеки FastLanes и двухэтапным алгоритмом, сначала выбирающим выборки строковых групп, а затем векторов.
2
ALP — адаптивная схема сжатия без потерь для чисел IEEE 754, улучшающая скорость и коэффициент сжатия по сравнению с Gorilla, Chimp128, PseudoDecimals, Elf и Patas.
3
ALP использует усовершенствованный метод PseudoDecimals для кодирования чисел как целых, если они исходно представлены десятичными значениями, а в остальных случаях векторно сжимает их старшие биты.
4
Векторное выполнение одновременно ускоряет ALP и выявляет общие закономерности внутри векторов, создавая дополнительные возможности для сжатия.

Данные с плавающей точкой двойной точности IEEE 754 и их без потерь сжатие

Производительность адаптивного векторизованного сжатия, коэффициент сжатия и стратегии кодирования чисел double, происходящих из десятичных значений и не имеющих такого происхождения

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%