Task Scheduling via Dynamic Time Slices for Heterogeneous Hardware
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If hardware resources are scheduled without time adjustment mechanisms, then scheduling is simpler, but resource utilization efficiency decreases and quality of service deteriorates
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.
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.
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
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.
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.
Data Source
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


