MS Thesis on OpenFlow Software Switch Performance
October 18th, 2009, srini in OpenFlow Blog
Manuel Palacin from the University Politecnico di Torino (Italy) and the Technical University of Catalonia-UPC (Spain) recently completed a thesis on “OpenFlow Switching Performance“. The thesis presents an interesting performance evaluation of the OpenFlow reference implementation (ver 0.8.9_rev2), and compares it against that achieved by Linux Routing (ip_forwarding) and Bridging (bridge tools). Using an Agilent tester for generating packets with different MAC address, IP addresses and UDP port numbers, Manuel measured the latency and throughput achieved by the three software switching schemes.
The thesis presents performance observed by the Agilent tester, while varying the:
- Packet size
- Link load
- Flow table entries (viz. exact match hashtable and wild card linear table)
- Topology (2 input port -> 1 output ports, or 1 input port -> 1 output port)
- Heterogeneity of flow size
Before each run, Manuel inserts entries to Routing (using explicit “route add”), Switching (using separate MAC learning stage), and OpenFlow (using dpctl without secchan to controller). Then, allowed the Agilent tester to forward packets over a window of 1 minute and measured the throughput/latency achieved. The summary of performance results are:
- Performance difference is noticeable at high load and small packet size; Bridging is worse off than OpenFlow (which in turn is worse off than Routing for certain cases)
- Hash table matching is quicker and supports more throughput, in comparison to wild card matching
- OpenFlow is fairest in scheduling flows, closely followed by Routing. Bridging technology seems unfair to large flows
This thesis conducted a comprehensive test of switching performance, and provides interesting ballpark numbers for throughput and latency.






October 20th, 2009 at 1:59 am
I’d be very interested by reading the thesis, but all i can get is 403: forbidden.
Can you fix this ?
October 20th, 2009 at 8:52 am
We waited to obtain permission from the authors. Now that we have it, I’ve made the link functional.