Processor Settings API for Priority-Aware Workload Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing job scheduling in data centers often results in inefficient use of computing resources and time due to the lack of consideration of job characteristics, leading to suboptimal processor settings.

Innovation Solution

A system and method for configuring processors based on job characteristics, using an application programming interface (API) to identify and set processor settings that align with performance preferences, priority, and resource constraints, thereby optimizing workload scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional job scheduling is used without considering job characteristics, then the scheduling process is simple, but computing resource utilization efficiency deteriorates

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

Solution Approach 1:

The system performs preliminary actions by pre-configuring processor settings and pre-identifying optimal configurations based on job characteristics before job execution. The job scheduler proactively analyzes job attributes and prepares appropriate processor configurations in advance, rather than reacting during job execution, thereby improving resource utilization efficiency without adding operational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling system dynamically adjusts processor settings based on job characteristics such as priority, performance preferences, and resource constraints. The system transitions from static scheduling to dynamic configuration, where processor parameters like frequency, voltage, and power states are adaptively modified to match specific job requirements, resolving the contradiction between simplicity and efficiency.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If processor settings are not optimized for specific jobs, then the system operation is simple, but job execution time increases

Engineering Contradiction:
Improvejob execution timeVSAvoidprocessor configuration complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system changes processor parameters such as clock frequency, voltage, and power states based on job characteristics. The job scheduler identifies optimal parameter combinations for each job type and applies them dynamically, reducing job execution time by ensuring processors operate at appropriate performance levels rather than using fixed configurations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system enables self-service by allowing the job scheduler to automatically identify and apply optimal processor settings without manual intervention. The system autonomously analyzes job characteristics, selects appropriate configurations from available options, and applies them to processors, thereby reducing execution time while maintaining operational simplicity through automation.

Inventive Principle:
Principle #25Self-service

3Productivity

If processor settings are customized for each job, then computing resource efficiency is improved, but the complexity of managing processor settings increases

Engineering Contradiction:
Improvecomputing resource efficiencyVSAvoidprocessor settings management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The job scheduler acts as an intermediary between jobs and processor settings management. It automatically translates job characteristics into appropriate processor configurations, shielding users from the complexity of manual settings management. The intermediary handles the mapping between high-level job requirements and low-level processor parameters, maintaining ease of operation while achieving customized optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The job scheduler implements a universal interface that handles multiple job types and characteristics through a single standardized mechanism. Rather than requiring separate management approaches for different job scenarios, the system uses a unified scheduling framework that adapts to various job requirements, thereby improving computing resource efficiency without increasing operational complexity.

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

4Reliability

If traditional scheduling without priority consideration is used, then the scheduling mechanism is simple, but performance optimization for critical jobs is insufficient

Engineering Contradiction:
Improveperformance guarantee for critical jobsVSAvoidscheduling mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scheduling mechanism segments jobs into different priority levels and categories based on their characteristics and requirements. Critical jobs are separated and handled with specialized scheduling policies, while less important jobs use standard scheduling. This segmentation allows the system to provide performance guarantees for critical jobs without requiring complete redesign of the entire scheduling mechanism, thus improving reliability with minimal added complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250321779A1Application programming interface to indicate a priority
Publication Date: 2025.10.16 NVIDIA CORP
  • US20250321779A1 patent drawing
  • US20250321779A1 patent drawing
  • US20250321779A1 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 indicate a priority based, at least in part, on one or more characteristics of that software workload.