Flow-Table Pacing for Data Center Network Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data center network environments face significant latency issues due to queuing delays caused by techniques like Large Send Offloading (LSO) and Interrupt Coalescing (IC), which increase CPU overhead and disrupt packet processing, especially in MapReduce applications that require low tail latency for sub-requests.
Innovation Solution
Implementing flow-table based pacing and Flow-Based Interrupt Coalescence (FIC) techniques, where data flows are categorized as short or large, with dynamic pacing using a token bucket to control packet transmission rates and adjusting interrupt coalescence based on flow characteristics, reducing queueing delays and latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If Large Send Offloading (LSO) and Interrupt Coalescing (IC) are used to reduce CPU overhead, then CPU overhead is reduced, but queuing delays increase causing higher latency
Solution Approach 1:
The patent implements dynamic pacing that adjusts packet transmission rates based on real-time network conditions and flow characteristics. The system monitors queue depths, packet arrival rates, and latency metrics to dynamically modify pacing parameters, enabling the system to adapt between aggressive pacing (when queues are light) and conservative pacing (when queues are building up), thus resolving the contradiction between CPU efficiency and latency
Solution Approach 2:
The system changes key parameters including packet interval thresholds, token bucket rates, and interrupt coalescence levels based on measured network conditions. By adjusting these parameters dynamically rather than using fixed values, the system can optimize the balance between reducing CPU overhead through coalescing and minimizing queuing delays through appropriate pacing intervals
2Productivity
If interrupt coalescence is increased to reduce CPU interrupts, then CPU interrupt handling is reduced, but packet processing is disrupted increasing latency
Solution Approach 1:
The patent implements Flow-Based Interrupt Coalescence (FIC) that dynamically adjusts interrupt coalescence settings based on flow characteristics and network conditions. The system monitors packet arrival patterns, queue depths, and latency metrics to determine optimal coalescence levels for different flows, enabling aggressive coalescence for tolerant flows while maintaining low-latency processing for sensitive flows
Solution Approach 2:
The system applies different interrupt coalescence strategies to different data flows based on their characteristics. Latency-sensitive flows receive minimal coalescence with frequent interrupt handling, while throughput-oriented flows tolerate higher coalescence levels. This localized differentiation resolves the contradiction by allowing CPU efficiency improvements without uniformly disrupting packet processing
3Productivity
If packet transmission rate is increased to improve throughput, then throughput is improved, but queueing delays increase causing higher latency
Solution Approach 1:
The patent implements dynamic rate adjustment that continuously monitors queue depths and adjusts transmission rates accordingly. When queues are shallow, the system increases transmission rates to maximize throughput. When queues begin to build, the system reduces rates to prevent excessive queuing delays. This dynamic adaptation resolves the contradiction between throughput and latency by operating at different points on the throughput-latency curve based on real-time conditions
Solution Approach 2:
The system employs feedback mechanisms that monitor queue depths, packet delay metrics, and transmission rates to adjust pacing decisions. The feedback loop measures actual queueing delays and uses this information to modify transmission rates, ensuring that throughput is maximized without allowing queueing delays to exceed acceptable thresholds
Data Source
AI summary
An example method is provided and includes maintaining at a network element a flow table, in which the flow table comprises a plurality of flow table entries and in which each of the flow table entries corresponds to one of a plurality of active data flows in a network, and, subsequent to receipt at the network element of a data packet of one of the active flows, characterizing the one of the active flows as a large flow or a short flow using values contained in the flow table entry corresponding to the one of the active flows. The method further includes processing the received packet in accordance with the characterization.


