The Energy-Throughput Trade-off in Lossless-Compressed Source Code Storage
Paolo Ferragina, Francesco Tosoni
TL;DR
The paper tackles the challenge of efficiently indexing massive open-source code archives while minimizing energy use. It introduces a PPC-based compressed cache built on RocksDB as the last tier in a multi-tier storage system, enabling dynamic, scalable, lossless compression of source code data. Through micro-benchmarks and large-scale experiments on HPC hardware, it demonstrates Pareto-optimal trade-offs among space, time, and energy, showing that judicious compression and thread-parallelism can yield orders-of-magnitude improvements in retrieval throughput and energy efficiency. The work provides actionable guidelines for energy-aware configuration tuning and points to practical paths for greener storage backends in vast code repositories, with implications for AI training data pipelines and open-source code archiving.
Abstract
Retrieving data from large-scale source code archives is vital for AI training, neural-based software analysis, and information retrieval, to cite a few. This paper studies and experiments with the design of a compressed key-value store for the indexing of large-scale source code datasets, evaluating its trade-off among three primary computational resources: (compressed) space occupancy, time, and energy efficiency. Extensive experiments on a national high-performance computing infrastructure demonstrate that different compression configurations yield distinct trade-offs, with high compression ratios and order-of-magnitude gains in retrieval throughput and energy efficiency. We also study data parallelism and show that, while it significantly improves speed, scaling energy efficiency is more difficult, reflecting the known non-energy-proportionality of modern hardware and challenging the assumption of a direct time-energy correlation. This work streamlines automation in energy-aware configuration tuning and standardized green benchmarking deployable in CI/CD pipelines, thus empowering system architects with a spectrum of Pareto-optimal energy-compression-throughput trade-offs and actionable guidelines for building sustainable, efficient storage backends for massive open-source code archival.
