MAC Array Data Sub-tensor Allocation for Uniform Wear
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Machine learning models, such as neural networks, face inefficiencies due to non-uniform hardware usage in MAC arrays, leading to premature failure and reduced performance, as some sections age faster than others due to unbalanced workloads and thermal hotspots.
Innovation Solution
Divide input data tensors into sub-tensors and map them to logical sub-arrays within the MAC array, using techniques like rotation, metric-based allocation, and interleaved patterns to distribute load uniformly and reduce thermal hotspots.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the operating frequency of the entire MAC array is reduced to prolong circuit life, then the reliability is improved, but the productivity deteriorates
Solution Approach 1:
The MAC array is divided into multiple independent sub-arrays, each capable of processing different portions of data independently. This segmentation allows selective operation of sub-arrays based on their individual health status, preventing the need to reduce the operating frequency of the entire array. Healthy sub-arrays can continue operating at full speed while damaged ones are bypassed, thus maintaining productivity while improving reliability.
Solution Approach 2:
The system dynamically assigns different data sub-tensors to different sub-arrays based on real-time health status and workload distribution. This dynamic allocation allows the system to adapt to changing hardware conditions, optimizing the use of available resources and maintaining high productivity even as some components age or fail.
2Device complexity
If data is processed using a uniform allocation method across the MAC array, then the device complexity is reduced, but the reliability deteriorates due to non-uniform wear
Solution Approach 1:
Different sub-arrays are assigned different data sub-tensors based on their individual characteristics and health status. This local quality approach ensures that each sub-array operates within its optimal capacity, preventing any single sub-array from being overutilized. The result is more uniform wear distribution across the array, improving overall reliability without requiring complex global reallocation mechanisms.
Solution Approach 2:
The system changes the allocation parameters dynamically based on sub-array health status, workload metrics, and performance requirements. By adjusting these parameters, the system can optimize the balance between uniform wear distribution and processing efficiency, improving reliability without significantly increasing device complexity.
3Productivity
If heavily-used portions of the array continue to operate at full capacity, then the productivity is maintained, but the reliability deteriorates due to accelerated aging
Solution Approach 1:
The system implements periodic monitoring and reallocation of data sub-tensors to different sub-arrays. This periodic action allows heavily-used sub-arrays to be given rest periods or reduced workload, preventing accelerated aging while maintaining overall productivity through the use of other available sub-arrays. The periodic rebalancing ensures no single sub-array is continuously overutilized.
Data Source
AI summary
Certain aspects of the present disclosure provide techniques for improved hardware utilization. An input data tensor is divided into a first plurality of sub-tensors, and a plurality of logical sub-arrays in a physical multiply-and-accumulate (MAC) array is identified. For each respective sub-tensor of the first plurality of sub-tensors, the respective sub-tensor is mapped to a respective logical sub-array of the plurality of logical sub-arrays, and the respective sub-tensor is processed using the respective logical sub-array.


