ALP: Адаптивное сжатие чисел с плавающей точкой без потерь
ALP: Adaptive Lossless floating-Point Compression
2023-12-08
SCID: 54.1/4wsd7jxk
Discuss with AI
схема сжатия ALPчисла IEEE 754 двойной точностиPseudoDecimalsбез потерь сжатие чисел с плавающей точкойвекторизованное выполнение
Figures from the paper
Abstract (AI)
Числа двойной точности 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], а также эффективным двухэтапным алгоритмом сжатия, который сначала выполняет выборку групп строк, а затем векторов.
Key Findings
1
Высокая скорость ALP обеспечивается автоматически векторизуемым скалярным кодом, компонентами библиотеки FastLanes и двухэтапным алгоритмом, сначала выбирающим выборки строковых групп, а затем векторов.
2
ALP — адаптивная схема сжатия без потерь для чисел IEEE 754, улучшающая скорость и коэффициент сжатия по сравнению с Gorilla, Chimp128, PseudoDecimals, Elf и Patas.
3
ALP использует усовершенствованный метод PseudoDecimals для кодирования чисел как целых, если они исходно представлены десятичными значениями, а в остальных случаях векторно сжимает их старшие биты.
4
Векторное выполнение одновременно ускоряет ALP и выявляет общие закономерности внутри векторов, создавая дополнительные возможности для сжатия.
Research Object
Данные с плавающей точкой двойной точности IEEE 754 и их без потерь сжатие
Research Subject
Производительность адаптивного векторизованного сжатия, коэффициент сжатия и стратегии кодирования чисел double, происходящих из десятичных значений и не имеющих такого происхождения
Publication Details
Publication Date
2023-12-08
Journal
Publisher
ISSN
Cited by
32
Open access PDF
Access Type
Author Information
Download PDF
Subscribe to digest