DevoFlow: Scaling Flow Management for High - Sigcomm

99
DevoFlow: Scaling Flow Management for High-Performance Networks Andy Curtis JeMogul Jean Tourrilhes Praveen Yalagandula Puneet Sharma Sujata Banerjee Wednesday, August 17, 11

Transcript of DevoFlow: Scaling Flow Management for High - Sigcomm

Page 1: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow: Scaling Flow Management for High-Performance Networks

Andy CurtisJeff Mogul

Jean TourrilhesPraveen Yalagandula

Puneet SharmaSujata Banerjee

Wednesday, August 17, 11

Page 2: DevoFlow: Scaling Flow Management for High - Sigcomm

Software-defined networking

Wednesday, August 17, 11

Page 3: DevoFlow: Scaling Flow Management for High - Sigcomm

Software-defined networking

• Enables programmable networks

Wednesday, August 17, 11

Page 4: DevoFlow: Scaling Flow Management for High - Sigcomm

Software-defined networking

• Enables programmable networks

• Implemented by OpenFlow

Wednesday, August 17, 11

Page 5: DevoFlow: Scaling Flow Management for High - Sigcomm

Software-defined networking

• Enables programmable networks

• Implemented by OpenFlow

• OpenFlow is a great concept, but...

- its original design imposes excessive overheads

Wednesday, August 17, 11

Page 6: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Data-plane

Traditional switch

Wednesday, August 17, 11

Page 7: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Data-plane

Routed packetsInbound

packets

Traditional switch

Wednesday, August 17, 11

Page 8: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Data-plane

Reachability

Routed packets

Reachability

Inbound packets

Traditional switch

Wednesday, August 17, 11

Page 9: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Data-plane

Routed packets

Inbound packets

OpenFlow switch

Centralized controller

Wednesday, August 17, 11

Page 10: DevoFlow: Scaling Flow Management for High - Sigcomm

Flow setupsLink state

Forwarding rule stats

Forwarding table entriesStatistics requests

Control-plane

Data-plane

Routed packets

Inbound packets

Centralized controller

Wednesday, August 17, 11

Page 11: DevoFlow: Scaling Flow Management for High - Sigcomm

OpenFlow enables innovative management solutions

Wednesday, August 17, 11

Page 12: DevoFlow: Scaling Flow Management for High - Sigcomm

OpenFlow enables innovative management solutions

• Consistent routing and security policy enforcement [Ethane, SIGCOMM 2007]

• Data center network architectures like VL2 and PortLand [Tavakoli et al. Hotnets 2009]

• Client load-balancing with commodity switches [Aster*x, ACLD demo 2010; Wang et al., HotICE 2011]

• Flow scheduling [Hedera, NSDI 2010]

• Energy-proportional networking [ElasticTree, NSDI 2010]

• Automated data center QoS [Kim et al., INM/WREN 2010]

Wednesday, August 17, 11

Page 13: DevoFlow: Scaling Flow Management for High - Sigcomm

But OpenFlow is not perfect...

• Scaling these solutions to data center-sized networks is challenging

Wednesday, August 17, 11

Page 14: DevoFlow: Scaling Flow Management for High - Sigcomm

Contributions

• Characterize overheads of implementing OpenFlow in hardware

• Propose DevoFlow to enable cost-effective, scalable flow management

• Evaluate DevoFlow by applying it to data center flow scheduling

Wednesday, August 17, 11

Page 15: DevoFlow: Scaling Flow Management for High - Sigcomm

Contributions

• Characterize overheads of implementing OpenFlow in hardware

Experience drawn from implementing OpenFlow on HP ProCurve switches

Wednesday, August 17, 11

Page 16: DevoFlow: Scaling Flow Management for High - Sigcomm

OpenFlow couples flow setup with visibility

. . .

. . .

Central controller

Edgeswitches

Aggregation

Core

Wednesday, August 17, 11

Page 17: DevoFlow: Scaling Flow Management for High - Sigcomm

. . .

. . .

Central controller

Edgeswitches

Aggregation

Core

Flow arrivalWednesday, August 17, 11

Page 18: DevoFlow: Scaling Flow Management for High - Sigcomm

. . .

. . .

Central controller

Edgeswitches

Aggregation

Core

If no forwarding table rule at switch(exact-match or wildcard)

Wednesday, August 17, 11

Page 19: DevoFlow: Scaling Flow Management for High - Sigcomm

. . .

. . .

Central controller

Edgeswitches

Aggregation

Core

