Processor Dedication for Network Polling Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Symmetric multi-processing systems face bottlenecks due to interrupt handler switching overhead and context switching, which increase resource usage and reduce system performance.
Innovation Solution
Dedicating a subset of processors to a specific task, disabling interrupts, and using a pseudo network interface controller to bypass traditional network interface controllers, allowing processors to perform specialized functions like network polling without context switching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If context switching is used to manage multiple tasks in an SMP system, then task multiplexing is enabled, but system performance deteriorates due to interrupt handler switching overhead and increased resource usage
Solution Approach 1:
The patent segments the processor population into two distinct groups: a first set of processors dedicated to network polling tasks and a second set of processors dedicated to operating system operations. This segmentation eliminates the need for context switching between different task types, as each processor type performs its designated function continuously without interruption. The segmentation resolves the contradiction by enabling task multiplexing through functional separation while eliminating the performance penalties associated with interrupt handling and context switching overhead.
Solution Approach 2:
The patent extracts the network polling function from the general-purpose processor pool and assigns it to a dedicated first set of processors. By taking out the network polling task from the mixed workload and giving it its own dedicated hardware resources, the system eliminates the need for context switching between network tasks and OS tasks. This extraction resolves the technical contradiction by maintaining task multiplexing capability while removing the performance overhead associated with interrupt handlers and context switching mechanisms.
2Ease of operation
If interrupt handlers are used to manage processor tasks, then task scheduling is enabled, but resource usage increases and performance decreases
Solution Approach 1:
The patent extracts the interrupt handling mechanism from the system architecture by eliminating interrupts entirely. Instead of using interrupt handlers to manage task scheduling, the system uses a dedicated first set of processors that continuously poll for network conditions without generating interrupts. This extraction resolves the contradiction by maintaining task scheduling capability through alternative means while significantly reducing resource usage associated with interrupt handlers, context switching, and associated overhead structures.
Solution Approach 2:
The patent implements continuous useful action by having the first set of processors continuously poll for network conditions without interruption. This continuous polling approach eliminates the stop-start nature of interrupt-driven task scheduling, allowing network tasks to be performed continuously without the resource overhead of interrupt handling. The continuity of useful action resolves the contradiction by enabling task management while reducing resource usage through the elimination of interrupt-related overhead.
3Productivity
If traditional network interface controllers are used, then network communication is enabled, but processing overhead increases due to interrupt handling
Solution Approach 1:
The patent extracts the network polling function from the traditional interrupt-driven network interface controller model and implements it through a dedicated first set of processors that continuously monitor network conditions. This extraction eliminates the processing overhead associated with interrupt handling while maintaining network communication capability. The dedicated processors perform network polling directly without requiring interrupt handlers, context switching, or complex task scheduling, thereby reducing device complexity while preserving network productivity.
Data Source
AI summary
Improving the performance of multitasking processors are provided. For example, a subset of M processors within a system with N processors is dedicated for a desired task. The M (where M>0) of the N processors are dedicate to a task, thus, leaving N−M (N minus M) processors for running normal operating system (OS). The processors dedicated to the task may have their interrupt mechanism disabled to avoid interrupt handler switching overhead. Therefore, these processors run in an independent context and can communicate with the normal OS and cooperation with the normal OS to achieve higher performance.


