Host-Based Data Flow Priority Marking for Switch Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data center networks, determining whether a data flow is an elephant flow or a mouse flow is not completed in time, leading to resource consumption and performance issues, as the switch needs to collect flow-based statistics, which occupies hardware resources and affects bandwidth allocation.
Innovation Solution
A method where a host determines the priority of a data flow and adds it to the data flow before sending it to the switch, allowing the switch to process the data flow based on the assigned priority, thereby eliminating the need for the switch to collect flow-based statistics and preventing elephant flows from occupying mouse flow bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the switch collects flow-based statistics to determine elephant flow and mouse flow, then the switch can assign different priorities to ensure mouse flow performance, but this consumes many hardware resources of the switch
Solution Approach 1:
The patent extracts the flow classification function from the switch and relocates it to the host. The host determines whether each data flow is an elephant flow or mouse flow based on flow identifiers (5-tuple) and historical statistics, then marks the data flow with priority information before sending to the switch. This removes the need for the switch to maintain flow tables and collect statistics, significantly reducing hardware resource consumption while maintaining reliable mouse flow performance.
Solution Approach 2:
The host performs flow classification and priority marking in advance, before data flows are transmitted through the switch. By determining flow types and assigning priorities beforehand, the switch only needs to perform simple priority-based forwarding without complex real-time analysis, reducing hardware resource usage while ensuring mouse flow gets appropriate priority treatment.
2Reliability
If the switch determines flow type during transmission, then flow classification can be performed, but the determination is not completed in time and elephant flow has already occupied mouse flow bandwidth
Solution Approach 1:
The host performs flow classification and priority assignment at the source, before data packets are transmitted through the network. This preliminary action ensures that elephant flow and mouse flow are identified and marked with appropriate priorities before bandwidth allocation decisions are needed, eliminating the time delay associated with real-time switch-based determination and preventing elephant flow from occupying mouse flow bandwidth during the determination process.
Solution Approach 2:
The host acts as an intermediary that performs flow classification based on flow identifiers and historical statistics, then marks packets with priority information. This intermediary approach allows accurate flow type determination without requiring the switch to perform complex real-time analysis, ensuring timely and accurate bandwidth allocation while reducing the switch's processing burden.
3Reliability
If the switch adds a flow table to distinguish elephant flow and mouse flow, then priority assignment can be performed, but this consumes many hardware resources
Solution Approach 1:
The patent removes the flow table functionality from the switch and implements it in the host's software. The host maintains flow statistics and performs classification based on flow identifiers, then marks packets with priority information. This extraction eliminates the need for hardware flow tables in the switch, significantly reducing hardware resource consumption while maintaining accurate flow differentiation through software-based classification.
4Productivity
If the switch transmits mouse flow with higher priority first, then mouse flow transmission timeliness is improved, but the switch needs to determine flow type which consumes resources and time
Solution Approach 1:
The host performs flow classification and priority marking before transmission, so the switch receives already-marked packets and can immediately transmit mouse flow with higher priority without performing complex real-time flow determination. This preliminary action ensures mouse flow transmission timeliness while eliminating the switch's flow determination complexity.
Solution Approach 2:
The system uses historical flow statistics maintained by the host to make informed classification decisions. By analyzing past flow patterns and characteristics, the host can accurately predict whether a flow will be elephant or mouse flow, enabling proactive priority assignment that improves mouse flow transmission speed without requiring complex real-time switch-based determination.
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
Embodiments of this application provide a data flow processing method and a device. A host determines a priority corresponding to a first data flow to be sent to a switch, and adds the priority to the first data flow to generate a second data flow that includes the priority. The host sends the second data flow to the switch, so that the switch processes the second data flow according to the priority of the second data flow. A server or a virtual machine assigns a priority to a data flow, and the switch does not need to determine whether the data flow is an elephant flow or a mouse flow, thereby saving hardware resources of the switch. The server or the virtual machine sends the data flow with the priority to the switch, and the switch does not need to determine the priority of the data flow, thereby preventing an elephant flow from occupying bandwidth of a mouse flow, and processing the data flow in a timely manner.