Two problems arise...

Wednesday, August 17, 11

Page 20: DevoFlow: Scaling Flow Management for High - Sigcomm

bottleneck at controllerproblem 1:

. . .

. . .

Central controller

Wednesday, August 17, 11

Page 21: DevoFlow: Scaling Flow Management for High - Sigcomm

bottleneck at controllerproblem 1:

. . .

. . .

Up to 10 million new flows per second in data center with 100 edge switches [Benson et al. IMC 2010]

Central controller

Wednesday, August 17, 11

Page 22: DevoFlow: Scaling Flow Management for High - Sigcomm

bottleneck at controllerproblem 1:

. . .

. . .

Up to 10 million new flows per second in data center with 100 edge switches [Benson et al. IMC 2010]

If controller can handle 30K flow setups/sec. then, we need at least 333 controllers!Central controller

Wednesday, August 17, 11

Page 23: DevoFlow: Scaling Flow Management for High - Sigcomm

. . .

. . .

Central controller

Onix [Koponen et al. OSDI 2010]

Maestro [Cai et al. Tech Report 2010]

HyperFlow [Tootoonchian and Ganjali, WREN 2010]

Devolved controller [Tam et al. WCC 2011]

Wednesday, August 17, 11

Page 24: DevoFlow: Scaling Flow Management for High - Sigcomm

stress on switch control-planeproblem 2:

. . .

. . .

Central controller

Wednesday, August 17, 11

Page 25: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Data-plane

Routed packetsInbound packets

Wednesday, August 17, 11

Page 26: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Data-plane

Switch CPU

ASIC

Switch control-plane

Routed packetsInbound packets

Wednesday, August 17, 11

Page 27: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Switch CPU

ASIC

Routed packetsInbound packets

Data-plane

Switch control-plane

Wednesday, August 17, 11

Page 28: DevoFlow: Scaling Flow Management for High - Sigcomm

Scaling problem: switches

• Inherent overheads

• Implementation-imposed overheads

Wednesday, August 17, 11

Page 29: DevoFlow: Scaling Flow Management for High - Sigcomm

Scaling problem: switches

• Inherent overheads

- Bandwidth

• OpenFlow creates too much control traffic~1 control packet for every 2–3 data packets

- Latency

• Implementation-imposed overheads

Wednesday, August 17, 11

Page 30: DevoFlow: Scaling Flow Management for High - Sigcomm

Scaling problem: switches

• Inherent overheads

• Implementation-imposed overheads

- Flow setup

- Statistics gathering

- State size (see paper)

Wednesday, August 17, 11

Page 31: DevoFlow: Scaling Flow Management for High - Sigcomm

Flow setup

Client A Client B

OpenFlow controller

ProCurve 5406 zl switch

Wednesday, August 17, 11

Page 32: DevoFlow: Scaling Flow Management for High - Sigcomm

Flow setup

Client A Client B

OpenFlow controller

ProCurve 5406 zl switchWe believe our measurement numbers are representative of the

current generation of OpenFlow switches

Wednesday, August 17, 11

Page 33: DevoFlow: Scaling Flow Management for High - Sigcomm

Flow setup

0

50

100

150

200

250

300

Flow

setu

ps p

er se

c.

275

5406 zlWednesday, August 17, 11

Page 34: DevoFlow: Scaling Flow Management for High - Sigcomm

Flow setup

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Flow

setu

ps p

er se

c.

5406 zl

10,000

Expected

We can expect up to 10K flow arrivals / sec. [Benson et al. IMC 2010]

40x difference!

Wednesday, August 17, 11

Page 35: DevoFlow: Scaling Flow Management for High - Sigcomm

Flow setup

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Flow

setu

ps p

er se

c.

5406 zl

10,000

Expected

Too much latency: adds 2ms to flow setup

Wednesday, August 17, 11

Page 36: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Routed packets

Inbound packets Data-plane

Switch CPU

300 Gbps

Wednesday, August 17, 11

Page 37: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Routed packets

Inbound packets Data-plane

Switch CPU

80 Mbps

Wednesday, August 17, 11

Page 38: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-plane

Routed packets

Inbound packets Data-plane

Switch CPU

17 Mbps

Wednesday, August 17, 11

Page 39: DevoFlow: Scaling Flow Management for High - Sigcomm

Stats-gathering• Flow setups and stat-pulling compete for this bandwidth

Wednesday, August 17, 11

Page 40: DevoFlow: Scaling Flow Management for High - Sigcomm

