Kernel Execution Order Scheduling Using Effective Progress Index
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a multi-core processor environment, simultaneous execution of application programs can lead to unexpected collisions over shared resources, reducing system performance and making it difficult to guarantee real-time processing and efficient scheduling of kernels.
Innovation Solution
A kernel execution order scheduling apparatus that estimates execution times using an effective progress index (EPI), memory progress index (MPI), and kernel progress index (KPI), and determines the execution order based on these indices and kernel priorities, employing preemptive and non-preemptive scheduling methods to manage time slots and adjust window sizes for optimal performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If kernels are simultaneously executed on multi-core processor, then system performance and energy efficiency are improved, but unexpected collisions occur in shared resources causing performance reduction
Solution Approach 1:
The patent applies preliminary action by estimating the execution time of each kernel before scheduling it. The estimation unit calculates execution times based on historical data and current system state, allowing the scheduler to proactively arrange kernels in an optimal order that prevents resource collisions before they occur, thereby maintaining both high performance and stability
Solution Approach 2:
The patent implements dynamics by adjusting the scheduling strategy based on real-time system conditions. The scheduler dynamically changes the execution order of kernels according to estimated execution times, priority levels, and current resource availability, allowing the system to adapt to varying workloads and prevent collisions while maximizing productivity
2Ease of operation
If kernels are scheduled based on first-in-first-out order, then scheduling simplicity is maintained, but real-time processing guarantees cannot be ensured
Solution Approach 1:
The patent applies parameter changes by introducing multiple scheduling parameters beyond simple FIFO order. The scheduler considers execution time estimates, kernel priority levels, and deadline information to dynamically adjust the execution order. This multi-parameter approach maintains reasonable operational simplicity while ensuring real-time processing guarantees through priority-based and deadline-aware scheduling
3Stability of the object's composition
If window size is fixed for non-preemptive scheduling, then scheduling predictability is improved, but flexibility to accommodate varying kernel execution times is reduced
Solution Approach 1:
The patent implements dynamics by making the window size adjustable rather than fixed. The system dynamically determines appropriate window sizes based on the estimated execution times of kernels and the specific scheduling requirements of each task. This allows the scheduler to maintain predictability within each window while adapting to varying execution demands across different windows
Data Source
AI summary
A method and apparatus for guaranteeing real-time operation of an application program that performs data processing and particular functions in a computer environment using a micro architecture are provided. The apparatus estimates execution times of kernels based on an effective progress index (EPI) of each of the kernels, and determines an execution order of the kernels based on the estimated execution times of the kernels and priority of the kernels.


