ABSTRACT
Software-Defined Networking offers the appeal of a simple, centralized programming model for managing complex networks. However, challenges in managing low-level details, such as setting up and maintaining correct and efficient forwarding tables on distributed switches, often compromise this conceptual simplicity. In this pa- per, we present Maple, a system that simplifies SDN programming by (1) allowing a programmer to use a standard programming language to design an arbitrary, centralized algorithm, which we call an algorithmic policy, to decide the behaviors of an entire network, and (2) providing an abstraction that the programmer-defined, centralized policy runs, conceptually, "afresh" on every packet entering a network, and hence is oblivious to the challenge of translating a high-level policy into sets of rules on distributed individual switches. To implement algorithmic policies efficiently, Maple includes not only a highly-efficient multicore scheduler that can scale efficiently to controllers with 40+ cores, but more importantly a novel tracing runtime optimizer that can automatically record reusable policy decisions, offload work to switches when possible, and keep switch flow tables up-to-date by dynamically tracing the dependency of policy decisions on packet contents as well as the environment (system state). Evaluations using real HP switches show that Maple optimizer reduces HTTP connection time by a factor of 100 at high load. During simulated benchmarking, Maple scheduler, when not running the optimizer, achieves a throughput of over 20 million new flow requests per second on a single machine, with 95-percentile latency under 10 ms.
- {1} https://openflow.stanford.edu/display/Beacon/Home.Google Scholar
- T. Benson, A. Akella, and D. A. Maltz. Network Traffic Characteristics of Data Centers in the Wild. In Proc. of IMC, 2010. Google ScholarDigital Library
- Z. Cai, A. L. Cox, and T. S. Eugene Ng. Maestro: Balancing Fairness, Latency and Throughput in the OpenFlow Control Plane. Technical report, Rice, 2011.Google Scholar
- M. Casado, T. Koponen, R. Ramanathan, and S. Shenker. Virtualizing the Network Forwarding Plane. In Proc. of PRESTO, 2010. Google ScholarDigital Library
- Cbench. Cbench, 2012. {Online; accessed 10-April-2012}.Google Scholar
- A. R. Curtis, J. C. Mogul, J. Tourrilhes, P. Yalagandula, P. Sharma, and S. Banerjee. DevoFlow: Scaling Flow Management for High-Performance Networks. In Proc. of SIGCOMM, 2011. Google ScholarDigital Library
- N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: a Net. Programming Language. In Proc. of ICFP, 2011. Google ScholarDigital Library
- 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., 2008. Google ScholarDigital Library
- T. L. Hinrichs, N. S. Gude, M. Casado, J. C. Mitchell, and S. Shenker. Practical Declarative Network Management. In Proc. of WREN, 2009. 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 Proc. of OSDI, 2010. Google ScholarDigital Library
- S. Marlow, S. Peyton Jones, and S. Singh. Runtime Support for Multicore Haskell. In Proc. of ICFP, 2009. Google ScholarDigital Library
- B. Marsh, M. Scott, T. LeBlanc, and E. Markatos. First-class User-level Threads. ACM SIGOPS Operating Systems Review, 1991. Google ScholarDigital Library
- N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner. OpenFlow: Enabling Innovation in Campus Networks. SIGCOMM Comput. Commun. Rev., 2008. Google ScholarDigital Library
- J. C. Mogul et al. DevoFlow: Cost-effective Flow Management for High Performance Enterprise Networks. In Proc. of Hotnets, 2010. Google ScholarDigital Library
- C. Monsanto, N. Foster, R. Harrison, and D. Walker. A Compiler and Run-time System for Network Programming Languages. In Proc. of POPL, 2012. Google ScholarDigital Library
- C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker. Composing Software-Defined Networks. In Proc. of NSDI, 2013. Google ScholarDigital Library
- D. Mosberger and T. Jin. httperf: a Tool for Measuring Web Server Performance. SIGMETRICS Perform. Eval. Rev., 1998. Google ScholarDigital Library
- D. Shah and P. Gupta. Fast Updating Algo. for TCAMs. IEEE Micro, 2001. Google ScholarDigital Library
- Simple network access control (SNAC). http://www.openflow.org/wp/snac/.Google Scholar
- D. E. Taylor and J. S. Turner. Classbench: a Packet Classification Benchmark. IEEE/ACM Trans. Networking, 2007. Google ScholarDigital Library
- A. Tootoonchian, S. Gorbunov, Y. Ganjali, M. Casado, and R. Sherwood. On Controller Performance in Software-Defined Networks. In Hot-ICE, 2012. Google ScholarDigital Library
- A. Voellmy, B. Ford, P. Hudak, and Y. R. Yang. Scaling Software-defined Network Controllers on Multicore Servers. YaleCS TR1468, 2012.Google Scholar
- A. Voellmy and P. Hudak. Nettle: Taking the Sting Out of Programming Network Routers. In Proc. of PADL, 2011. Google ScholarDigital Library
Index Terms
- Maple: simplifying SDN programming using algorithmic policies
Recommendations
Maple: simplifying SDN programming using algorithmic policies
Software-Defined Networking offers the appeal of a simple, centralized programming model for managing complex networks. However, challenges in managing low-level details, such as setting up and maintaining correct and efficient forwarding tables on ...
Efficient mismatched packet buffer management with packet order-preserving for OpenFlow networks
OpenFlow-based networks simplify network management and improve network programmability by centralized network control. Existing OpenFlow networks employ packet-granularity mismatched packet buffer management to reduce the switch-controller ...
Procera: a language for high-level reactive network control
HotSDN '12: Proceedings of the first workshop on Hot topics in software defined networksOur previous experience building systems for implementing network policies in home and enterprise networks has revealed that the intuitive notion of network policy in these domains is inherently dynamic and stateful. Current configuration languages, ...
Comments