skip to main content
research-article

Maple: simplifying SDN programming using algorithmic policies

Published: 27 August 2013 Publication History

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.

References

[1]
{1} https://openflow.stanford.edu/display/Beacon/Home.
[2]
T. Benson, A. Akella, and D. A. Maltz. Network Traffic Characteristics of Data Centers in the Wild. In Proc. of IMC, 2010.
[3]
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.
[4]
M. Casado, T. Koponen, R. Ramanathan, and S. Shenker. Virtualizing the Network Forwarding Plane. In Proc. of PRESTO, 2010.
[5]
Cbench. Cbench, 2012. {Online; accessed 10-April-2012}.
[6]
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.
[7]
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.
[8]
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.
[9]
T. L. Hinrichs, N. S. Gude, M. Casado, J. C. Mitchell, and S. Shenker. Practical Declarative Network Management. In Proc. of WREN, 2009.
[10]
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.
[11]
S. Marlow, S. Peyton Jones, and S. Singh. Runtime Support for Multicore Haskell. In Proc. of ICFP, 2009.
[12]
B. Marsh, M. Scott, T. LeBlanc, and E. Markatos. First-class User-level Threads. ACM SIGOPS Operating Systems Review, 1991.
[13]
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.
[14]
J. C. Mogul et al. DevoFlow: Cost-effective Flow Management for High Performance Enterprise Networks. In Proc. of Hotnets, 2010.
[15]
C. Monsanto, N. Foster, R. Harrison, and D. Walker. A Compiler and Run-time System for Network Programming Languages. In Proc. of POPL, 2012.
[16]
C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker. Composing Software-Defined Networks. In Proc. of NSDI, 2013.
[17]
D. Mosberger and T. Jin. httperf: a Tool for Measuring Web Server Performance. SIGMETRICS Perform. Eval. Rev., 1998.
[18]
D. Shah and P. Gupta. Fast Updating Algo. for TCAMs. IEEE Micro, 2001.
[19]
Simple network access control (SNAC). http://www.openflow.org/wp/snac/.
[20]
D. E. Taylor and J. S. Turner. Classbench: a Packet Classification Benchmark. IEEE/ACM Trans. Networking, 2007.
[21]
A. Tootoonchian, S. Gorbunov, Y. Ganjali, M. Casado, and R. Sherwood. On Controller Performance in Software-Defined Networks. In Hot-ICE, 2012.
[22]
A. Voellmy, B. Ford, P. Hudak, and Y. R. Yang. Scaling Software-defined Network Controllers on Multicore Servers. YaleCS TR1468, 2012.
[23]
A. Voellmy and P. Hudak. Nettle: Taking the Sting Out of Programming Network Routers. In Proc. of PADL, 2011.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCOMM Computer Communication Review
ACM SIGCOMM Computer Communication Review  Volume 43, Issue 4
October 2013
595 pages
ISSN:0146-4833
DOI:10.1145/2534169
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCOMM '13: Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM
    August 2013
    580 pages
    ISBN:9781450320566
    DOI:10.1145/2486001
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 August 2013
Published in SIGCOMM-CCR Volume 43, Issue 4

Check for updates

Author Tags

  1. algorithmic policies
  2. openflow
  3. software-defined networking

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)114
  • Downloads (Last 6 weeks)25
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Choate: Toward High-Level, Cross-Layer SDN ProgrammingNetwork Simulation and Evaluation10.1007/978-981-97-4522-7_7(102-117)Online publication date: 2-Aug-2024
  • (2023)A Comprehensive Survey on Knowledge-Defined NetworkingTelecom10.3390/telecom40300254:3(477-596)Online publication date: 2-Aug-2023
  • (2023)CoLUE: Collaborative TCAM Update in SDN SwitchesIEEE INFOCOM 2023 - IEEE Conference on Computer Communications10.1109/INFOCOM53939.2023.10229074(1-10)Online publication date: 17-May-2023
  • (2022)Software-Defined Networking: Categories, Analysis, and Future DirectionsSensors10.3390/s2215555122:15(5551)Online publication date: 25-Jul-2022
  • (2022)Safe, modular packet pipeline programmingProceedings of the ACM on Programming Languages10.1145/34986996:POPL(1-28)Online publication date: 12-Jan-2022
  • (2021)The Programmable Data PlaneACM Computing Surveys10.1145/344786854:4(1-36)Online publication date: 3-May-2021
  • (2021)SDN-Enabled Secure IoT ArchitectureIEEE Internet of Things Journal10.1109/JIOT.2020.30437408:8(6549-6564)Online publication date: 15-Apr-2021
  • (2021)Adaptive Batch Update in TCAM: How Collective Optimization Beats Individual OnesIEEE INFOCOM 2021 - IEEE Conference on Computer Communications10.1109/INFOCOM42981.2021.9488758(1-10)Online publication date: 10-May-2021
  • (2021)Fine-grained pipeline parallelization for network function programsProceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO51591.2021.9370309(162-173)Online publication date: 27-Feb-2021
  • (2021)P4KP: QoS-Aware Top-K Best Path Using Programmable SwitchIEEE Access10.1109/ACCESS.2021.31017149(109115-109129)Online publication date: 2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media