Scaling by Learning: Accelerating Open vSwitch Data Path With Neural Networks

Alon Rashelbach, Ori Rottenstreich, Mark Silberstein

Research output: Contribution to journalArticlepeer-review


Open vSwitch (OVS) is a widely used open-source virtual switch implementation. In this work, we seek to scale up OVS to support hundreds of thousands of OpenFlow rules by accelerating the core component of its data-path - the packet classification mechanism. To do so we use NuevoMatch, a recent algorithm that uses neural network inference to match packets, and promises significant scalability and performance benefits. We overcome the primary algorithmic challenge of the slow training rate in the vanilla NuevoMatch, speeding it up by over three orders of magnitude. This improvement enables two design options to integrate NuevoMatch with OVS: (1) as an extra caching layer in front of OVS's megaflow cache, and (2) using it to completely replace OVS's data-path while performing classification directly on OpenFlow rules, and obviating control-path upcalls. Comprehensive evaluation on real-world packet traces and ClassBench rules demonstrates geometric mean speedups of 1.9× and 12.3× for the first and second designs, respectively, for 500K rules, with the latter also supporting up to 60K OpenFlow rule updates/second, by far exceeding the original OVS.

Original languageEnglish
Pages (from-to)1230-1243
Number of pages14
JournalIEEE/ACM Transactions on Networking
Issue number3
StatePublished - 1 Jun 2023


  • Computational modeling
  • IEEE transactions
  • Indexes
  • Neural networks
  • Scalability
  • Software defined networking
  • Throughput
  • Training
  • neural networks
  • packet switching

All Science Journal Classification (ASJC) codes

  • Software
  • Electrical and Electronic Engineering
  • Computer Networks and Communications
  • Computer Science Applications


Dive into the research topics of 'Scaling by Learning: Accelerating Open vSwitch Data Path With Neural Networks'. Together they form a unique fingerprint.

Cite this