An Approach For Congestion Control In Infiniband

Infiniband switches cannot drop packets to deal with congestion. As a result, switch buffers can fill up, block upstream switches and even choke flows that are not contending for the congested link. The Infiniband standards body is exploring mechanisms to control congestion. This report describes the key elements of a congestion control approach that we have advocated. Our approach combines a low level mechanism that reacts quickly to short term demand variations with a centralized mechanism that deals with long term congestion and non-compliant devices. A simple switch-based mechanism detects flows that are causing congestion or are propagating the congestion. Switches mark the packet headers of these flows to inform the destination device of the congestion which in turn notifies the source device. In response, source devices adjust their packet injection based on a novel hybrid mechanism that combines the advantages of rate and window control. Adjustment policies are designed to enable high throughput while preventing starvation.