Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2674005.2674989acmconferencesArticle/Chapter ViewAbstractPublication PagesconextConference Proceedingsconference-collections
research-article

Merlin: A Language for Provisioning Network Resources

Published: 02 December 2014 Publication History

Abstract

This paper presents Merlin, a new framework for managing resources in software-defined networks. With Merlin, administrators express high-level policies using programs in a declarative language. The language includes logical predicates to identify sets of packets, regular expressions to encode forwarding paths, and arithmetic formulas to specify bandwidth constraints. The Merlin compiler maps these policies into a constraint problem that determines bandwidth allocations using parameterizable heuristics. It then generates code that can be executed on the network elements to enforce the policies. To allow network tenants to dynamically adapt policies to their needs, Merlin provides mechanisms for delegating control of sub-policies and for verifying that modifications made to sub-policies do not violate global constraints. Experiments demonstrate the expressiveness and effectiveness of Merlin on real-world topologies and applications. Overall, Merlin simplifies network administration by providing high-level abstractions for specifying network policies that provision network resources.

References

[1]
R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Inc., 1993.
[2]
M. Al-Fares, A. Loukissas, and A. Vahdat. A Scalable, Commodity Data Center Network Architecture. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 63--74, Aug. 2008.
[3]
C. J. Anderson, N. Foster, A. Guha, J.-B. Jeannin, D. Kozen, C. Schlesinger, and D. Walker. NetKAT: Semantic Foundations for Networks. In Symposium on Principles of Programming Languages, pages 113--126, Jan. 2014.
[4]
Automatic test packet generation. https://github.com/eastzone/atpg.
[5]
H. Ballani, P. Costa, T. Karagiannis, and A. Rowstron. Towards Predictable Datacenter Networks. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 242--253, Aug. 2011.
[6]
C. Barnhart, C. A. Hane, and P. H. Vance. Using Branch-and-Price-and-Cut to Solve Origin-Destination Integer Multicommodity Flow Problems. Operations Research, 48(2):318--326, Mar. 2000.
[7]
A. Z. Broder, A. M. Frieze, and E. Upfal. Static and Dynamic Path Selection on Expander Graphs: A Random Walk Approach. In Symposium on Theory of Computing, pages 531--539, May 1997.
[8]
M. Burrows. The Chubby Lock Service for Loosely-coupled Distributed Systems. In Symposium on Operating Systems Design and Implementation, pages 335--350, Nov. 2006.
[9]
A. Chakrabarti, C. Chekuri, A. Gupta, and A. Kumar. Approximation Algorithms for the Unsplittable Flow Problem. In International Workshop on Approximation Algorithms for Combinatorial Optimization, pages 51--66, Sept. 2002.
[10]
S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, and X. Zheng. Secure Web Applications via Automatic Partitioning. In Symposium on Operating Systems Principles, pages 31--44, Oct. 2007.
[11]
J. Chuzhoy and S. Li. A Polylogarithmic Approximation Algorithm for Edge-Disjoint Paths with Congestion 2. In IEEE Symposium on Foundations of Computer Science, pages 233--242, Oct. 2012.
[12]
J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google's Globally-distributed Database. In Symposium on Operating Systems Design and Implementation, pages 251--264, Oct. 2012.
[13]
J. Dean and S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In Symposium on Operating Systems Design and Implementation, pages 137--150, Dec. 2004.
[14]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's Highly Available Key-Value Store.,In Symposium on Operating Systems Principles, pages 205--220, Oct.,2007.
[15]
Y. Dinitz, N. Garg, and M. X. Goemans. On the Single-Source,Unsplittable Flow Problem. Combinatorica, 19(1):17--41, Jan. 1999.
[16]
C. Dixon, H. Uppal, V. Brajkovic, D. Brandon, T. Anderson, and A. Krishnamurthy. ETTM: A Scalable Fault Tolerant Network Manager. In Symposium on Networked Systems Design and Implementation, pages 7--21, Mar. 2011.
[17]
S. K. Fayazbakhsh, L. Chiang, V. Sekar, M. Yu, and J. C. Mogul. Enforcing Network-wide Policies in the Presence of Dynamic Middlebox Actions Using Flowtags. In Symposium on Networked Systems Design and Implementation, pages 533--546, Apr. 2014.
[18]
A. Ferguson, A. Guha, C. Liang, R. Fonseca, and S. Krishnamurthi. Participatory Networking: An API for Application Control of SDNs. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 327--338, Aug. 2013.
[19]
N. Foster, A. Guha, et al. The Frenetic Network Controller. In The OCaml Users and Developers Workshop, Sept. 2013.
[20]
N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: A Network Programming Language. In International Conference on Functional Programming, pages 279--291, Sept. 2011.
[21]
A. M. Frieze. Disjoint Paths in Expander Graphs via Random Walks: A Short Survey. In Workshop on Randomization and Approximation Techniques in Computer Science, pages 1--14, Oct. 1998.
[22]
A. Gember, P. Prabhu, Z. Ghadiyali, and A. Akella. Toward Software-Defined Middlebox Networking. In Workshop on Hot Topics in Networks, pages 7--12, Oct. 2012.
[23]
L. Glendenning, I. Beschastnikh, A. Krishnamurthy, and T. Anderson. Scalable Consistency in Scatter. In Symposium on Operating Systems Principles, pages 15--28, Oct. 2011.
[24]
P. B. Godfrey, I. Ganichev, S. Shenker, and I. Stoica. Pathlet Routing. SIGCOMM Computer Communication Review, 39(4):111--122, Aug. 2009.
[25]
Gurobi Optimization Inc. The Gurobi optimizer. http://www.gurobi.com.
[26]
T. Hinrichs, N. Gude, M. Casado, J. Mitchell, and S. Shenker. Practical Declarative Network Management. In Workshop: Research on Enterprise Networking, pages 1--10, 2009.
[27]
P. Hooimeijer. Dprle decision procedure library. http://www.cs.virginia.edu/~ph4u/dprle/.
[28]
J. Hopcroft and J. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 1979.
[29]
The Internet Topology Zoo. http://www.topology-zoo.org.
[30]
S. Ioannidis, A. D. Keromytis, S. M. Bellovin, and J. M. Smith. Implementing a Distributed Firewall. In Conference on Computer and Communications Security, pages 190--199, Nov. 2000.
[31]
S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, S. Venkata, J. Wanderer, J. Zhou, M. Zhu, J. Zolla, U. Hölzle, S. Stuart, and A. Vahdat. B4: Experience with a Globally Deployed Software Defined WAN. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 3--14, Aug. 2013.
[32]
M. Jelasity, A. Montresor, and Ö. Babaoglu. T-Man: Gossip-based Fast Overlay Topology Construction. Computer Networks, 53(13):2321--2339, Jan. 2009.
[33]
V. Jeyakumar, M. Alizadeh, D. Mazières, B. Prabhakar, A. Greenberg, and C. Kim. EyeQ: Practical Network Performance Isolation at the Edge. In Symposium on Networked Systems Design and Implementation, pages 297--312, Apr. 2013.
[34]
D. A. Joseph, A. Tavakoli, I. Stoica, D. Joseph, A. Tavakoli, and I. Stoica. A Policy-aware Switching Layer for Data Centers. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 51--62, Aug. 2008.
[35]
N. Kang, Z. Liu, J. Rexford, and D. Walker. Optimizing the "One Big Switch" Abstraction in Software-defined Networks. In International Conference on Emerging Networking Experiments and Technologies, pages 13--24, Dec. 2013.
[36]
J. Kleinberg and R. Rubinfeld. Short Paths in Expander Graphs. In IEEE Symposium on Foundations of Computer Science, pages 86--95, Oct. 1996.
[37]
J. M. Kleinberg. Single-Source Unsplittable Flow. In IEEE Symposium on Foundations of Computer Science, pages 68--77, Oct. 1996.
[38]
E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. Transactions on Computer Systems, 18(3):263--297, Aug. 2000.
[39]
S. G. Kolliopoulos and C. Stein. Approximation Algorithms for Single-Source Unsplittable Flow. SIAM Journal on Computing, 31(3):919--946, June 2001.
[40]
T. Koponen, K. Amidon, P. Balland, M. Casado, A. Chanda, B. Fulton, I. Ganichev, J. Gross, P. Ingram, E. Jackson, A. Lambeth,\ R. Lenglet, S.-H. Li, A. Padmanabhan, J. Pettit, B. Pfaff, R. Ramanathan, S. Shenker, A. Shieh, J. Stribling, P. Thakkar, D. Wendlandt, A. Yip, and R. Zhang. Network Virtualization in Multi-tenant Datacenters. In Symposium on Networked Systems Design and Implementation, pages 203--216, Apr. 2014.
[41]
L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, 21(7):558--565, July 1978.
[42]
L. Lamport. The Part-Time Parliament. Transactions on Computer Systems, 16(2):133--169, May 1998.
[43]
J. Liu, M. D. George, K. Vikram, X. Qi, L. Waye, and A. C. Myers. Fabric: A Platform for Secure Sistributed Computation and Storage. In ACM SIGOPS European Workshop, pages 321--334, Oct. 2009.
[44]
P. Marandi et al. Ring Paxos: A high-throughput atomic broadcast protocol. In International Conference on Dependable Systems and Networks, pages 527--536, May 2010.
[45]
N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner. OpenFlow: Enabling Innovation in Campus Networks. SIGCOMM Computer Communication Review, 38(2):69--74, Mar. 2008.
[46]
C. Monsanto et al. Composing Software-Defined Networks. In Symposium on Networked Systems Design and Implementation, pages 1--13, Apr. 2013.
[47]
C. Monsanto, N. Foster, R. Harrison, and D. Walker. A Compiler and Run-time System for Network Programming Languages. In Symposium on Principles of Programming Languages, pages 217--230, Jan. 2012.
[48]
L. D. Moura and N. Bjørner. Z3: An Efficient SMT Solver. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 337--340, 2008.
[49]
G. C. Necula. Proof-Carrying Code. In Symposium on Principles of Programming Languages, pages 106--119, Jan. 1997.
[50]
T. Nelson, M. Scheer, A. D. Ferguson, and S. Krishnamurthi. Tierless Programming and Reasoning for Software-Defined Networks. In Symposium on Networked Systems Design and Implementation, Apr. 2014.
[51]
NetworkX. https://networkx.github.io.
[52]
H. Okamura and P. D. Seymour. Multicommodity Flows in Planar Graphs. Journal of Combinatorial Theory, Series B, 31(1):75--81, 1981.
[53]
L. Popa, G. Kumar, M. Chowdhury, A. Krishnamurthy, S. Ratnasamy, and I. Stoica. FairCloud: Sharing the Network in Cloud Computing. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 187--198, Aug. 2012.
[54]
Puppet. http://puppetlabs.com.
[55]
Z. A. Qazi, C.-C. Tu, L. Chiang, R. Miao, V. Sekar, and M. Yu. SIMPLE-fying Middlebox Policy Enforcement Using SDN. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 27--38, Aug. 2013.
[56]
M. Roesch. Snort-Lightweight Intrusion Detection for Networks. In Conference on System Administration, pages 229--238, Nov. 1999.
[57]
F. B. Schneider. Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. Computing Surveys, 22(4):299--319, Dec. 1990.
[58]
V. Sekar, N. Egi, S. Ratnasamy, M. K. Reiter, and G. Shi. Design and Implementation of a Consolidated Middlebox Architecture. In Symposium on Networked Systems Design and Implementation, pages 24--38, Apr. 2012.
[59]
J. Sherry, S. Hasan, C. Scott, A. Krishnamurthy, S. Ratnasamy, and V. Sekar. Making Middleboxes Someone Else's Problem: Network Processing as a Cloud Service. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 13--24, Aug. 2012.
[60]
A. Shieh, S. Kandula, A. Greenberg, and C. Kim. Seawall: Performance Isolation for Cloud Datacenter Networks. In Workshop on Hot Topics in Cloud Computing, pages 1--8, June 2010.
[61]
E. G. Sirer, W. de Bruijn, P. Reynolds, A. Shieh, K. Walsh, D. Williams, and F. B. Schneider. Logical Attestation: An Authorization Architecture for Trustworthy Computing. In Symposium on Operating Systems Principles, pages 249--264, Oct. 2011.
[62]
R. Soulé, S. Basu, R. Kleinberg, E. G. Sirer, and N. Foster. Managing the Network with Merlin. In Workshop on Hot Topics in Networks, Nov. 2013.
[63]
R. Subramaniyan, P. Raman, A. D. George, M. A. Radlinski, and M. A. Radlinski. GEMS: Gossip-Enabled Monitoring Service for Scalable Heterogeneous Distributed Systems. Cluster Computing, 9(1):101--120, Jan. 2006.
[64]
R. Van Renesse, K. P. Birman, and W. Vogels. Astrolabe: A Robust and Scalable Technology for Distributed System Monitoring, Management, and Data Mining. Transactions on Computer Systems, 21(2):164--206, Feb. 2003.
[65]
A. Voellmy, J. Wang, Y. R. Yang, B. Ford, and P. Hudak. Maple: Simplifying SDN Programming Using Algorithmic Policies. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, pages 87--98, Aug. 2013.

