Real-Time Network Thread Manager for Multi-Core CPU Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in network file servers with multiple core central processing units is effectively distributing the execution of real-time and general-purpose code threads among the CPUs, as some threads require permanent or temporary affinity to specific CPUs, leading to complexities in scheduling and resource management.

Innovation Solution

A method and system where a real-time network thread manager places real-time tasks on a task list, and a scheduler activates and executes these tasks in response to events, utilizing hard and soft affinity queues to manage thread execution across multiple CPUs, ensuring efficient processing and minimizing interference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple core CPUs are used for processing, then productivity is improved, but device complexity increases due to scheduling and affinity management

Engineering Contradiction:
Improveprocessing throughputVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the task queue into multiple CPU-specific queues (task0, task1, task2, task3) corresponding to different CPU cores. Each queue is dedicated to specific CPUs, eliminating the need for complex dynamic scheduling decisions. This segmentation allows parallel processing across multiple cores while simplifying the scheduling mechanism to basic queue iteration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by assigning specific task queues to specific CPU cores based on affinity relationships. Each CPU core has dedicated queues (e.g., task0 for CPU0, task1 for CPU1) and processes tasks from its assigned queues. This local assignment optimizes cache utilization and reduces inter-core communication overhead while maintaining simple scheduling logic.

Inventive Principle:
Principle #3Local quality

2Reliability

If thread affinity to specific CPUs is enforced, then reliability is improved through consistent execution, but ease of operation deteriorates due to assignment management

Engineering Contradiction:
Improveexecution consistencyVSAvoidthread assignment management
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments tasks into affinity-based groups where each task is associated with specific CPU cores. The system automatically manages these assignments through dedicated queues, ensuring consistent execution on the same CPU cores without requiring manual intervention. This segmentation maintains reliability while automating the assignment management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements self-service by automatically managing thread-to-CPU affinity assignments through the queue structure. Each CPU core autonomously processes tasks from its assigned queues without requiring external scheduling decisions. This self-organizing approach maintains execution consistency while eliminating manual assignment management.

Inventive Principle:
Principle #25Self-service

3Reliability

If real-time task scheduling is implemented, then reliability is improved through deterministic execution, but device complexity increases due to scheduling mechanisms

Engineering Contradiction:
Improvereal-time execution guaranteeVSAvoidscheduling mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments real-time tasks into CPU-specific queues that are processed in a deterministic round-robin manner. Each CPU core processes tasks from its assigned queues in sequence, providing predictable execution timing. This segmentation achieves real-time guarantees through simple, repeatable scheduling behavior rather than complex dynamic scheduling algorithms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic action through round-robin scheduling where each CPU core periodically processes tasks from its queues in a fixed sequence. This periodic execution pattern ensures deterministic timing and real-time performance while maintaining simple scheduling logic based on queue iteration rather than complex priority management.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9411636B1Multi-tasking real-time kernel threads used in multi-threaded network processing
Publication Date: 2016.08.09 EMC IP HLDG CO LLC
  • US9411636B1 patent drawing
  • US9411636B1 patent drawing
  • US9411636B1 patent drawing

AI summary

For multi-threaded network processing, a real-time task is scheduled in a network server by placing the task on a real-time task list, activating the task when an event occurs during operation of the network server, and executing the task when scanning the task list and finding that the task has been activated. For example, an application or kernel process sends to a real-time network thread manager a request to register a task specified by an address of a task service routine. The thread manager places the address in an entry on the task list and returns a cookie identifying the entry. Upon occurrence of the event, an interrupt routine sends to a task activation routine a request to activate the task specified by the cookie. At periodic intervals, if there are any activated tasks on the task list, then a real-time scheduler scans the task list.