ML-Based Hardware Resource Configuration for Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core processing systems, efficiently allocating hardware resources across processor cores is challenging due to varying workload performance requirements, leading to potential underutilization of resources and increased power consumption, as existing methods require manual configuration of numerous parameters without clear guidance on optimal settings.

Innovation Solution

A machine learning model is trained to analyze performance monitoring data and infer optimal hardware resource configurations for processor cores, enabling dynamic allocation and inter-core borrowing to match workload demands, thereby optimizing resource utilization and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual configuration of hardware resource parameters is used, then system control flexibility is maintained, but configuration complexity and time consumption increase significantly

Engineering Contradiction:
Improvehardware resource configurationVSAvoidconfiguration time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system employs performance monitoring circuitry and machine learning models that automatically detect workload characteristics and configure hardware resources without human intervention. The processor cores self-adjust their resource allocation based on real-time performance data, eliminating manual configuration efforts while adapting to changing workload demands dynamically

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical configuration processes with automated electronic systems. Machine learning algorithms analyze performance monitoring data and automatically generate configuration settings, substituting human operators with intelligent software agents that can process and respond to system states much faster than manual configuration could achieve

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If fixed hardware resource allocation is used, then system stability is maintained, but resource utilization efficiency decreases under varying workloads

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidhardware resource configuration
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system transitions from static fixed resource allocation to dynamic adaptive allocation. Hardware resources are continuously adjusted based on real-time workload characteristics detected by performance monitoring circuitry. The machine learning model learns from historical performance data and dynamically reconfigures resource allocation to match current workload demands, maximizing utilization while maintaining system stability through controlled adaptation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a closed-loop feedback system where performance monitoring circuitry continuously collects data on workload characteristics and processing performance. This feedback is fed to the machine learning model, which adjusts hardware resource configuration accordingly. The system learns from past configurations and their outcomes, continuously improving resource allocation decisions while maintaining stable operation through iterative optimization

Inventive Principle:
Principle #23Feedback

3Reliability

If excessive hardware resources are allocated to each processor core, then performance requirements are met, but power consumption increases

Engineering Contradiction:
Improveperformance requirement satisfactionVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of uniformly allocating maximum resources to all processor cores, the system applies differentiated resource allocation based on local workload characteristics. Each core receives precisely the amount and type of hardware resources it needs for its specific workload, rather than all cores receiving identical maximum allocations. This localized optimization reduces overall power consumption while ensuring each core meets its performance requirements

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent dynamically changes hardware resource parameters such as cache size, execution unit allocation, and pipeline depth based on workload characteristics. The machine learning model adjusts these parameters to match actual performance needs, allocating fewer resources to lightweight workloads and more resources to demanding workloads. This parameter adaptation allows the system to meet performance requirements only when necessary, reducing power consumption during low-demand periods

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11966785B2Hardware resource configuration for processing system
Publication Date: 2024.04.23 ARM LTD
  • US11966785B2 patent drawing
  • US11966785B2 patent drawing
  • US11966785B2 patent drawing

AI summary

A method for controlling hardware resource configuration for a processing system comprises obtaining performance monitoring data indicative of processing performance associated with workloads to be executed on the processing system, providing a trained machine learning model with input data depending on the performance monitoring data; and based on an inference made from the input data by the trained machine learning model, setting control information for configuring the processing system to control an amount of hardware resource allocated for use by at least one processor core. A corresponding method of training the model is provided. This is particularly useful for controlling inter-core borrowing of resource between processor cores in a multi-core processing system, where resource is borrowed between respective cores, e.g. cores on different layers of a 3D integrated circuit.