Kernel Execution Order Scheduling Using Effective Progress Index

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesystem performanceVSAvoidperformance stability
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvescheduling simplicityVSAvoidreal-time processing guarantee
Core Design Contradiction:
Ease of operationVSReliability

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvescheduling predictabilityVSAvoidflexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

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

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9244733B2Apparatus and method for scheduling kernel execution order
Publication Date: 2016.01.26 SAMSUNG ELECTRONICS CO LTD
  • US9244733B2 patent drawing
  • US9244733B2 patent drawing
  • US9244733B2 patent drawing

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.