PNIC Flow Selection for Elephant Flow Hardware Offload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Physical network interface cards (PNICs) have limitations in processing flows using hardware acceleration techniques, and the network performance improvement is not maximized if flows that do not benefit significantly from hardware acceleration are offloaded.
Innovation Solution
Classify flows into elephant and mice flows, offloading packet processing for elephant flows to PNICs while processing mice flows in software, and use receive side scaling to map elephant flows to separate queues to avoid head-of-line blocking delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hardware acceleration techniques are applied to process packets in the PNIC, then network performance is improved, but the PNIC has limitations around the number of flows that can be processed
Solution Approach 1:
The patent segments flows into two categories: elephant flows (high bandwidth, long-lived) and mice flows (low bandwidth, short-lived). This segmentation allows the system to apply hardware acceleration selectively to elephant flows while processing mice flows in software, thereby resolving the contradiction between improving network performance and managing the limited number of flows the PNIC can handle.
2Productivity
If flows are offloaded to the PNIC, then hardware acceleration is utilized, but network performance improvement is not maximized if flows do not benefit much from hardware acceleration
Solution Approach 1:
The patent applies local quality by treating different flow types differently. Elephant flows receive hardware acceleration treatment (offloading to PNIC) while mice flows are processed in software. This selective approach ensures that hardware resources are concentrated on flows that benefit most from acceleration, maximizing network performance improvement while avoiding inefficient resource utilization.
3Loss of time
If elephant flows are mapped to separate queues, then head-of-line blocking delays are avoided, but device complexity increases
Solution Approach 1:
The patent segments the queue structure into separate queues for elephant flows and mice flows. This segmentation prevents head-of-line blocking where high-volume elephant flows would otherwise block low-latency mice flows. While this increases device complexity, it effectively reduces latency for time-sensitive traffic by ensuring that mice flows are not delayed by the processing of large elephant flows.
Data Source
AI summary
In some embodiments, a method receives a packet for a flow associated with a workload. Based on an indicator for the flow, the method determines whether the flow corresponds to one of an elephant flow or a mice flow. Only when the flow is determined to correspond to an elephant flow, the method enables a hardware acceleration operation on the packet. The hardware acceleration operation may include hardware operation offload, receive side scaling, and workload migration.


