Processor Settings API for Job-Aware Resource Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing job scheduling systems in data centers do not efficiently utilize computing resources, leading to suboptimal use of processors and time in performing jobs.

Innovation Solution

A system that uses processor settings profiles based on job characteristics to configure processors, including an API to set clock frequencies and priorities, ensuring efficient resource allocation and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If job scheduling is performed based on priority level only, then job execution order is determined, but computing resources are not efficiently utilized

Engineering Contradiction:
Improvejob scheduling efficiencyVSAvoidcomputing resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting processor settings (clock frequency, power state, core allocation) based on job characteristics such as priority level, estimated run time, and resource requirements. This allows the system to optimize computing resource utilization by matching processor performance parameters to the specific needs of each job, rather than using fixed scheduling based solely on priority.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If processor settings are optimized for each job, then computing resource efficiency improves, but system complexity increases

Engineering Contradiction:
Improvecomputing resource efficiencyVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-calculating and storing processor settings profiles that correspond to different job characteristics and priority levels. When a job is submitted, the scheduler retrieves the appropriate pre-defined profile rather than computing optimal settings in real-time, thereby reducing system complexity while maintaining resource optimization benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system manages complexity by organizing processor settings as configurable parameters that can be adjusted based on job attributes. This structured approach to parameter management allows efficient resource allocation without requiring complex real-time decision-making logic in the scheduler.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If clock frequency is increased for high priority jobs, then job completion time decreases, but power consumption increases

Engineering Contradiction:
Improvejob completion timeVSAvoidprocessor power consumption
Core Design Contradiction:
Loss of timeVSUse of energy by stationary object

Solution Approach 1:

The patent applies local quality by assigning different clock frequencies and power states to different processor cores or processing units based on the specific job requirements. High priority jobs that require fast completion can be assigned to cores operating at higher frequencies, while lower priority or less time-sensitive jobs can utilize cores at lower frequencies, thereby optimizing the trade-off between completion time and power consumption on a per-job basis rather than uniformly across all processors.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250322481A1Application programming interface to identify processor settings
Publication Date: 2025.10.16 NVIDIA CORP
  • US20250322481A1 patent drawing
  • US20250322481A1 patent drawing
  • US20250322481A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform an application programming interface (API) to identify processor settings to be used when performing one or more software workloads. As an example, one or more processors comprising one or more circuits perform an API to identify processor settings to be used to configure processors assigned to perform a software workload based, at least in part, on one or more characteristics of that software workload.