Network Interface Control Isolation for Multiprocessor Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing networked computer systems face limitations in achieving high functional efficiencies due to generic I/O treatment, which fails to account for network workload idiosyncrasies, leading to constraints in network throughput, latency, packet rate, and processing overhead, and lacks scalability and adaptability in multiprocessor systems.
Innovation Solution
A network system that separates and isolates control of processing entities, utilizing a network interface unit connected to multiple processing entities and memory units, with a packet classifier and scheduling control modules to manage data processing, allowing asymmetric allocation of resources and efficient interrupt event notification, enabling parallel packet movement and scalable data processing partitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If generic I/O treatment is used for network interface functionality, then system generality and modularity are maintained, but network processing efficiency, throughput, and latency are degraded
Solution Approach 1:
The network interface functionality is segmented into separate processing entities (network processing entity and host processing entity) with distinct control mechanisms. The network processing entity handles network-specific operations independently while the host processing entity manages host-specific operations, allowing specialized optimization without compromising overall system generality.
Solution Approach 2:
Different control mechanisms are applied to different processing entities based on their specific requirements. The network processing entity receives network-specific control signals while the host processing entity receives host-specific control signals, enabling localized optimization for each entity's functional characteristics.
2Productivity
If multiple processors service a network interface with shared queues, then processing capacity increases, but coordination overhead and difficulty in achieving processor-session affinity increase
Solution Approach 1:
Queues are segmented into dedicated queues for each processing entity rather than shared queues. Each processor has its own private queue, eliminating the need for complex coordination mechanisms and affinity management while maintaining high processing capacity through parallel operation.
Solution Approach 2:
The coordination and affinity management overhead is extracted from the multi-processor system by giving each processor its own dedicated queue. This removes the need for inter-processor coordination mechanisms, reducing system complexity while preserving parallel processing benefits.
3Adaptability or versatility
If symmetric sharing of computing resources across layers is used, then multiprocessor readiness is achieved, but processing efficiency and resource utilization are reduced due to time slicing
Solution Approach 1:
The system is segmented into distinct processing entities (network processing entity and host processing entity) that operate independently with dedicated control mechanisms. This segmentation allows each entity to execute its assigned tasks without time slicing interruptions, improving processing efficiency while maintaining multiprocessor readiness through the modular architecture.
Data Source
AI summary
A network system that provides for separating and isolating control of processing entities in a network interface. A network interface unit is operably connected to a plurality of processing entities and a plurality of memory units that define a shared memory space. The network interface unit further comprises a memory access module that includes a plurality of memory access channels, a packet classifier, and a plurality of scheduling control modules that are operable to control processing of data transported by the network. One of the processing entities operates as a hypervisor to configure control resources to isolate operation of the plurality of data processing partitions to process data transported by the network system. The packet classifier is operable to provide an association between packets and the plurality of asymmetrical data processing. In various embodiments of the invention, the asymmetrical data processing partitions can comprise a plurality of processor cores, a single processor core, a combination of strands of an individual processor core or a single strand of an individual processor core. The asymmetrical data processing partitions are scalable by adding additional processing entities.


