ABSTRACT
Software defined networking (SDN) introduces centralized controllers to dramatically increase network programmability. The simplicity of a logical centralized controller, however, can come at the cost of control-plane scalability. In this demo, we present McNettle, an extensible SDN control system whose control event processing throughput scales with the number of system CPU cores and which supports control algorithms requiring globally visible state changes occurring at flow arrival rates. Programmers extend McNettle by writing event handlers and background programs in a high-level functional programming language extended with shared state and memory transactions. We implement our framework in Haskell and leverage the multicore facilities of the Glasgow Haskell Compiler (GHC) and runtime system. Our implementation schedules event handlers, allocates memory, optimizes message parsing and serialization, and reduces system calls in order to optimize cache usage, OS processing, and runtime system overhead. Our experiments show that McNettle can serve up to 5000 switches using a single controller with 46 cores, achieving throughput of over 14 million flows per second, near-linear scaling up to 46 cores, and latency under 200 μs for light loads and 10 ms with loads consisting of up to 5000 switches.
- D. Erickson. Beacon. https://openflow.stanford.edu/display/Beacon/Home, 2012. {Online}.Google Scholar
- N. Gude, T. Koponen, J. Pettit, B. Pfaff, M. Casado, N. McKeown, and S. Shenker. Nox: towards an operating system for networks. SIGCOMM Comput. Commun. Rev., 38(3):105--110, July 2008. Google ScholarDigital Library
- T. Harris, S. Marlow, S. Peyton-Jones, and M. Herlihy. Composable memory transactions. In Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP '05, pages 48--60, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y. Iwata, H. Inoue, T. Hama, and S. Shenker. Onix: a distributed control platform for large-scale production networks. In Proceedings of the 9th USENIX conference on Operating systems design and implementation, OSDI'10, 2010. Google ScholarDigital Library
- noxrepo.org. Nox destiny-fast. http://www.noxrepo.org/, 2012. {Online; git commit e9c3da6bb12ad3fa0d2b609e697a50ce44ca19f4}.Google Scholar
- R. Sherwood and K.-K. Yap. Cbench. http://www.openflow.org/wk/index.php/Oflops/, 2012. {Online; accessed 10-April-2012}.Google Scholar
- A. Tavakoli, M. Casado, T. Koponen, and S. Shenker. Applying NOX to the datacenter.Google Scholar
- A. Voellmy and P. Hudak. Nettle: taking the sting out of programming network routers. In Proceedings of the 13th international conference on Practical aspects of declarative languages, PADL'11, pages 235--249, Berlin, Heidelberg, 2011. Springer-Verlag. Google ScholarDigital Library
Index Terms
- Scalable software defined network controllers
Recommendations
Scalable software defined network controllers
Special october issue SIGCOMM '12Software defined networking (SDN) introduces centralized controllers to dramatically increase network programmability. The simplicity of a logical centralized controller, however, can come at the cost of control-plane scalability. In this demo, we ...
Machine-verified network controllers
PLDI '13In many areas of computing, techniques ranging from testing to formal modeling to full-blown verification have been successfully used to help programmers build reliable systems. But although networks are critical infrastructure, they have largely ...
Machine-verified network controllers
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationIn many areas of computing, techniques ranging from testing to formal modeling to full-blown verification have been successfully used to help programmers build reliable systems. But although networks are critical infrastructure, they have largely ...
Comments