OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University...

17
OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig, Queen Mary University of London Rob Sherwood,BigSwitch

Transcript of OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University...

Page 1: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

OFLOPS: An Open Framework for OpenFlow Switch Evaluation

Haris Rotsos, Andrew W. Moore, University of CambridgeNadi Sarrar, T-Labs/TU Berlin

Steve Uhlig, Queen Mary University of LondonRob Sherwood,BigSwitch

Page 2: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

SDN Revolution

Computer network evolution faces new barriers:

– Network applications develop diverse network requirements.

– Internet protocol ossification makes network evolution difficult.

– “Intelligence” in the network can solve the problem.

Software Defined Networking to the rescue.

– Decouple Control from Forwarding plane.

– Define a new flow-centric network management abstraction.

– Evolution of Active Network and DCAN research.

– OpenFlow protocol currently provides such an abstraction.

What is the cost of this flexibility?

Page 3: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

OpenFlow primitives

Nick McKeown et al, “OpenFlow, Innovation in Campus Networks”

Dynamic flow definition

Flow entry

Page 4: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Motivation

What are the capabilities and bottlenecks of an OpenFlow switch implementation?

• How do I compare OpenFlow switches from different vendors?

• Rapid design evaluation.– What is the impact of a network design to the overall

performance?

– How slow will my switch become if there is a DoS attack while I poll for network statistics?

Page 5: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

OFLOPS

Fast, low overhead, multi-threaded controller framework with integrated network traffic generator.

Modular event driven API.

Access to multiple input measurement channels (data/ctrl plane, SNMP).

Extensible traffic generation and traffic capturing mechanism to support heterogeneity and precision.

Page 6: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

OFLOPS Measurements

• Using OFLOPS we try understand the following functionalities:

– Action processing.

– Flow table update.

– Traffic monitoring.

– Message interactions.

Page 7: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Switches• Using OFLOPS we test a number of representative set of

available OpenFlow switches.

• OFLOPS is setted up on a 4-core PC equipped with a NetFPGA card and direct connection with the switch.

Switch CPU Flow Table size

Switch1 PowerPC 500MHz 3072 mixed flows

Switch2 PowerPC 666MHz 1500 mixed flows

Switch3 PowerPC 828MHz 2048 mixed flows

OpenVSwitch Xeon 3.6GHz 1M mixed flows

NetFPGA DualCore 2.4GHz 32K exact match & 100 wildcard flows

Page 8: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Flow Insertion Delay

• How fast can you update the flow table?

• 2 measurement probes:

– FLOW A: UDP – 1 src to N dst. - 10Mbps/100 bytes.

– FLOW B: UDP – 1 src to 1 dst – 10Mbps/100bytes.

Page 9: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Flow Insertion - Barrier Reply

0.01

0.1

1

10

100

1000

1 10 100 1000

dela

y(m

sec)

number of flows

barrier replytransmission delayfirst packet

0.01

0.1

1

10

100

1000

1 10 100 1000

dela

y(m

sec)

number of flows

barrier replytransmission delayfirst packet

OpenVSwitch

Switch 1

Page 10: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Flow Insertion – Data Plane

0.1

1

10

100

1000

10000

1 10 100 1000

Inse

rtio

n tim

e (m

sec)

Number of flow entries inserted

switch1 - mod flowswitch1 - add flowswitch2 - mod flowswitch2 - add flowovs - mod flowovs - add flow

Page 11: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Traffic Monitoring

• Flow stats messages allows controller defined traffic monitor

– Traffic matrix estimation, large traffic aggregates

• How do implementations handle these type of messages?

• Insert 1000 flows. Polls for flow stats while sending 100 Mbps/100 bytes traffic on data channels.

Page 12: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Flow Statistics

0

20

40

60

80

100

0.25 0.5 1 4

cpu

utliz

atio

n

flow statistics poling rate (requests/sec)

switch1switch2netfpga

ovs

1

10

100

1000

0.25 0.5 1 4

flow

sta

ts d

elay

(m

sec)

flow statistics poling rate (requests/sec)

switch1switch2switch3netfpga

ovs

Ovs and NetFPGA powerful CPUs provide low latency with minimum CPU utilisation.

Switch2 tries to reply as fast as possible to stats requests and results in high CPU utilisation.

Switch1 paces its replies in order to avoid overloading its CPU.

Page 13: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Message interactions

• Dynamically adapting application and OpenFlow–Will my load balancer app crash if I poll too fast for flow

statistics?

• Repeat the previous experiment and measure the delay to insert 100 flows.

Page 14: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Protocol Interaction

10

100

1000

10000

210.330.250

inse

rtio

n d

elay

(us

ec)

flow statistics polling rate (requests/sec)

switch1switch2switch3netfpga

ovs

Page 15: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

What I learned using OFLOPS

• OpenFlow switch implementation is not trivial.

– Software switches provide excellent control channel performance, but suffer in forwarding delay.

– Switch firmware are still early in their development.

– Switching fabrics are not OpenFlow-optimised. Further improvement requires chip redesign or abstraction redefinition.

Page 16: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

Conclusions

OFLOPS: framework for performing OpenFlow measurements

Advanced instrumentation: NetFPGA for packet generation / capturing, SNMP, ...

Allows to identify bottlenecks and limitations of OpenFlow implementations.

Tested a number of primitive OpenFlow functionalities and discover significant variations.

Page 17: OFLOPS: An Open Framework for OpenFlow Switch Evaluation Haris Rotsos, Andrew W. Moore, University of Cambridge Nadi Sarrar, T-Labs/TU Berlin Steve Uhlig,

OFLOPS on the NET

Do you want to start developing your modules

– http://www.openflow.org/wk/index.php/Oflops

– http://github.com/crotsos/netfpga-packet-generator-c-library/

Thank you!!!! :D