Cited By

View all
  • (2024)Occam: A Programming System for Reliable Network ManagementProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650086(148-162)Online publication date: 22-Apr-2024
  • (2023)Expressive Policies For Microservice NetworksProceedings of the 22nd ACM Workshop on Hot Topics in Networks10.1145/3626111.3628181(280-286)Online publication date: 28-Nov-2023
  • (2023)Comparative Synthesis: Learning Near-Optimal Network Designs by QueryProceedings of the ACM on Programming Languages10.1145/35711977:POPL(91-120)Online publication date: 11-Jan-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CoNEXT '14: Proceedings of the 10th ACM International on Conference on emerging Networking Experiments and Technologies
December 2014
438 pages
ISBN:9781450332798
DOI:10.1145/2674005
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 December 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. delegation
  2. merlin
  3. resource management
  4. software-defined networking
  5. verification

Qualifiers

  • Research-article

Funding Sources

Conference

CoNEXT '14
Sponsor:

Acceptance Rates

CoNEXT '14 Paper Acceptance Rate 27 of 133 submissions, 20%;
Overall Acceptance Rate 198 of 789 submissions, 25%

Upcoming Conference

CoNEXT '24

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)26
  • Downloads (Last 6 weeks)7
Reflects downloads up to 10 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Occam: A Programming System for Reliable Network ManagementProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650086(148-162)Online publication date: 22-Apr-2024
  • (2023)Expressive Policies For Microservice NetworksProceedings of the 22nd ACM Workshop on Hot Topics in Networks10.1145/3626111.3628181(280-286)Online publication date: 28-Nov-2023
  • (2023)Comparative Synthesis: Learning Near-Optimal Network Designs by QueryProceedings of the ACM on Programming Languages10.1145/35711977:POPL(91-120)Online publication date: 11-Jan-2023
  • (2023)Network Specification Mining with High Fidelity and Scalability2023 IEEE 31st International Conference on Network Protocols (ICNP)10.1109/ICNP59255.2023.10355598(1-11)Online publication date: 10-Oct-2023
  • (2022)Software-Defined Networking: Categories, Analysis, and Future DirectionsSensors10.3390/s2215555122:15(5551)Online publication date: 25-Jul-2022
  • (2022)FlashProceedings of the ACM SIGCOMM 2022 Conference10.1145/3544216.3544246(314-335)Online publication date: 22-Aug-2022
  • (2022)Forwarding and Routing With Packet SubscriptionsIEEE/ACM Transactions on Networking10.1109/TNET.2022.317206630:6(2464-2479)Online publication date: Dec-2022
  • (2022)Compiling Cross-Language Network Programs Into Hybrid Data PlaneIEEE/ACM Transactions on Networking10.1109/TNET.2021.313230330:3(1088-1103)Online publication date: Jun-2022
  • (2022)Enabling Application-Aware Traffic Engineering in IPv6 NetworksIEEE Network10.1109/MNET.005.210044036:2(42-49)Online publication date: Mar-2022
  • (2021)D2RProceedings of the ACM SIGCOMM Symposium on SDN Research (SOSR)10.1145/3482898.3483360(148-161)Online publication date: 11-Oct-2021
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media