Reproducible Floating-Point Aggregation in RDBMSs
Ingo M\"uller (1), Andrea Arteaga (2), Torsten Hoefler (1), Gustavo, Alonso (1) ((1) Systems Group, Dept. of Computer Science, ETH Zurich, (2), Federal Institute of Meteorology, Climatology MeteoSwiss)

TL;DR
This paper addresses the challenge of achieving bit-reproducible floating-point aggregation in relational databases, proposing a new associative numeric type and optimized algorithms to balance reproducibility and performance.
Contribution
It introduces a new associative numeric data type and modified GroupBy algorithms that enable bit-reproducible floating-point aggregation with minimal performance overhead.
Findings
Proposed a new numeric data type for reproducible aggregation.
Achieved a slowdown of 1.9x to 2.4x compared to standard aggregation.
Reproducible aggregation accounts for only 2.7% of end-to-end query time in MonetDB.
Abstract
Industry-grade database systems are expected to produce the same result if the same query is repeatedly run on the same input. However, the numerous sources of non-determinism in modern systems make reproducible results difficult to achieve. This is particularly true if floating-point numbers are involved, where the order of the operations affects the final result. As part of a larger effort to extend database engines with data representations more suitable for machine learning and scientific applications, in this paper we explore the problem of making relational GroupBy over floating-point formats bit-reproducible, i.e., ensuring any execution of the operator produces the same result up to every single bit. To that aim, we first propose a numeric data type that can be used as drop-in replacement for other number formats and is---unlike standard floating-point formats---associative.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
