P4-enabled Network-assisted Congestion Feedback: A Case for NACKs Anja Feldmann Bala Chandrasekaran, Emilia Weyulu, Seif Fathalli
Motivation – some observations • Buffers ‣ Are getting shallow (relative to link speed) ‣ Should be shallow to ensure short, deterministic delays • Traffic ‣ Mice vs. Elephants ‣ Elephants contribute most traffic – React to congestion signal ‣ Mice contribute most flows – Not subject to congestion control ‣ Separating mice from elephants can be beneficial • Today’s switches 2 MPI INF | Anja Feldmann
Background – Buffer Occupancy Used to measure Clients before bottleneck Used to vary delay 640 ms or 40 ms • NS2 simulations results Server • Mice can fill any queue as they 40-100 Kbits/second are not subject to congestion control Used to limit capacity 1.5 Mbits to 3 Mbits Infinite sources Web like sources 3 MPI INF | Anja Feldmann
Motivation – some observations • Buffers ‣ Are getting shallow (relative to link speed) ‣ Should be shallow to ensure short, deterministic delays • Traffic ‣ Mice vs. Elephants ‣ Elephants contribute most traffic – React to congestion signal ‣ Mice contribute most flows – Not subject to congestion control ‣ Separating mice from elephants can be beneficial • Today’s switches ‣ Enable gathering of fine-grain statistics – The P4 advantage ‣ Enable use of multiple queues – The QoS leftover 4 MPI INF | Anja Feldmann
Today‘s Congestion Inference • Left to the end-systems Today Implicit (delay, discard) Archaic Back Pressure Policing Archaic Choke Packet Destination Source Today Explicit (binary, rate) 5 MPI INF | Anja Feldmann
Tomorrow‘s Congestion Inference • Network-assisted • Network-assisted Congestion Notification (NCF) NCF Destination Source 6 MPI INF | Anja Feldmann
NCF – Insights • Network (switches/routers) can initiate NACKs with P4 ‣ Trim packets in data plane ‣ Reflect packet as NACK back to source • Address elephants and mice ‣ Detect elephants in data plane ‣ Use separate queues • Three queues suffice ‣ Dynamically allocate memory (to keep buffers where needed) ‣ Congestion signals independent of queue usage 7 MPI INF | Anja Feldmann
Network-assisted Congestion Feedback (NCF) • Rolling Sketches (Counters) ‣ How - Rolling: Multiple time windows - Counters: Per flow per time window - Mice: Sum of counters < threshold - Elephant: Sum of counters > threshold ‣ Advantages - Small memory foot-print - Efficient and flexible - Feasible: Due to skewed flow distributions 8 MPI INF | Anja Feldmann
Advantages NCF • Fast direct feedback directly to source (includes lost packet info) • Separation of Mice and Elephants • Flexible allocation of buffer memory • Design ‣ Is work-conserving ‣ Is scalable ‣ Shares resources fairly ‣ NCF Ensures short queues Destination Source ‣ Can handle TCP Incast challenge ‣ Incrementally deployable 9 MPI INF | Anja Feldmann
Status • Prototype implementations ‣ P4 ‣ NS3 • First results look promising • Needed: NCF enabled congestion control algorithm 10 MPI INF | Anja Feldmann
NCF – Insights • Network (switches/routers) can initiate NACKs with P4 ‣ Trim packets in data plane ‣ Reflect packet as NACK back to source => Fast congestion feedback • Separate elephants and mice ‣ Detect elephants in data plane ‣ Use separate queues • Three queues suffice ‣ Dynamically allocate memory (to keep buffers where needed) ‣ Congestion signals independent of queue usage 11 MPI INF | Anja Feldmann
Recommend
More recommend