Stats-gathering• Flow setups and stat-pulling compete for this bandwidth

0

50

100

150

200

250

300

Flow

setu

ps p

er se

c.

Never 1 s 500 msStat-pull frequency:

Wednesday, August 17, 11

Page 41: DevoFlow: Scaling Flow Management for High - Sigcomm

Stats-gathering• Flow setups and stat-pulling compete for this bandwidth

- 2.5 sec. to collect stats from the average data center edge switch

Wednesday, August 17, 11

Page 42: DevoFlow: Scaling Flow Management for High - Sigcomm

Can we solve the problem with more hardware?• Faster CPU may help, but won’t be enough

- Control-plane datapath needs at least two orders of magnitude more bandwidth

• Ethernet speeds accelerating faster than CPU speeds

• OpenFlow won’t drive chip-area budgets for several generations

Wednesday, August 17, 11

Page 43: DevoFlow: Scaling Flow Management for High - Sigcomm

Contributions

• Characterize overheads of implementing OpenFlow in hardware

• Propose DevoFlow to enable cost-effective, scalable flow management

• Evaluate DevoFlow by applying it to data center flow scheduling

Wednesday, August 17, 11

Page 44: DevoFlow: Scaling Flow Management for High - Sigcomm

Devolved OpenFlow

We devolve control over most flows back to the switches

Wednesday, August 17, 11

Page 45: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow design

• Keep flows in the data-plane

• Maintain just enough visibility for effective flow management

• Simplify the design and implementation of high-performance switches

Wednesday, August 17, 11

Page 46: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow mechanisms

• Control mechanisms

• Statistics-gathering mechanisms

Wednesday, August 17, 11

Page 47: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow mechanisms

• Control mechanisms

- Rule cloning

• ASIC clones a wildcard rule as an exact match rule for new microflows

Wednesday, August 17, 11

Page 48: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow mechanisms

• Control mechanisms

- Rule cloning

wildcard rulessrc dst src port dst Port* 129.100.1.5 * *

src dst src port dst Portexact-match

rules

Wednesday, August 17, 11

Page 49: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow mechanisms

• Control mechanisms

- Rule cloning

wildcard rulessrc dst src port dst Port* 129.100.1.5 * *

src dst src port dst Portexact-match

rules

Wednesday, August 17, 11

Page 50: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow mechanisms

• Control mechanisms

- Rule cloning

wildcard rulessrc dst src port dst Port* 129.100.1.5 * *

src dst src port dst Portexact-match

rules

Wednesday, August 17, 11

Page 51: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow mechanisms

• Control mechanisms

- Rule cloning

wildcard rulessrc dst src port dst Port* 129.100.1.5 * *

src dst src port dst Port129.200.1.1 129.100.1.5 4832 80exact-match

rules

Wednesday, August 17, 11

Page 52: DevoFlow: Scaling Flow Management for High - Sigcomm

DevoFlow mechanisms

• Control mechanisms

- Rule cloning

• ASIC clones a wildcard rule as an exact match rule for new microflows

- Local actions

• Rapid re-routing

• Gives fallback paths for when a port fails

• Multipath support

Wednesday, August 17, 11

Page 53: DevoFlow: Scaling Flow Management for High - Sigcomm

Control-mechanisms

• Control mechanisms

- Rule cloning

• ASIC clones a wildcard rule as an exact match rule for new microflows

- Local actions

• Rapid re-routing

• Gives fallback paths for when a port fails

• Multipath support

1/3 1/6 1/2

Wednesday, August 17, 11

Page 54: DevoFlow: Scaling Flow Management for High - Sigcomm

Statistics-gathering mechanisms

Wednesday, August 17, 11

Page 55: DevoFlow: Scaling Flow Management for High - Sigcomm

Statistics-gathering mechanisms

• Sampling

- Packet header is sent to controller with 1/1000 probability

Wednesday, August 17, 11

Page 56: DevoFlow: Scaling Flow Management for High - Sigcomm

Statistics-gathering mechanisms

• Sampling

- Packet header is sent to controller with 1/1000 probability

• Triggers and reports

- Can set a threshold per rule; when threshold is reached, flow is setup at central controller

Wednesday, August 17, 11

Page 57: DevoFlow: Scaling Flow Management for High - Sigcomm

Statistics-gathering mechanisms

• Sampling

- Packet header is sent to controller with 1/1000 probability

• Triggers and reports

- Can set a threshold per rule; when threshold is reached, flow is setup at central controller

• Approximate counters

