  Effective congestion control for data center networks is becoming
increasingly challenging with a growing amount of latency sensitive traffic,
much fatter links, and extremely bursty traffic. Widely deployed algorithms,
such as DCTCP and DCQCN, are still far from optimal in many plausible
scenarios, particularly for tail latency. Many operators compensate by running
their networks at low average utilization, dramatically increasing costs.
  In this paper, we argue that we have reached the practical limits of
end-to-end congestion control. Instead, we propose, implement, and evaluate a
new congestion control architecture called Backpressure Flow Control (BFC). BFC
provides per-hop per-flow flow control, but with bounded state, constant-time
switch operations, and careful use of buffers. We demonstrate BFC's feasibility
by implementing it on Tofino2, a state-of-the-art P4-based programmable
hardware switch. In simulation, we show that BFC achieves near optimal
throughput and tail latency behavior even under challenging conditions such as
high network load and incast cross traffic. Compared to existing end-to-end
schemes, BFC achieves 2.3 - 60 X lower tail latency for short flows and 1.6 - 5
X better average completion time for long flows.
