Data Center Flow Completion Verification Using Receiver Credits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data center networks experience unpredictable performance due to flow collisions, incast traffic, and underprovisioning, making it difficult to determine if network issues are causing performance problems or if they are due to application or computer faults, and existing solutions do not adequately address the predictability of data transfer times.
Innovation Solution
Implement a method where sending computers monitor flow completion times (FCT) by maintaining virtual queues and calculating estimated FCTs based on received credits, using receiver-driven credit mechanisms to inform a monitor about the receiver's desired sending rate, and employing packet spraying to distribute traffic evenly across paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data center networks are underprovisioned to handle aggregate traffic load, then network capacity utilization is improved, but performance predictability deteriorates during bursty traffic periods
Solution Approach 1:
The system performs preliminary actions by sending probe packets before actual data transfers to measure network conditions in advance. These probe packets capture baseline performance metrics (latency, packet loss) that are used to predict whether upcoming data transfers will meet their performance targets, allowing the system to prepare compensatory actions beforehand.
Solution Approach 2:
The system implements continuous feedback by monitoring actual transfer performance against predicted performance and using this information to adjust future probe packet frequencies and performance targets. When actual performance deviates from predictions, the system learns from this feedback to improve future predictions and adapt its monitoring strategy.
2Stability of the object's composition
If congestion control algorithms are used to manage network traffic, then network stability is improved, but flow completion time increases due to rate reduction
Solution Approach 1:
The system applies partial action by using probe packets that send only a fraction of the actual data traffic volume. These probe packets are sufficient to measure network conditions without triggering full congestion control responses that would slow down actual data transfers. The probe traffic is intentionally kept below thresholds that would activate aggressive rate reduction.
Solution Approach 2:
The system segments traffic into two distinct types: probe packets for measurement and actual data packets for transfer. Probe packets are sent separately and independently, allowing performance measurement without interfering with the timing and congestion control behavior of actual data flows. This segmentation enables accurate baseline measurement while maintaining normal data transfer performance.
3Productivity
If packet spraying is used to distribute traffic across paths, then flow collision is reduced, but path selection complexity increases
Solution Approach 1:
The system implements self-service by allowing the network infrastructure itself to handle path selection for sprayed packets. Instead of the application layer making complex path selection decisions, the network switches and routers autonomously distribute packets across available paths based on their own load balancing algorithms, reducing the complexity burden on end systems.
Solution Approach 2:
The system changes parameters by using hash functions of packet fields (such as source/destination addresses and ports) to deterministically select paths. This transforms the path selection problem from a complex optimization task into a simple parameter-based lookup, where the hash of packet headers directly determines the selected path, reducing complexity while maintaining good load distribution.
4Measurement precision
If continuous network monitoring is implemented, then fault detection capability is improved, but network overhead increases
Solution Approach 1:
The system uses partial action by sending probe packets at controlled frequencies rather than continuously monitoring every data packet. Probe packets are sent at rates sufficient to detect network conditions and faults but low enough to minimize overhead. The system adjusts probe frequency dynamically, sending probes more often when network conditions change or faults are suspected and less often during stable periods.
Solution Approach 2:
The system performs preliminary measurement using small probe packets before actual data transfers occur. By measuring network conditions in advance with minimal traffic, the system obtains accurate performance baselines without the overhead of monitoring full data flows. This preliminary measurement approach captures network state with fraction of the overhead required for continuous full-traffic monitoring.
Data Source
AI summary
Transmissions in a data center communications network are monitored at a sending computer, the transmission of data packets being controlled by control messages sent by a receiving computer. The monitor at the sending computer measures the time that a burst of data takes to be transmitted from the sending computer to the receiving computer. Based on feedback received from the receiving computer, the monitor at the sending computer calculates one of more estimated completion times for the transmission. The estimated completion times will approximately match the measured completion time if the network is not the bottleneck for communication. When there is a mismatch between the estimated and measured completion times, this is logged and the information is used to trigger analysis to detect the reason and possible causes for the network under-performing.


