Real-time Scheduling Using Expected Resource Usage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling tasks in multi-core systems and data centers is a complex NP-hard optimization problem that leads to sub-optimal resource allocation, resulting in latency degradation, wasted resources, high cost, and high power consumption due to the exponential increase in possible combinations with larger numbers of tasks and resources.

Innovation Solution

A method utilizing a special purpose optimization processor and coprocessor that analyzes applications to determine expected runtime resource use, assigning resources based on latency and resource contention costs, and continuously updating allocation schemes to optimize task distribution across processing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If optimal scheduling is attempted for large numbers of tasks and resources, then resource allocation efficiency improves, but computation time and system complexity increase exponentially

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the scheduling problem into multiple components: task affinity analysis, resource availability detection, and dynamic assignment decisions. The scheduler processes tasks in discrete time slots and makes incremental allocation decisions rather than attempting to solve the entire scheduling problem at once, thereby reducing computational complexity while maintaining optimization goals.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of task-resource affinity relationships before actual scheduling occurs. By pre-computing compatibility metrics between tasks and resources, the scheduler reduces the computational burden during real-time decision-making, enabling efficient optimal scheduling without exponential complexity increases.

Inventive Principle:
Principle #10Preliminary action

2Speed

If simple heuristic scheduling is used, then scheduling speed improves, but resource utilization and performance deteriorate

Engineering Contradiction:
Improvescheduling speedVSAvoidresource utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements partial optimization by focusing scheduling efforts on the most critical resources and tasks rather than attempting to optimize every assignment equally. The scheduler applies sophisticated optimization algorithms selectively to high-impact decisions while using simpler rules for less critical assignments, maintaining fast scheduling speeds while improving overall resource utilization.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system enables resources to self-report their availability and performance characteristics, and tasks to self-describe their requirements and preferences. This self-service mechanism reduces the computational burden on the central scheduler, enabling faster decision-making while still achieving optimized resource allocation through automated affinity-based matching.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If uniform random task distribution is applied, then scheduling simplicity is maintained, but resource contention and latency increase

Engineering Contradiction:
Improvescheduling simplicityVSAvoidtask execution latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent changes the scheduling parameter from uniform random distribution to affinity-based selective distribution. The scheduler considers task-resource compatibility metrics, resource availability states, and historical performance data to dynamically adjust assignment decisions. This parameter change eliminates hotspots and reduces latency while maintaining operational simplicity through automated decision rules.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms where resource performance, task completion times, and contention patterns are continuously monitored and fed back to the scheduler. This feedback enables the scheduler to adapt its assignment strategy in real-time, avoiding high-latency assignments and optimizing resource utilization without complicating the scheduling operation.

Inventive Principle:
Principle #23Feedback

4Speed

If preset waiting time mechanisms are used for resource availability checking, then scheduling speed is maintained, but resource allocation optimality deteriorates

Engineering Contradiction:
Improvescheduling responsivenessVSAvoidresource allocation optimality
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent transitions from static preset waiting time mechanisms to dynamic resource availability detection. The scheduler continuously monitors resource states and adjusts assignment timing based on real-time availability rather than fixed waiting periods. This dynamic approach maintains scheduling speed by making decisions only when resources are actually available, while improving allocation optimality by capturing genuine availability opportunities.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11966783B1Real time scheduling using expected application resource usage
Publication Date: 2024.04.23 CAPITAL ONE SERVICES LLC
  • US11966783B1 patent drawing
  • US11966783B1 patent drawing
  • US11966783B1 patent drawing

AI summary

A method of assigning processing resources is described. The method includes receiving an application and analyzing the application to determine an expected run time use of the processing resources. At least a portion of the processing resources are assigned to the application based on the expected run time use of the processing resources. A computing system architecture including a processing resource pool, an interface, and a special purpose optimization coprocessor is also described. The interface receives an application to be executed. The special purpose optimization coprocessor receives information about the application and the processing resource pool and outputs an allocation scheme for allocating tasks of the application to the processing resource pool.