Memory Bank Power Control for Scheduled AI Computations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Scheduled computations, such as matrix calculations in artificial intelligence and graphics processing, face high runtime costs, memory consumption, and power usage due to their large computational demands and frequent memory access.
Innovation Solution
Implementing a computer system with a scheduled computation module that uses specialized hardware and compression-encoding techniques to reduce memory storage requirements and power consumption by selectively controlling the power state of memory banks based on predetermined access patterns, allowing for parallel and concurrent processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If memory banks are continuously powered to ensure fast data access for scheduled computations, then access speed is improved, but power consumption increases
Solution Approach 1:
The memory system is divided into multiple independent memory banks, each with its own power control. This segmentation allows individual banks to be powered down when not needed, while other banks remain active for fast access, resolving the contradiction between continuous power (high energy use) and intermittent power (slower access).
Solution Approach 2:
The power state of memory banks is dynamically adjusted based on the scheduled computation requirements. Banks are transitioned between active and powered-down states according to the access pattern, enabling the system to adapt power consumption to actual performance needs rather than maintaining a static high-power state.
2Productivity
If all memory banks are kept active to handle concurrent data access, then computational throughput is improved, but power consumption increases
Solution Approach 1:
By segmenting the memory system into independently controllable banks, the system can activate only the necessary number of banks for each computational task. This maintains high throughput when needed while reducing power consumption when fewer banks are sufficient.
Solution Approach 2:
Each memory bank is designed to be universally functional and independently controllable, allowing any bank to serve any computational requirement. This universality enables flexible configuration where the system can scale power consumption from 1 to N banks based on the specific computational workload.
3Reliability
If memory capacity is increased to store all required data, then data availability is improved, but power consumption and memory usage increase
Solution Approach 1:
The system performs preliminary organization of data into scheduled access patterns, allowing it to predict which memory banks will be needed and when. This preliminary action enables the system to power down banks in advance while ensuring data availability when needed, rather than keeping all banks continuously powered.
Solution Approach 2:
The memory allocation is dynamically adjusted based on the scheduled computation requirements. The system activates only the necessary memory capacity for each task rather than maintaining full capacity continuously, resolving the contradiction between having all data available and consuming less power.
4Productivity
If memory access frequency is increased to support complex computations, then computational performance is improved, but power consumption increases
Solution Approach 1:
The system uses periodic scheduled access patterns to memory banks, where banks are activated in rhythmic cycles according to computation requirements rather than continuous access. This periodic action maintains computational performance while allowing banks to enter low-power states between access cycles.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
A computer system comprising a scheduled computation module, a work memory storage device, and a controller. The scheduled computation module is configured to receive and process data values according to a predetermined access pattern. The work memory storage device includes one or more work memory banks. The controller is configured to, based on scheduling information associated with the predetermined access pattern, (a) provide data values held by the one or more work memory banks to the scheduled computation module, and (b) selectively control a power state of the one or more work memory banks.