Detecting incast congestion of RDMA flows
The recently released open source GitHub project, ai-monitor, is a proof of concept demonstrating that real-time sFlow telemetry can detect and characterize incast RoCEv2 RDMA flow collisions between GPUs during AI training.docker run -p 6343:6343/udp -p 8008:8008 sflow/ai-monitorThe pre-built sflow/ai-monitor image is the quickest way to try out the software. The diagram at the top of this page shows test RDMA flows crossing a 4 leaf / 2 spine test network to generate an incast collision. The flows are displayed using the trace-flow application that is included in the image.
The ai-monitor application uses packet samples to detect when GPU port is oversubscribed:
- Detect when an leaf switch egress port utilization exceeds 80%
- Count the number of sources sending traffic to the port - single flows are ignored
- Trace each of the flows back across the topology to its source GPU
The instant the threshold is crossed, the following incast_congestion event is generated by querying information maintained within the sFlow-RT analytics engine. Real-time elephant flow monitoring in AI / ML fabrics describes how standard sFlow from data center switches streams real-time telemetry that can be used to detect elephant flows with a few milliseconds.
{
"event": Continue reading




