Wavelet Compression Using Tiled SIMD Dot Products for Faster HPC I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression methods for High Performance Computer systems are not sufficiently fast for processing large volumes of data, leading to increased computing costs and making the use of compressed data during I/O processing unattractive.

Innovation Solution

A method of input data compression using a core with a central memory and operating cache memory, employing vector registers and cache lines to perform a two-dimensional wavelet transform with low and high band-pass filters, utilizing fused multiply-add instructions to accelerate dot product computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing data compression methods are used, then data compression is achieved, but processing speed is too slow for large volumes of data

Engineering Contradiction:
Improvedata compression speedVSAvoidcomputing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the input data array into multiple tiles, where each tile is further divided into data block columns. This segmentation allows parallel processing of different tiles by multiple cores and enables efficient cache utilization within each tile, significantly improving compression speed for large datasets

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces traditional scalar wavelet transform computations with vectorized operations using SIMD (Single Instruction, Multiple Data) instructions. By substituting sequential scalar mechanics with parallel vector mechanics, the processing throughput is dramatically increased while maintaining compression quality

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Quantity of substance

If wavelet transform is applied to compress large volumes of data, then compression ratio improves, but computing cost becomes too expensive

Engineering Contradiction:
Improvedata volume processedVSAvoidcomputing cost
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary organization of data into tiles with specific dimensional constraints before the wavelet transform. By pre-structuring the data to align with cache line boundaries and vector register widths, the subsequent compression operations can proceed efficiently without excessive computational overhead

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the processing parameters by using data block column dimensions that are multiples of cache line length and vector register length. This parameter adjustment enables optimal utilization of hardware resources, reducing computing cost while maintaining the ability to process large data volumes

Inventive Principle:
Principle #35Parameter changes

3Speed

If traditional I/O processing is used, then simplicity is maintained, but processing speed is too slow compared to computing power

Engineering Contradiction:
ImproveI/O processing speedVSAvoidoverall system performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent substitutes traditional scalar-based I/O processing with vectorized wavelet transform operations that leverage SIMD instructions. This mechanical substitution enables the I/O processing speed to keep pace with the rapidly increasing computing power of modern HPC systems

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent implements periodic processing by dividing data into tiles that can be processed in regular intervals by multiple cores. This periodic action structure allows the I/O processing to be systematically accelerated through parallel execution, matching the growth of computing power

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10771089B2Method of input data compression, associated computer program product, computer system and extraction method
Publication Date: 2020.09.08 TOTALENERGIES ONETECH
  • US10771089B2 patent drawing
  • US10771089B2 patent drawing
  • US10771089B2 patent drawing

AI summary

A method of data compression performed by at least one core communicating with a central memory. The input data presents a two-dimensional input array formed by a plurality data items stored contiguously in the central memory according to a contiguous direction. The method comprises a step of wavelet transform comprising the following sub-steps: forming from the input array at least one tile comprising a plurality of consecutive data block columns, each data block column being formed by a plurality of lines of consecutive data items according to the contiguous direction, the length of each line being a multiple of the cache line length; and for each data block column computing dot products between a filter vector and each group of N lines using fused multiply-add instructions for the core.