Multicore Shared-Resource Control Using Hardware Priority Tags

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor cores in multicore processors face unpredictable and degraded quality of service due to contention for shared resources such as caches and memory bandwidth, which existing technologies like Resource Director Technology (RDT) struggle to address effectively.

Innovation Solution

Implementing hardware-based resource allocation mechanisms that utilize priority tags (PTAG) and class of service (CLOS) values to autonomously manage shared resources, allowing hardware to dynamically allocate resources based on thread priorities without requiring software monitoring or configuration changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If software-based resource monitoring and control (e.g., RDT) is used, then resource allocation control is achieved, but system complexity and overhead increase

Engineering Contradiction:
Improveresource allocation automationVSAvoidsystem complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The hardware resource allocation mechanism automatically monitors thread priorities and allocates resources without requiring software intervention. The system uses hardware priority tags and class of service values to autonomously make allocation decisions, eliminating the need for complex software-based monitoring and control systems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces software-based resource management mechanisms with hardware-based mechanisms. Hardware priority tags and class of service values are used to directly control resource allocation, substituting the need for complex software monitoring and control systems with simpler hardware-level operations.

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

2Reliability

If existing resource control technologies (e.g., RDT) are used, then resource monitoring is provided, but quality of service remains degraded and unpredictable

Engineering Contradiction:
Improvequality of serviceVSAvoidresource allocation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The hardware-based resource allocation mechanism dynamically adjusts resource distribution based on real-time thread priority changes and resource availability. Unlike static software controls, the system can respond immediately to changing conditions, ensuring predictable quality of service and optimizing resource utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where thread priority information and resource usage status are continuously monitored and used to adjust allocation decisions. This feedback loop ensures that resources are allocated optimally based on current system conditions, improving both reliability and productivity.

Inventive Principle:
Principle #23Feedback

3Speed

If hardware-based priority-based allocation is implemented, then resource allocation responsiveness is improved, but hardware complexity increases

Engineering Contradiction:
Improveresource allocation responsivenessVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The hardware mechanism is designed to handle multiple resource types (cache, memory bandwidth, I/O devices) using a unified priority-based allocation approach. By creating a universal allocation framework that works across different resource types, the system achieves high responsiveness without proportionally increasing hardware complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses parameter changes in priority tags and class of service values to control resource allocation behavior. By modifying these parameters rather than adding complex control logic, the hardware achieves responsive allocation while keeping the implementation relatively simple and scalable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12443453B2Autonomous and extensible resource control based on software priority hint
Publication Date: 2025.10.14 INTEL CORP
  • US12443453B2 patent drawing
  • US12443453B2 patent drawing
  • US12443453B2 patent drawing

AI summary

Embodiments of apparatuses, methods, and systems for resource control based on software priority are described. In embodiments, an apparatus includes resource sharing hardware and multiple cores. The resource sharing hardware is to share the shared resource among the cores. A first core includes first execution circuitry to execute multiple threads. The first core also includes registers programmable by software. A first register is to store a first identifier of a first thread and a first priority tag to indicate a first priority of the first thread relative to a second priority of a second thread. A second register to store a second identifier of the second thread and a second priority tag to indicate the second priority of the second thread relative to the first priority of the first thread. The resource sharing hardware is to use the first priority and the second priority to control access to the shared resource by the first thread and the second thread.