- Tracks all flows matching a wildcard rule

Wednesday, August 17, 11

Page 58: DevoFlow: Scaling Flow Management for High - Sigcomm

Implementing DevoFlow

• Have not implemented in hardware

• Can reuse existing functional blocks for most mechanisms

Wednesday, August 17, 11

Page 59: DevoFlow: Scaling Flow Management for High - Sigcomm

Using DevoFlow

• Provides tools to scale your SDN application, but scaling is still a challenge

• Example: flow scheduling

- Follows Hedera’s approach [Al-Fares et al. NSDI 2010]

Wednesday, August 17, 11

Page 60: DevoFlow: Scaling Flow Management for High - Sigcomm

Using DevoFlow: flow scheduling

Wednesday, August 17, 11

Page 61: DevoFlow: Scaling Flow Management for High - Sigcomm

Using DevoFlow: flow scheduling

• Switches use multipath forwarding rules for new flows

Wednesday, August 17, 11

Page 62: DevoFlow: Scaling Flow Management for High - Sigcomm

Using DevoFlow: flow scheduling

• Switches use multipath forwarding rules for new flows

• Central controller uses sampling or triggers to detect elephant flows

- Elephant flows are dynamically scheduled by the central controller

- Uses a bin packing algorithm, see paper

Wednesday, August 17, 11

Page 63: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation

• How much can we reduce flow scheduling overheads while still achieving high performance?

Wednesday, August 17, 11

Page 64: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: methodology

• Custom built simulator

- Flow-level model of network traffic

- Models OpenFlow based on our measurements of the 5406 zl

Wednesday, August 17, 11

Page 65: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: methodology

• Custom built simulator

- Flow-level model of network traffic

- Models OpenFlow based on our measurements of the 5406 zl

17 Mbps

Wednesday, August 17, 11

Page 66: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: methodology

• Clos topology

- 1600 servers

- 640 Gbps bisection bandwidth

- 20 servers per rack

. . .

. . .

• HyperX topology

- 1620 servers

- 405 Gbps bisection bandwidth

- 20 servers per rack

Wednesday, August 17, 11

Page 67: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: methodology

• Workloads

- Shuffle, 128 MB to all servers, five at a time

- Reverse-engineered MSR workload [Kandula et al. IMC 2009]

Wednesday, August 17, 11

Page 68: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: methodology

• Workloads

- Shuffle, 128 MB to all servers, five at a time

- Reverse-engineered MSR workload [Kandula et al. IMC 2009]

• Based on two distributions: inter-arrival times and bytes per flow

Wednesday, August 17, 11

Page 69: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: methodology

• Schedulers

- ECMP

- OpenFlow

• Course-grained using wildcard rules

• Fine-grained using stat-pulling (i.e., Hedera [Al-Fares et al. NSDI 2010])

- DevoFlow

• Statistics via sampling

• Triggers and reports at a specified threshold of bytes transferred

Wednesday, August 17, 11

Page 70: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: metrics

• Performance

- Aggregate throughput

• Overheads

- Packets/sec. to central controller

- Forwarding table size

Wednesday, August 17, 11

Page 71: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: Clos topology

0

50

100

150

200

250

300

Aggr

egat

e Th

roug

hput

(Gbp

s)

Shuffle with 400 servers

ECMP Wildcard Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

Wednesday, August 17, 11

Page 72: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: Clos topology

0

50

100

150

200

250

300

Aggr

egat

e Th

roug

hput

(Gbp

s)

Shuffle with 400 servers

ECMP Wildcard Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

37% increase

Wednesday, August 17, 11

Page 73: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: Clos topologyMSR workload

ECMP Wildcard Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

0

50

100

150

200

250

Aggr

egat

e th

roug

hput

(Gbp

s)

Wednesday, August 17, 11

Page 74: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: HyperX topologyShuffle with 400 servers

ECMP VLB Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

0

40

80

120

160

200

240

Aggr

egat

e Th

roug

hput

(Gbp

s)

Wednesday, August 17, 11

Page 75: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: HyperX topologyShuffle with 400 servers

ECMP VLB Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

0

40

80

120

160

200

240

Aggr

egat

e Th

roug

hput

(Gbp

s)

55% increase

Wednesday, August 17, 11

Page 76: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: HyperX topologyShuffle with 400 servers

ECMP VLB Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

0

40

80

120

160

200

240

Aggr

egat

e Th

roug

hput

(Gbp

s)

55% increase

Wednesday, August 17, 11

