Multithreaded Processor Resource Scheduling via QoS Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing bandwidth and resources for multithreaded processors with a mix of unacceptable deadline miss (UDM) and non-UDM threads is challenging, as UDM threads require prioritization to prevent failures, while non-UDM threads can cause resource starvation, leading to unacceptable deadline misses.

Innovation Solution

A system that determines danger levels and priority levels for threads, schedules transactions based on these levels, and throttles low-priority non-UDM threads to ensure sufficient resources are allocated to high-priority UDM threads, using a Quality of Service (QoS) controller and traffic throttles to manage shared resources effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If non-UDM threads are allowed to execute freely to maximize processor utilization, then productivity is improved, but UDM threads may suffer from resource starvation leading to unacceptable deadline misses

Engineering Contradiction:
Improveprocessor utilizationVSAvoiddeadline meeting guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A QoS controller is introduced as an intermediary component that monitors resource usage and dynamically adjusts bandwidth allocation between UDM and non-UDM threads. The controller receives bandwidth requests from both thread types and applies priority-based arbitration, ensuring UDM threads receive sufficient resources while allowing non-UDM threads to utilize remaining capacity, thus resolving the contradiction between productivity and reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements dynamic bandwidth allocation where resource allocation is not fixed but adjusts in real-time based on current system state. The QoS controller continuously monitors thread execution status and modifies bandwidth grants dynamically, allowing the system to adapt between maximizing productivity when UDM deadlines are met and protecting reliability when resource contention threatens deadline compliance

Inventive Principle:
Principle #15Dynamics

2Reliability

If bandwidth is prioritized for UDM threads to prevent failures, then reliability is improved, but non-UDM threads experience resource starvation

Engineering Contradiction:
ImproveUDM deadline complianceVSAvoidnon-UDM thread execution
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies different quality levels of service to different thread types. UDM threads receive high-priority bandwidth allocation with guaranteed minimum resources to ensure reliability, while non-UDM threads receive lower-priority allocation that utilizes remaining capacity. This local differentiation of resource quality allows the system to protect critical UDM functionality while maintaining overall system productivity through non-UDM execution

Inventive Principle:
Principle #3Local quality

3Device complexity

If a fixed bandwidth allocation scheme is used to simplify resource management, then device complexity is reduced, but the system cannot adapt to varying workload demands

Engineering Contradiction:
Improveresource management mechanismVSAvoidworkload adaptation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The QoS controller implements a feedback mechanism that continuously monitors bandwidth consumption and deadline compliance status. Based on this feedback, the controller adjusts bandwidth allocation decisions in subsequent time periods. This closed-loop control provides adaptability to varying workload demands while maintaining manageable complexity through automated decision-making based on predefined policies and real-time system state

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3304301B1Bandwidth/resource management for multithreaded processors
Publication Date: 2023.04.26 QUALCOMM INC
  • EP3304301B1 patent drawingFigure 1
  • EP3304301B1 patent drawingFigure 2
  • EP3304301B1 patent drawingFigure 3

AI summary

Systems and methods relate to managing shared resources in a multithreaded processor comprising two or more processing threads. Danger levels for the two or more threads are determined, wherein the danger level of a thread is based on a potential failure of the thread to meet a deadline due to unavailability of a shared resource. Priority levels associated with the two or more threads are also determined, wherein the priority level is higher for a thread whose failure to meet a deadline is unacceptable and the priority level is lower for a thread whose failure to meet a deadline is acceptable. The two or more threads are scheduled based at least on the determined danger levels for the two or more threads and priority levels associated with the two or more threads.