FPC: A High-Speed Compressor for Double-Precision Floating-Point Data

  • Authors:
  • Martin Burtscher;Paruj Ratanaworabhan

  • Affiliations:
  • University of Texas at Austin, Austin;Cornell University, Ithaca

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 2009

Quantified Score

Hi-index 14.98

Visualization

Abstract

Many scientific programs exchange large quantities of double-precision data between processing nodes and with mass storage devices. Data compression can reduce the number of bytes that need to be transferred and stored. However, compression is only likely to be employed in high-end computing environments if it does not impede the throughput. This paper describes and evaluates FPC, a fast lossless compression algorithm for linear streams of 64-bit floating-point data. FPC works well on hard-to-compress scientific datasets and meets the throughput demands of high-performance systems. A comparison with five lossless compression schemes, BZIP2, DFCM, FSD, GZIP, and PLMI, on four architectures and thirteen datasets shows that FPC compresses and decompresses one to two orders of magnitude faster than the other algorithms at the same geometric-mean compression ratio. Moreover, FPC provides a guaranteed throughput as long as the prediction tables fit into the L1 data cache. For example, on a 1.6 GHz Itanium 2 server, the throughput is 670 megabytes per second regardless of what data are being compressed.