Page 77: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: HyperX topologyShuffle with 400 servers

ECMP VLB Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

0

40

80

120

160

200

240

Aggr

egat

e Th

roug

hput

(Gbp

s)

55% increase

Wednesday, August 17, 11

Page 78: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: HyperX topologyShuffle + MSR workload

ECMP VLB Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

0

50

100

150

200

250

300

350

400

Aggr

egat

e th

roug

hput

(Gbp

s)

Wednesday, August 17, 11

Page 79: DevoFlow: Scaling Flow Management for High - Sigcomm

Performance: HyperX topologyShuffle + MSR workload

ECMP VLB Stat-pulling Sampling Thresholds

OpenFlow-based DevoFlow-based

0

50

100

150

200

250

300

350

400

Aggr

egat

e th

roug

hput

(Gbp

s)

18% increase

Wednesday, August 17, 11

Page 80: DevoFlow: Scaling Flow Management for High - Sigcomm

Overheads: Control traffic

DevoFlow-basedOpenFlow-based

0

2000

4000

6000

8000

No.

pac

kets

/ se

c. to

con

trol

ler

Wildcard Stats-pulling Sampling Threshold

483

7758

70574

Wednesday, August 17, 11

Page 81: DevoFlow: Scaling Flow Management for High - Sigcomm

Overheads: Control traffic

DevoFlow-basedOpenFlow-based

0

2000

4000

6000

8000

No.

pac

kets

/ se

c. to

con

trol

ler

Wildcard Stats-pulling Sampling Threshold

483

7758

70574

10% 1%

Wednesday, August 17, 11

Page 82: DevoFlow: Scaling Flow Management for High - Sigcomm

Overheads: Control traffic

DevoFlow-basedOpenFlow-based

0

2000

4000

6000

8000

No.

pac

kets

/ se

c. to

con

trol

ler

Wildcard Stats-pulling Sampling Threshold

483

7758

70574

10% 1%

Multipath wildcard rules

and targeted stats collection reduces control

traffic

Wednesday, August 17, 11

Page 83: DevoFlow: Scaling Flow Management for High - Sigcomm

0

250

500

750

1000

Forw

ardi

ng ta

ble

entr

ies

DevoFlow-basedOpenFlow-based

Overheads: Flow table entries

Wildcard Stats-pulling Sampling Threshold

71

926

6 13

Wednesday, August 17, 11

Page 84: DevoFlow: Scaling Flow Management for High - Sigcomm

0

250

500

750

1000

Forw

ardi

ng ta

ble

entr

ies

DevoFlow-basedOpenFlow-based

Overheads: Flow table entries

Wildcard Stats-pulling Sampling Threshold

71

926

8 15

70–150x reduction in table entries

at average edge switch

Wednesday, August 17, 11

Page 85: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: overheadsControl-plane bandwidth needed

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0

50

100

150

200

250

0.1 0.5 1 10 30 Never

Perc

ent o

f for

war

ding

ban

dwid

th

need

ed fo

r con

trol

pla

ne b

andw

idth

Cont

rol p

lane

thro

ughp

ut n

eede

d (M

bps)

Stat-pulling rate

95th percentile 99th percentile

(s)

Wednesday, August 17, 11

Page 86: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: overheadsControl-plane bandwidth needed

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0

50

100

150

200

250

0.1 0.5 1 10 30 Never

Perc

ent o

f for

war

ding

ban

dwid

th

need

ed fo

r con

trol

pla

ne b

andw

idth

Cont

rol p

lane

thro

ughp

ut n

eede

d (M

bps)

Stat-pulling rate

95th percentile 99th percentile

5406zl bandwidth

(s)

Wednesday, August 17, 11

Page 87: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: overheadsControl-plane bandwidth needed

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0

50

100

150

200

250

0.1 0.5 1 10 30 Never

Perc

ent o

f for

war

ding

ban

dwid

th

need

ed fo

r con

trol

pla

ne b

andw

idth

Cont

rol p

lane

thro

ughp

ut n

eede

d (M

bps)

Stat-pulling rate

95th percentile 99th percentile

5406zl bandwidth

This is to meet a 2ms switch-internal queuing deadline

(s)

Wednesday, August 17, 11

Page 88: DevoFlow: Scaling Flow Management for High - Sigcomm

Conclusions

• OpenFlow imposes high overheads on switches

• Proposed DevoFlow to give tools to reduce reliance on the control-plane

• DevoFlow can reduce overheads by 10–50x for data center flow scheduling

Wednesday, August 17, 11

