Menu

mSwitch: A Highly-Scalable, Modular Software Switch

Date

June 17, 2015

Author

Michio Honda, Felipe Huici, Giuseppe Lettieri and Luigi RizzoACM SIGCOMM SYMPOSIUM ON SDN RESEARCH (SOSR)

Software switches have been around for decades, often as a cheap alternative to hardware-based switching. More recently, they have gained renewed prominence as a result of a number of trends, including virtualization technologies, software-defined networks, and consolidated middle- box platforms, among others. To address the requirements arising from these, a number of high performance switches have been proposed in the literature. However, none of these simultaneously provide (1) high throughput, (2) reasonable CPU consumption, (3) high port density and (4) a flexible data plane. 

In this paper we fill the gap by presenting mSwitch, a modular software switch with a strong emphasis on performance, scalability, and extensibility. On commodity hard- ware, mSwitch is able to reach throughput in the hundreds of Gb/s and scale to large numbers of ports while providing a flexible, modular data plane. 

To prove the flexibility of our approach, we use mSwitch to build four distinct modules: a learning bridge consisting of 45 lines of code that outperforms FreeBSD’s bridge by 6 times; an accelerated Open vSwitch module requiring small changes to the code and boosting performance by 2.6-3 times; a protocol demultiplexer for user-space protocol stacks; and a filtering module that can direct packets to virtualized middleboxes.

Resources

The definitive version of the paper can be found at: http://delivery.acm.org/10.1145/2780000/2775065/a1-honda.pdf. 

Slides used at the conference can be found at: http://www.slideshare.net/micchie/mswitch-paper-talk-at-sosr-2015.