Microkernel Scheduling for Industrial Server Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing industrial server systems with a virtual operating system based on industrial server hardware face inefficiencies due to limited resource utilization and scheduling challenges, particularly in scenarios with complex service requirements, where current scheduling algorithms fail to meet real-time demands and lead to low CPU resource utilization.

Innovation Solution

A method and apparatus for implementing microkernel architecture in industrial servers, which generates scheduling configuration information based on microkernel task type weights, priority weights, and control program running time weights to optimize the number of control programs running on each physical core and configure scheduling algorithms, allowing for real-time control and flexible allocation of resources across multiple cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If one PLC runs on one core, then real-time control is ensured, but resource utilization is wasted and executable functions are limited

Engineering Contradiction:
Improvereal-time controlVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple control programs that can tolerate slightly lower real-time requirements onto a single core, while dedicating other cores to high real-time requirements. This combining approach allows better resource utilization while maintaining real-time control for critical functions through the hybrid scheduling mechanism.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic scheduling where the system can switch between priority-based scheduling for high real-time requirements and timetable-based scheduling for lower real-time requirements. This dynamic adaptation allows the system to optimize resource utilization while ensuring real-time control when needed.

Inventive Principle:
Principle #15Dynamics

2Reliability

If priority-based scheduling algorithm is used, then high real-time requirements are met, but complex service requirements cannot be satisfied and CPU utilization is low

Engineering Contradiction:
Improvereal-time requirementsVSAvoidservice requirements
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the scheduling approach into two distinct modes: priority-based scheduling for control programs with high real-time requirements and timetable-based scheduling for those with lower real-time requirements. This segmentation allows each mode to be optimized for its specific purpose, improving both real-time performance and adaptability to complex service requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects between priority-based and timetable-based scheduling algorithms based on the real-time requirements of each control program. This dynamic scheduling mechanism enables the system to adapt to complex service requirements while maintaining real-time performance where necessary.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If timetable-based scheduling algorithm is used, then low real-time requirements are met, but high real-time requirements are not satisfied and CPU utilization is low

Engineering Contradiction:
Improveservice requirementsVSAvoidreal-time requirements
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the scheduling approach into two distinct modes: priority-based scheduling for control programs with high real-time requirements and timetable-based scheduling for those with lower real-time requirements. This segmentation allows each mode to be optimized for its specific purpose, improving both real-time performance and adaptability to complex service requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects between priority-based and timetable-based scheduling algorithms based on the real-time requirements of each control program. This dynamic scheduling mechanism enables the system to adapt to complex service requirements while maintaining real-time performance where necessary.

Inventive Principle:
Principle #15Dynamics

4Productivity

If multiple control programs run on one core, then resource utilization improves, but scheduling complexity increases and real-time control may be compromised

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple control programs onto a single core using a hybrid scheduling mechanism that combines priority-based and timetable-based approaches. This merging improves resource utilization while the structured hybrid scheduling method manages complexity systematically, ensuring real-time control for critical programs.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system uses dynamic scheduling that adapts based on program requirements, allowing multiple programs to share a core efficiently. The dynamic selection between scheduling modes manages complexity by applying the appropriate algorithm based on real-time needs, preventing unnecessary complexity while maintaining resource efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10866833B2Method and appratus for implementing microkernel architecture of industrial server
Publication Date: 2020.12.15 KYLAND TECH CO LTD
  • US10866833B2 patent drawing
  • US10866833B2 patent drawing
  • US10866833B2 patent drawing

AI summary

Provided is a method and apparatus for implementing microkernel architecture of industrial server. The method includes calculation of dependency of control programs according to a microkernel task type weight and a microkernel task priority weight and/or a control program running time weight prior to startup of a system, and determination of the number of the control programs running on each physical core and each control program running on multiple physical cores according to the dependency.