# Congestion Control Mechanism Based on Backpressure Feedback in Data Center Networks
## 2 Motivation and Related Work
### Traffic Management in Data Centers  
Unlike the end-to-end congestion control schemes discussed in Section 2.1, flow control places more emphasis on network traffic management. End-to-end congestion control deals primarily with issues related to network congestion and fairness among competing flows. Flow control is more localized and aims to prevent congestion and optimize resource utilization on specific communication paths. The priority-based flow control (PFC) [28] scheme operates as a per-hop per-flow flow control mechanism. When a switch detects incoming packets exceeding the preset threshold of a buffer, it sends a \"Pause Frame\" to the upstream, effectively halting further upstream traffic to prevent buffer overflow in the switch. However, the PFC scheme can suffer from head-of-line (HOL) blocking and deadlock issues. More serious cases produce a congestion-spreading phenomenon. In addition to this, there are some scheduling strategies that prioritize short flows using switches, such as pFabric [29], Homa [30], and NDP [31]. These types of traffic scheduling schemes do not inherently reduce buffer occupancy and may potentially fill up the buffer. As the technology continued to develop, [PERSON] et al. revisited the congestion management architecture from another perspective and proposed the photonic congestion notification (PCN) [32]. PCN introduces a new congestion detection and identification mechanism. If 95% of the packets received during a congestion notification packet (CNP) generation period are marked as ECN, the flow is considered congested. PCN is the first scheme to handle congestion from the standpoint of identifying congested flows. Subsequently, the ternary congestion detection (TCD) [33] scheme was proposed to redefine the state of the switch port as congestion, non-congestion, and undetermined. The transition between ternary states can be detected by observing the evolving transmission patterns and queue lengths in switches. TCD accurately detects congested ports and identifies congested and undetermined flows. Both PCN and TCD handle congestion more accurately by introducing congestion signaling at the flow level to enhance network performance and fairness. However, they still rely on the traditional sender-driven rate reduction mechanism, which requires at least 1-RTT for the rate to converge to the speed of the adapted link. [PERSON] et al. proposed BFC [2], a protocol for per-hop per-flow flow control. BFC calculates a pause threshold based on the occupancy of the active flows at the switch port. It allows the upstream to adjust the flow transmission by pausing or resuming based on downstream congestion conditions. However, methods like BFC and PFC that directly suspend the transmission of upstream traffic tend to be too aggressive. It can lead to the accumulation of queues and the spread of congestion. To some extent, it also affects the throughput of congested flows. In a per-hop per-flow flow control scheme, the upstream switch implements congestion control in a one-hop RTT instead of an end-to-end RTT. The faster response time allows the upstream switch to act quickly compared to end-to-end congestion control. The research challenge is to effectively manage the buffer queues of the switches and design complex flow control policies. The PDP effectively addresses these issues. With the help of PDP, it is possible to rapidly and comprehensively reconfigure processes like packet parsing and forwarding in the network, achieving true programability across all devices in the network [7; 9; 26]. This enables the on-demand management of switch buffers, leading to precise flow control to alleviate network congestion. This congestion control strategy ensures the efficient use of network resources and reduces wasted bandwidth by providing precise per-flow control. When the network experiences congestion problems, per-hop per-flow flow control can quickly slow down or stop the transmission of congested traffic to congested nodes without affecting other non-congested flows.