Network Appliance Packet Batching for Throughput Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The performance of network appliances in packet data communication networks is bottlenecked by inefficiencies in data packet processing, particularly when operating as intermediary nodes, due to the overhead of traditional interrupt-handling methods and the inefficiency of combining and recreating packets.
Innovation Solution
The method involves storing received data packets into batches based on their specific properties, allowing for simultaneous processing of packets that require similar operations, thereby reducing memory access overhead and maintaining packet structure for forwarding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional interrupt-handling methods are used to transfer data packets from network interface to main memory, then packet-by-packet processing can be achieved, but processing overhead increases significantly due to frequent context switches between operating system kernel and device driver
Solution Approach 1:
The patent combines multiple individual packet processing operations into a single batch processing operation. By collecting multiple packets into a batch and processing them together in one context switch cycle, the system reduces the frequency of context switches between the operating system kernel and device driver, thereby reducing overhead time while maintaining processing capability.
2Productivity
If LRO or GRO is used to combine multiple packets into a single larger packet, then memory access efficiency improves, but packet structure is altered requiring recreation which is inefficient for intermediary network nodes
Solution Approach 1:
The patent segments packets into batches based on their processing requirements rather than combining them into single large packets. Each batch maintains the individual packet structures intact while grouping them for collective processing. This approach achieves memory access efficiency through batch operations without requiring packet recreation, avoiding the complexity issues of LRO/GRO while maintaining packet integrity for intermediary nodes.
3Reliability
If packets are processed individually through the operating system's network stack, then each packet can be handled with full protocol processing, but the overhead of repeated operations on similar packets reduces overall performance
Solution Approach 1:
The patent merges multiple packet processing operations into batch processing while maintaining protocol correctness. By identifying common processing operations across multiple packets and applying them collectively to the entire batch, the system achieves both reliability (correct protocol processing) and improved productivity (reduced overhead from repeated individual operations).
Solution Approach 2:
The patent applies partial processing to batches of packets by performing common operations on the entire batch rather than each individual packet. This partial action approach handles the repetitive portions of protocol processing efficiently at the batch level, while still maintaining full protocol correctness where individual packet handling is required.
Data Source
AI summary
At least one connection is defined between protocol entities hosted by network nodes in a packet data communication network. Data packets that include information identifying communicating protocol entities are received. The received data packets are stored into batches corresponding to the defined connections, on the basis of the information identifying communicating protocol entities.