Task Scheduling via Dynamic Time Slices for Heterogeneous Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Efficient and convenient scheduling of heterogeneous hardware resources in cloud servers, including GPUs and NPUs, is challenging due to the need for seamless sharing across multiple containers, especially when dealing with non-open source device drivers.

Innovation Solution

A method and apparatus for scheduling tasks by acquiring task information, determining actual execution times, and adjusting actual scheduling times based on comparisons with preset times, allowing for efficient allocation and balancing of resources without relying on device driver openness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional scheduling methods are used for heterogeneous hardware resources, then device driver openness is required for seamless sharing, but this increases device complexity and limits compatibility with non-open source drivers

Engineering Contradiction:
Improvecompatibility with non-open source driversVSAvoidscheduling system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a time slice management mechanism as an intermediary layer between the scheduler and device drivers. This mediator tracks execution times and adjusts time slices dynamically, enabling resource sharing without requiring direct access to device driver internals. The time slice adjustment module acts as a buffer that translates hardware resource needs into manageable time-based allocations, eliminating the need for open source drivers while maintaining seamless sharing capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the scheduling parameter from static driver-level control to dynamic time slice adjustment. By monitoring actual execution times and adjusting time slices accordingly, the system adapts to different hardware resources without requiring driver openness. This parameter transformation allows the scheduler to manage heterogeneous resources uniformly through time-based allocation rather than driver-specific protocols.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If hardware resources are scheduled without time adjustment mechanisms, then scheduling is simpler, but resource utilization efficiency decreases and quality of service deteriorates

Engineering Contradiction:
Improvehardware resource utilization efficiencyVSAvoidscheduling mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the scheduler monitors actual execution times of tasks and uses this information to adjust time slices dynamically. The time slice adjustment module receives execution time data, compares it with allocated time slices, and modifies subsequent time allocations accordingly. This closed-loop feedback system optimizes resource utilization by allocating more time to tasks that execute faster and reducing time for slower tasks, thereby improving overall productivity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent transforms the static time slice allocation into a dynamic adjustment mechanism. Time slices are not fixed but are continuously modified based on actual task execution performance. The system adapts time allocations in real-time, allowing faster tasks to receive reduced time slices while slower tasks receive extended allocations. This dynamic approach maximizes hardware resource utilization efficiency by matching time allocation to actual task requirements.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If execution time is not compared with preset scheduling time, then scheduling processing is faster, but task scheduling accuracy and quality of service are compromised

Engineering Contradiction:
Improvetask scheduling accuracyVSAvoidscheduling processing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary time slice allocation before task execution, establishing expected execution time boundaries. The scheduler pre-calculates time slices based on task characteristics and hardware capabilities, then compares actual execution times against these pre-set values during scheduling decisions. This preliminary action enables accurate scheduling by having reference time parameters ready in advance, reducing the need for complex real-time calculations while maintaining scheduling precision.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces complex real-time scheduling calculations with simpler time slice comparison mechanisms. Instead of performing extensive scheduling analysis during each task execution, the system uses straightforward comparisons between actual execution times and pre-established time slices. This substitution of complex mechanical scheduling logic with simpler time-based comparisons maintains scheduling accuracy while significantly reducing processing time overhead.

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

Data Source

PatentUS12487853B2Method, apparatus, and storage medium for scheduling tasks
Publication Date: 2025.12.02 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US12487853B2 patent drawing
  • US12487853B2 patent drawing
  • US12487853B2 patent drawing

AI summary

The present disclosure provides a method, an apparatus, and a non-transitory computer readable medium for scheduling tasks. The method includes acquiring task information of a current task to be executed, the task information describing the current task to be executed; determining an execution time for the current task to be executed according to the task information; and comparing the execution time with a preset scheduling time corresponding to the current task to be executed, and adjusting an actual scheduling time corresponding to a next task to be executed according to the comparison result so as to determine whether to schedule the next task to be executed