A Novel Per-Hop Per-Flow Flow Control Scheme-Shie-Yuan Wang


Abstract

Performing flow control inside a network can effectively avoid packet loss due to buffer overflow in switches. IEEE 802.1Qbb Priority-based Flow Control (PFC) exercises a scheme to achieve this goal. But it still suffers from several serious problems such as congestion spreading, deadlock, and packet loss.

In this work, we propose a Per-hop per-Flow Flow Control scheme (PFFC) to avoid all of these problems. We design, implement, and evaluate the performance of PFFC in P4 hardware switches. Experimental results show that

  • PFFC outperforms PFC in many aspects including avoiding congestion spreading, deadlock, and packet loss
  • The bandwidth overhead of PFFC is only slightly higher than that of PFC.

Design and Implementation

Our design and implementation including 3 main mechanisms: (1) Per-flow buffer usage accounting, (2) Per-flow control frames generation and (3) Per-flow control frames reaction

  • Per-flow Buffer Usage Accounting

Fig. 1 illustrates the process of per-flow buffer usage accounting. When a packet enter IMAP (Ingress Match Action Pipeline), the FBU (Per-flow Buffer Usage) and PBU (Packet Buffer Usage) counters are incremented by the packet size respectively. When a packet is cloned in EMAP (Egress Match Action Pipeline), PFFC recirculate (re-enter IMAP) the cloned packet for decrement the FBU and PBU counters.

Fig. 1: The per-flow buffer usage accounting in PFFC

  • Per-flow Control Frames Generation

If the FBU or PBU counter triggers the given threshold Xoff / Xon , a PAUSE/RESUME frame and a MIGRATE/MIGRATE-BACK frame will be generated and sent to upstream.

  • Per-flow Control Frames Reaction

As shown in Fig. 2, if a flow is not paused, we direct its packet the DEQ (Default Egress Queue). When the node receives PAUSE frame, it pauses a PEQ (Paused Egress Queue). The MIGRATE frame directs the flow which is to be paused to a PEQ. When the node receives RESUME frame, it resumes a PEQ, The MIGRATE-BACK frame redirect the paused flow to DEQ.

Fig. 2: The DEQ and PEQs in an output port in PFFC

Contributions

  • PFFC avoids many serious problems in PFC such as congestion spreading, deadlock and packet loss.
  • In addition, the average flow completion time of mice flows in PFFC is shorter than that in PFC.
  • The bandwidth overhead of PFFC is only slightly higher than that of PFC.
  • PFFC is a good candidate scheme to be used for losses networks.

Publication: S.Y. Wang, Y.R. Chen, H.C. Hsieh, R.S. Lai, and Y.B. Lin, “A Flow Control Scheme based on Per Hop and Per Flow in Commodity Switches for Lossless Networks,” IEEE Access, Volume 9, pages 156013-166029, 2021. (Digital Object Identifier: 10.1109/ACCESS.2021.3129595)