Approximate Memoization for Power Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


