OS Kernel Scheduler for Latency-Sensitive Workload Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processor scheduling techniques fail to effectively load-balance latency-sensitive tasks across multiple isolated processors, leading to inefficient resource utilization and potential delays in latency-sensitive applications.
Innovation Solution
The proposed solution involves an operating system scheduler that identifies latency-sensitive tasks with associated latency constraints and schedules their execution across a set of isolated processors, while simultaneously scheduling latency-insensitive tasks on non-isolated processors for load-balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the kernel scheduler performs load balancing across all processors, then resource utilization improves, but latency-sensitive tasks experience unpredictable delays
Solution Approach 1:
The patent segments the processor set into isolated processors and non-isolated processors. The kernel scheduler performs load balancing only on non-isolated processors, while isolated processors are reserved for latency-sensitive tasks. This segmentation resolves the contradiction by allowing resource utilization to improve through load balancing on non-isolated processors while preventing latency issues on isolated processors.
Solution Approach 2:
The patent extracts latency-sensitive tasks from the general load balancing scope and places them on isolated processors that are excluded from kernel scheduler load balancing. This extraction allows the kernel scheduler to focus on resource utilization for non-latency-sensitive tasks while guaranteeing predictable timing for isolated tasks.
2Reliability
If isolated processors are excluded from kernel scheduler load balancing, then latency predictability improves, but resource utilization deteriorates
Solution Approach 1:
The patent creates a dual scheduling system where the kernel scheduler handles non-isolated processors for general resource utilization, while a separate mechanism handles isolated processors for latency-critical tasks. This multi-functionality allows the system to achieve both latency predictability and resource utilization by assigning different functions to different processor sets.
Solution Approach 2:
The patent introduces an intermediary mechanism (the isolated processor set and associated scheduling interface) that mediates between the kernel scheduler's load balancing and the latency-sensitive tasks' timing requirements. This intermediary allows resource utilization to be optimized by the kernel scheduler while protecting latency-sensitive tasks from load balancing interruptions.
3Reliability
If applications manually manage tasks on isolated processors, then latency constraints are met, but system complexity increases
Solution Approach 1:
The patent enables applications to self-service by providing interfaces that allow them to create and move latency-sensitive tasks on isolated processors autonomously. This self-service approach meets latency constraints while managing complexity by giving applications direct control rather than requiring complex kernel-level coordination.
Solution Approach 2:
The patent merges the task creation and movement operations into a unified interface model where applications can manage isolated processor tasks through standardized system calls. This merging simplifies the interface complexity while maintaining the ability to meet latency constraints through direct application control.
Data Source
AI summary
The technology disclosed herein enables an operating system kernel to schedule and perform load balancing of latency-sensitive tasks on processors that are otherwise excluded from a scope of load balancing performed by the kernel scheduler. An example method may include identifying, in an operating system of a computing device, one or more first tasks and one or more second tasks, where the second tasks are characterized by one or more latency constraints, identifying a first set of processors that are available for load balancing by a kernel scheduler of the operating system, scheduling execution of the first tasks on the first set of processors, identifying a second set of processors that are excluded from a scope of load balancing performed by the kernel scheduler, and scheduling execution of the second tasks on the second set of processors.