Page 89: DevoFlow: Scaling Flow Management for High - Sigcomm

Wednesday, August 17, 11

Page 90: DevoFlow: Scaling Flow Management for High - Sigcomm

Other uses of DevoFlow

• Client load-balancing (Similar to Wang et al. HotICE 2011)

• Network virtualization [Sherwood et al. OSDI 2010]

• Data center QoS

• Multicast

• Routing as a service [Chen et al. INFOCOM 2011]

• Energy-proportional routing [Heller et al. NSDI 2010]

Wednesday, August 17, 11

Page 91: DevoFlow: Scaling Flow Management for High - Sigcomm

Implementing DevoFlow

• Rule cloning:

- May be difficult to implement on ASIC. Can definitely be done with use of switch CPU

• Multipath support:

- Similar to LAG and ECMP

• Sampling:

- Already implemented in most switches

• Triggers:

- Similar to rate limiters

Wednesday, August 17, 11

Page 92: DevoFlow: Scaling Flow Management for High - Sigcomm

Flow table size

• Constrained resource

- Commodity switches: 32K–64K exact match entries ~1500 TCAM entries

• Virtualization may strain table size

- 10s of VMs per machine implies >100K table entries

Wednesday, August 17, 11

Page 93: DevoFlow: Scaling Flow Management for High - Sigcomm

0 5000 10000 15000 20000 25000 30000 35000Flow table size (!ows)

0

2

4

6

8

Tim

e to

pul

l sta

tistic

s (s)

Average reply timeMaximum reply time

Wednesday, August 17, 11

Page 94: DevoFlow: Scaling Flow Management for High - Sigcomm

0 5000 10000 15000 20000 25000 30000 35000Flow table size (!ows)

0

2

4

6

8

Tim

e to

pul

l sta

tistic

s (s)

Average reply timeMaximum reply time

2.5 sec. to pull stats at average edge switch

Wednesday, August 17, 11

Page 95: DevoFlow: Scaling Flow Management for High - Sigcomm

0 1 2 3 4 5 6 7 8 9 10Stats request rate (req / s)

0

50

100

150

200

250

300TC

P co

nn

ecti

ons

rate

(soc

kets

/ s)

TCP connection rate

0

2000

4000

6000

8000

Stat

s co

llect

ed (e

ntr

ies

/ s)

Stats collected

Wednesday, August 17, 11

Page 96: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: methodology

• Workloads

- Reverse-engineered MSR workload [Kandula et al. IMC 2009]

Inter-arrival times Flow sizes

Wednesday, August 17, 11

Page 97: DevoFlow: Scaling Flow Management for High - Sigcomm

0

100

200

300

400

500

600

MSR, 25% inter-rack

MSR, 75% inter-rack

shu e, n=400 MSR + shu e, n = 400

MSR + shu e, n = 800

Aggr

egat

e Th

roug

hput

(Gbp

s) ECMP

Wildcard 1s Pull-based 5s Sampling 1/1000 Threshold 1MB

Evaluation: performanceClos topology

Workload

DevoFlow-based

OpenFlow-based

Wednesday, August 17, 11

Page 98: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: overheadsControl traffic

504 483 446

29,451

7,758 4,871

7,123

709 71 432 181 74 0

5000

10000

15000

20000

25000

30000

0.1s

1s

10s

0.1s

1s

10s

1/10

0

1/10

00

1/10

000

128K

B

1MB

10M

B

Wildcard Pull-based Sampling Threshold

No.

pac

kets

/ se

c. to

con

trol

ler

MSR, 25% inter-rack MSR, 75% inter-rack

DevoFlow schedulersOpenFlow schedulers DevoFlow-basedOpenFlow-based

Wednesday, August 17, 11

Page 99: DevoFlow: Scaling Flow Management for High - Sigcomm

Evaluation: overheadsFlow table entries

0 200 400 600 800

1000 1200 1400 1600 1800

0.1s

1s

10s

0.1s

1s

10s

1/10

0

1/10

00

1/10

000

128K

B

1MB

10M

B

Wildcard Pull-based Sampling Threshold

No.

ow

tabl

e en

trie

s

Avg - MSR, 25% inter-rack

Max - MSR, 25% inter-rack

Avg - MSR, 75% inter-rack

Max - MSR, 75% inter-rack

DevoFlow schedulersOpenFlow schedulers

10x50x

DevoFlow-basedOpenFlow-basedDevoFlow aggressively uses multipath wildcard rules

Wednesday, August 17, 11