Vector Scan Partitioning for Energy-Performance Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face a challenge in balancing performance and energy consumption during vector scan operations, as fully parallelized approaches reduce processing steps but increase energy consumption and circuit complexity, while serialized methods are energy-efficient but fail to exploit performance gains from parallelization.

Innovation Solution

A data processing apparatus and method that partitions vector elements into groups between 2 and N/2, performing separate scan operations on each group to produce intermediate results, which are then combined to yield the final result, reducing the number of operations and circuit complexity while maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If fully parallelized approach is used for vector scan operation, then processing speed is improved, but energy consumption and circuit complexity increase

Engineering Contradiction:
Improveprocessing speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent divides the vector operand into multiple groups and performs scan operations on each group separately rather than fully parallelizing across all elements. This segmentation reduces the number of simultaneous operations needed, thereby lowering energy consumption while maintaining acceptable processing speed through pipelined execution of group operations.

Inventive Principle:
Principle #1Segmentation

2Speed

If fully parallelized approach is used for vector scan operation, then processing speed is improved, but circuit complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcircuit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

By segmenting the vector elements into groups and performing scan operations on each group separately, the patent reduces the complexity of the processing circuitry required. Instead of building a fully parallel circuit that handles all N elements simultaneously, the circuit processes smaller groups sequentially, reducing hardware complexity while maintaining performance through efficient group-level parallelism.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If serialized implementation is used for vector scan operation, then energy consumption is reduced, but processing performance deteriorates

Engineering Contradiction:
Improveenergy consumptionVSAvoidprocessing performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent implements a middle-ground approach by segmenting the vector into groups and processing each group with a scan operation. This is more efficient than fully serialized processing because multiple groups can be processed in parallel or through pipelining, thereby maintaining better processing performance while consuming less energy than full parallelization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing a complete scan operation on the entire vector in a single serialized pass, the patent applies scan operations to partial segments (groups) of the vector. This partial action approach reduces the computational burden and energy consumption while still achieving the required scan functionality across the entire vector through combination of group results.

Inventive Principle:
Principle #16Partial or excessive action

4Quantity of substance

If number of vector elements N is increased, then processing capacity is improved, but number of operations increases exponentially in fully parallelized approach

Engineering Contradiction:
Improveprocessing capacityVSAvoidnumber of operations
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides N vector elements into groups of size M, where M is much smaller than N. Each group undergoes a scan operation requiring O(M) operations instead of O(N). By processing groups separately and combining results, the total number of operations becomes O(N/M * M) = O(N) rather than the exponential growth that would occur with fully parallelized approaches for large N, thereby scaling efficiently with increased processing capacity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9355061B2Data processing apparatus and method for performing scan operations
Publication Date: 2016.05.31 ARM LTD
  • US9355061B2 patent drawing
  • US9355061B2 patent drawing
  • US9355061B2 patent drawing

AI summary

A data processing apparatus and method are provided for executing a vector scan instruction. The data processing apparatus comprises a vector register store configured to store vector operands, and processing circuitry configured to perform operations on vector operands retrieved from said vector register store. Further, control circuitry is configured to control the processing circuitry to perform the operations required by one or more instructions, said one or more instructions including a vector scan instruction specifying a vector operand comprising N vector elements and defining a scan operation to be performed on a sequence of vector elements within the vector operand. The control circuitry is responsive to the vector scan instruction to partition the N vector elements of the specified vector operand into P groups of adjacent vector elements, where P is between 2 and N/2, and to control the processing circuitry to perform a partitioned scan operation yielding the same result as the defined scan operation. The processing circuitry is configured to perform the partitioned scan operation by performing separate scan operations on those vector elements of the sequence contained within each group to produce intermediate results for each group, and to perform a computation operation to combine the intermediate results into a final result vector operand containing a sequence of result vector elements. The partitioned scan operation approach of the present invention enables a balance to be achieved between energy consumption and performance.