Top Banner
Approximating Fair Queueing on Reconfigurable Switches Naveen Kr. Sharma, Ming Liu, Kishore Atreya, Arvind Krishnamurthy
22

Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Nov 11, 2018

Download

Documents

tranhuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Approximating Fair Queueingon Reconfigurable Switches

Naveen Kr. Sharma, Ming Liu, Kishore Atreya, Arvind Krishnamurthy

Page 2: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Congestion Control Today

Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..)

• End-hosts react to signals from the network.

• Network does not enforce fair sharing or isolation.

+ Requires minimal network support

+ Switches can operate at very high speeds

- End-host must cooperate to achieve fairness

- Leads to several inefficiencies and poor isolation

Page 3: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Fair Queueing : in-network enforcement

Enforce fair allocation and isolation at switches

• Provide an illusion that every flow has its own queue

• Proven to have perfect isolation and fairness

+ Simplifies congestion control at the end-host

+ Protects against misbehaving traffic

+ Enables bounded delay guarantees

However, challenging to realize in high-speed switches.

Page 4: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Fair Queueing without per-flow queues

Page 5: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Sorted packet buffer

D

B

A

Fair Queueing without per-flow queues

• Simulates an ideal round-robin scheme where each active flow transmits a single bit of data every round.

10 9 8 7 6 5 4 3 2 1 0

Flow 1

Flow 2

Flow 3

Flow 4

Ideal fair-queueing

C

A, 3B, 5 C, 4

E

2

5

3

4

D, 2E, 7

“Simulated” fair-queueing (Demers et.al.)

7

0

0

0Store and update per-flow counters

Track global round numberRound Number

FlowCounters

Page 6: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Rest of the talk

• Background: Reconfigurable Switches

• Our approach: Approximate Fair Queueing

• Optimized End-host Flow Control Protocol

• Prototype Implementation

• Evaluation

Page 7: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Reconfigurable Switches

• New class of programmable switches that allow customizable data-plane

Pro

gram

mab

le

Pars

er

PacketStream . . .

TCAM

SRAM

REGs. .

.

EgressQueues

• TCAM, SRAM for table lookups or matches

• ALUs for modifying headers and registers

• Stateful memory for counter and meters

• port = lookup(eth.dst_mac)

• ipv4.ttl = ipv4.ttl - 1

• counter[ipv4.dst_port]++. .

.

. . .

Match + Action

ALU

ALU

ALU

Page 8: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Realizing Fair Queueing on Reconfigurable Switches

1. Maintain a sorted packet buffer

• Requirement: O(logN) insertion complexity

• Constraint: Limited operations per packet

2. Store per-flow counters

• Requirement: Per-flow mutable state

• Constraint: Limited switch memory

3. Access and modify current round number

• Requirement: Synchronize state across switch modules

• Constraint: Limited cross-module communication

Page 9: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

“Simulated” fair-queueing

7

5

4

2

9 8 7 6 5 4 3 2 1 0

Our approach: Approximate Fair Queueing

Simulate a bit-by-bit round robin scheme with key approximations

Flow 1

Flow 2

Flow 3

Flow 4

Ideal fair-queueing

A

B

C

D

E ACD

BE

3 2 1 0

Coarse round numbers Limited # of FIFO queues with rotating priorities to approximate a sorted buffer

Store approximate per-flow counters using a variation of the count-min sketch

Page 10: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Storing Approximate Flow Counters

• Variation of count-min sketch to track flow’s finish round number

- - - - - - - -

- - - - - - - -

- - - - - - - -

- - - - - - - -

Rpkt

Chash1( ) % C

hash2( ) % C

hashR( ) % C

• update increments all cells; read returns the minimum

• Never under-estimates, has provable space-accuracy trade-off

Page 11: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

min (0, 1000, 0, 0) = 0 + 500 = 500

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 001000

Read Counter

• Find the minimum of all cells

• Bytes sent = minimum + pkt.size

Update Counter

• Increment all cells upto new value

• cellx,y = max (cellx,y, new value)

Flow 1

Flow 2

0

0

0

1000

1000

1000

0

0

1000

500

0

500

size : 1000

size : 500 500

• Customized to perform combined read-update operation

• Conditional increment upto the new value for better accuracy

• Implemented in hardware using predicated read-write registers

