Approximate Memoization for Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing value memoization techniques in computing systems face challenges in achieving significant electrical power savings and performance improvements due to overheads associated with detecting redundant calculations and memory operations, particularly in memory-intensive and processor-intensive applications like 3-D graphics rendering.

Innovation Solution

The introduction of new machine-level instructions for managing a value cache, a special purpose functional unit for memoization, and dynamic mechanisms to monitor and adjust memoization operations, including altering precision and deactivating memoization when beneficial, to optimize the reuse of calculated results and reduce redundant operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If value memoization is implemented to eliminate redundant calculations, then productivity is improved, but device complexity increases due to overhead of detecting redundant operations

Engineering Contradiction:
Improvecalculation efficiencyVSAvoidmemoization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically detecting redundant calculations and memory operations through runtime monitoring mechanisms. The processor itself identifies and eliminates redundant operations without external intervention, using overhead instructions to track and compare operations dynamically during execution.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention implements feedback mechanisms where the system continuously monitors its own operations, compares current operations against previously executed operations, and uses this feedback to eliminate redundant calculations. The runtime monitoring provides feedback loops that enable the system to adaptively optimize performance by identifying and skipping redundant operations.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If precise memoization is used to ensure accurate results, then measurement precision is improved, but use of energy increases due to redundant monitoring and comparison operations

Engineering Contradiction:
Improvecalculation accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by selectively monitoring and comparing only critical operations that significantly impact results, rather than all operations. This allows the system to maintain measurement precision for important calculations while reducing energy consumption by skipping monitoring of less critical operations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The invention dynamically changes monitoring parameters based on operation importance and error tolerance. The system adjusts the level of monitoring and comparison intensity according to the specific operation being performed, allowing precise monitoring when needed and reduced monitoring when acceptable error margins exist.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If comprehensive operation monitoring is implemented to eliminate all redundant operations, then productivity is improved, but loss of time occurs due to extensive detection and comparison overhead

Engineering Contradiction:
Improveoperation efficiencyVSAvoiddetection overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-identifying and caching information about frequently executed operations before they need to be compared. The monitoring mechanism prepares comparison data in advance and uses hashing or indexing techniques to enable rapid lookup, reducing the time required for redundancy detection during actual operation execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9658851B2Device and method for approximate memoization
Publication Date: 2017.05.23 QUALCOMM INC
  • US9658851B2 patent drawing
  • US9658851B2 patent drawing
  • US9658851B2 patent drawing

AI summary

An exemplary embodiment relates generally to methods and apparatus of operating a computing device to perform approximate memoizations. Computer code analysis methods, special hardware units, and run-time apparatus that allow limited errors to occur are disclosed. A computer code generation process, part of compiler or interpreter of a computing system, targeting to insert special instructions in the software code of a computer program is also disclosed, wherein the special instructions may embed information to manage the approximation of value memoizations. The presented technology may reduce the electric power consumption of a computing system by reusing the results or part of the results of previous arithmetic or memory operations. Run-time hardware apparatus to manage the elimination of the operations and control the error introduced by approximate value memoizations are also disclosed.