FFT Cache Optimization via Radix-R Butterfly Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance gap between CPU and memory speeds in digital signal processing systems leads to memory stalls and reduced processing efficiency due to the inability of current memory technology to keep up with increasing processor speeds, particularly in real-time systems where consistent cache usage is critical.

Innovation Solution

Implementing a method for performing an N-point radix-R Fast Fourier Transform in a data processing apparatus with a data cache, where data sets are divided to optimize cache usage by performing initial stages of radix-R butterfly computations and subsequent stages on independent intermediate data sets, reducing cache thrashing and memory access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory size is increased to match CPU speed requirements, then memory capacity is improved, but cost and physical size increase significantly

Engineering Contradiction:
Improvememory capacityVSAvoidcost and physical size
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent divides the FFT computation into multiple passes, with each pass processing a subset of data that fits within the limited cache memory. This segmentation allows the system to handle large datasets without requiring proportionally large memory capacity, resolving the contradiction between needed memory capacity and manufacturing constraints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary data organization and sorting operations to arrange input data in an optimal order for cache-efficient processing. By pre-organizing data before the main FFT computation, the system maximizes cache utilization and reduces the effective memory capacity needed during critical computation phases.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If CPU clock speed is increased to improve processing performance, then productivity is improved, but memory access becomes a bottleneck due to the performance gap between CPU and memory

Engineering Contradiction:
ImproveCPU processing speedVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent structures the FFT computation as a series of periodic passes, where each pass processes a manageable chunk of data through complete compute cycles. This periodic structure allows the CPU to maintain high clock speeds by working on small, cache-resident datasets rather than continuously accessing large external memory, thereby reducing memory access time penalties.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent ensures continuous CPU utilization by organizing computation into pipelines where multiple operations overlap. While one pass is computing, another pass is preparing data or loading from cache, eliminating idle CPU cycles and maintaining continuous useful action despite memory hierarchy limitations.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If cache memory is made larger to reduce cache misses, then average memory access time is improved, but the performance gap with external memory worsens as cache size approaches external memory capacity

Engineering Contradiction:
Improveaverage memory access timeVSAvoidrelative speed advantage of cache
Core Design Contradiction:
Loss of timeVSSpeed

Solution Approach 1:

The patent changes the parameter of data organization and access patterns to match cache characteristics. By transforming the input data into a sorted order that maximizes spatial and temporal locality, the system achieves high cache hit rates with small cache sizes, maintaining the speed advantage without requiring large cache capacity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7454452B2Fast fourier transform operation with reduced cache penalty
Publication Date: 2008.11.18 TEXAS INSTRUMENTS INC
  • US7454452B2 patent drawing
  • US7454452B2 patent drawing
  • US7454452B2 patent drawing

AI summary

A data processing apparatus having data cache performs an N-point radix-R Fast Fourier Transform. If the data set is smaller than the data cache, the data processing apparatus performs the Fast Fourier Transform in logRN stages on all the data set in one pass. If the data set is larger than the data cache but smaller than R times the data cache, the data processing apparatus performs a first stage radix-R butterfly computation on all the input data producing R independent intermediate data sets. The data processing apparatus then successively performs second and all subsequent stage butterfly computations on each independent intermediate data set in turn producing corresponding output data. During the first stage radix-R butterfly computations, each of R continuous sets are separated in memory by memory locations equal to the size of a cache line.