Page 12: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Buffering Packets in Approximate Sorted Order

• Coarse rounds: flows transmit a quantum of bytes per round (BpR)

• For each packet, outgoing round number = bytes sent / BpR

Flow 1

Flow 2

Flow N

Ideal per-flow queues

A

B

D

C

K K-1 .. 2 1 0

AD

BC

Round 1

Round 2

Round K

Approximate Fair Queueing

...K

FIFOqueues

...

{BpR

Page 13: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Rotating Strict Priority (RSP)

• Drain queue with the lowest round number till it is empty

• Push queue to lowest priority; increment round number by 1

Flow 1

Flow 2

Flow N

Ideal per-flow queues

A

B

D

C AD

BC

Round 1

Round 2

Round K

...

HighestPriority

LowestPriority

Approximate Fair Queueing

K K-1 .. 2 1 0

...

Page 14: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Realizing an RSP Scheduler

RSP can be implemented in hardware

• Identical complexity to a Deficit Round Robin scheduler

RSP can be emulated on current switches

• Switch CPU to periodically change priorities

• Hierarchical priority queues

Avoid explicit round number synchronization by exposing queue metadata

Utilize dynamic buffer sharing to vary size of individual queues

Page 15: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Summary of Techniques

1. Modified count-min sketch

+ Counters for large number of flows in limited memory

- Collisions cause packets to enqueue in a later round

2. RSP queues to approximate sorted buffer

+ Process packets in fixed number of operations

- Packets can be reordered within a round

3. Coarse round numbers

+ Updates to shared state are not per-packet anymore

- Packets can enqueue in an earlier round

Page 16: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Enhancing AFQ with End-host Flow Control

• AFQ can be deployed without modifying end-hosts.

• Adapt the packet-pair algorithm [Keshav, 91] to gain even more benefits.

• Sender transmits a pair of back-to-back packets.

• Inter-arrival delay is an estimate of the bottleneck bandwidth.

• End-hosts send packets at estimated rate.

• Lets us perform fast ramp-up and keep small queue sizes.

Page 17: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Evaluation

• Does AFQ improve overall performance?

• What is the impact of approximations?

• Can AFQ deal with incast traffic patterns?

• How many FIFO queues are sufficient?

• What size count-min sketch is required?

• How do we set the BpR parameter?

In the paper

This talk

Page 18: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Prototype Implementation

• Built a 4-port AFQ switch atop a Cavium Network Processor.

• Pipelines run on MIPS CPU; packets & counters stored in DRAM.

• Each port runs at 10gbps with 32 FIFO queues and 4x16k sketch.

• Tested on a 2-level fat-tree topology.

• Implemented packet-pair flow control in user space.

Page 19: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Testbed Results

1

10

100

NormalizedFlow

CompletionTime

Flow size(in bytes)

TCP DCTCP AFQ

Average

99%tile

• Compared to TCP, 4x better average FCT, 10x better tail latency.

• Compared to DCTCP, 2x better average FCT, 4x better tail latency.

Page 20: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Simulation Results: Comparison to Fair Queueing

0

400

800

1200

1600

2000

10 20 30 40 50 60 70 80 90

Average FCTin μs

Network Load (%)

All Flows

0

80

160

240

320

400

10 20 30 40 50 60 70 80 90

Network Load (%)

Short Flows < 100 KB

TCP

DCTCP

SFQ

AFQ

Ideal FQ

Page 21: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Other Results

• Accurate approximation achieved using 12 to 16 FIFO queues.

• Less than 10% extra resource overhead on top of switch.p4.

• Significant improvement even with existing end-host protocols.

• Provides ideal fairness during incast traffic patterns.

• Reduces drops and retransmissions by 10x compared to DCTCP.

Page 22: Approximating Fair Queueing on Reconfigurable Switches · Congestion Control Today Primarily achieved using end-to-end protocols (TCP, DCTCP, TIMELY, ..) •End-hosts react to signals

Summary

• Practical implementation of Fair Queueing at line-rate.

• Use approximation techniques to overcome hardware constraints.

• Modified sketch to store per-flow counters

• Leverage limited FIFO queues to approximate sorted buffer

• Approximations are both effective and accurate.

• Leads to 4-8x improvement in flow completion times.