Floating-Point Compression Using Exponent-Difference Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing systems face bottlenecks in data transfer and storage due to limited rates of interfaces among processor cores and memory, particularly with vast amounts of floating-point data, necessitating computationally efficient compression techniques to reduce demands on computing resources.

Innovation Solution

The compression of floating-point numbers involves calculating exponent differences, encoding mantissas based on exponents, and optionally compressing signs, using a code table for exponent tokens and determining encoded mantissa bits, to form compressed data packets that can be efficiently stored and transferred.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If floating-point data is compressed to reduce data transfer and storage demands, then data transfer efficiency and memory utilization are improved, but computational overhead increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The floating-point data compression method segments the floating-point numbers into distinct components (exponents and mantissas) and processes each component separately. This allows for targeted compression techniques to be applied to each segment, reducing overall computational overhead while maintaining data integrity and achieving efficient compression ratios.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If compression algorithms are applied to floating-point data, then data storage capacity demands are reduced, but processing complexity increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The compression algorithm changes the representation parameters of floating-point data by separating exponents and mantissas and applying different encoding strategies to each. This parameter transformation reduces the overall data size while managing processing complexity through systematic handling of each component.

Inventive Principle:
Principle #35Parameter changes

3Speed

If floating-point data is transferred at high rates, then data processing speed is improved, but interface bandwidth requirements increase

Engineering Contradiction:
Improvedata processing speedVSAvoidinterface bandwidth
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The method extracts and separates the exponent and mantissa components of floating-point numbers, allowing for independent compression and optimization of each part. This extraction enables reduced data width transfers while maintaining processing speed, as the separated components can be handled more efficiently than complete floating-point representations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8959129B2Compression of floating-point data
Publication Date: 2015.02.17 ALTERA CORP
  • US8959129B2 patent drawing
  • US8959129B2 patent drawing
  • US8959129B2 patent drawing

AI summary

Compression of exponents, mantissas and signs of floating-point numbers is described. Differences between exponents are encoded by exponent tokens selected from a code table. The mantissa is encoded to a mantissa token having a length based on the exponent. The signs are encoded directly or are compressed to produce fewer sign tokens. The exponent tokens, mantissa tokens and sign tokens are packed in a compressed data packet. Decompression decodes the exponent tokens using the code table. The decoded exponent difference is added to a previous reconstructed exponent to produce the reconstructed exponent. The reconstructed exponent is used to determine the length of the mantissa token. The mantissa token is decoded to form the reconstructed mantissa. The sign tokens provide the reconstructed signs or are decompressed to provide the reconstructed signs. The reconstructed sign, reconstructed exponent and reconstructed mantissa are combined to form a reconstructed floating-point number.