High-Fidelity Switch Models for SDN Emulation Danny Y. Huang Kenneth Yocum Alex C. Snoeren University of California, San Diego Buying OpenFlow Switches Clients HP Procurve Fulcrum Monaco Which one to buy? Quanta LB4G 2 Buying OpenFlow Switches Clients 30% queries timed out 3 Buying OpenFlow Switches Clients 4 Buying OpenFlow Switches Clients Same topology. Same workload. Different performance! 5 Buying OpenFlow Switches Performance Variations Clients x 1,000 = How to predict the performance? Which one to buy? 6 Emulating OpenFlow Networks OVS itself would also introduce Simulators / Emulators performance variations. Data Traffic Data Plane Figure 2: Query completion times for Redis clients. Mininet OpenFlow Controller Open vSwitch Control Plane account for individual switch artifactsto accurately predict application performance. Section 3 discusses our methodology for quantifying this effect and reproducing it in an OVS-based emulator. 2.2 Impact of flow table design 7 F c Problem Goal Hard to predict OpenFlow network’s performance: To predict performance with realism: • OpenFlow Switches are different. • Existing emulation framework is not good enough. • To design an emulator that captures vendor variations. • To measure these variations in the control plane. 8 Variations across Vendors Differences in Control Plane Controller Flow table size Flow management policies OpenFlow Protocol Switch CPU etc Focus on CPU’s effect on control-path delays. Data Traffic 9 Control-Path Delays Controller (POX) Packet-in Events Ingress Delay Flow-mod Events CPU Disproportionately affects short flows. Egress Delay TCAM Ingress Egress Hardware OpenFlow Switch Data plane traffic Application Workload 10 Measure Control-Path Delays Installs rules for every new flow Server Controller Eth 0 Control Plane HP Procurve OF Switch Fulcrum Monaco Eth 1 Clients Eth 2 Data Plane Quanta LB4G Open vSwitch (OVS) Queries for a 64-byte value every 50 ms. We measure the query time, ingress & egress delays. 11 Measure Redis Query Times Query completion times for Redis clients (ms) 12 Measure Ingress Delay OVS faster than the others. 13 Measure Egress Delay OVS: almost no delays! Slow down the ingress and egress delays on OVS to emulate the hardware 14 Implementing the Emulator Controller (POX) To slow down control traffic Packet-in Events Flow-mod Events Open vSwitch (OVS) Ingress Egress Data plane traffic Application Workload 15 Emulator Proxy Controller (POX) Packet-in Events (Delayed) Flow-mod Events Physical OF Switch Emulator Proxy Packet-in Events Flow-mod Events (Delayed) ≈ Open vSwitch (OVS) Ingress Egress Data plane traffic Application Workload 16 Evaluation HP CDF OVS Query completion time for Redis clients (ms) Hardware Emulated 17 Evaluation • We emulate the ingress and egress delays only. HP • Reasonble approximation. CDF Monaco Query completion time for Redis clients (ms) Quanta Query completion time for Redis clients (ms) OVS Hardware Emulated Query completion time for Redis clients (ms) 18 Summary Future Work • Hard to predict performance due to vendor variations. • We designed an emulator for controlpath delays. • Simple, but achieves reasonable approximation. • Increase realism. Capture more artifacts. • Expand workload coverage. Automate switch measurements. • Capture interactions among multiple switches. Acknowledgements Marco Canini and Dan Levin (TU Berlin) George Porter (UC San Diego) 19 Thank you! 20 Inverse Transform Sampling • Goal: Emulate switch X, which introduces ingress delay t with probability p. • Algorithm: 1. Measure the delay distributions of OVS and X. Make them into tables. 2. Measure how much OVS has delayed. Call this tOVS. 3. Look up tOVS from the OVS table. This returns probability p. 4. Look up p from X’s table. This returns delay tX. 5. Introduce delay (tX - tOVS). 21 Time on Emulator (ms) Evaluation (QQ Plots) HP Monaco Quanta Query completion time on hardware switches (ms) 22 Time Dilation 23