Papers
Topics
Authors
Recent
Search
2000 character limit reached

Merlin: A Language for Provisioning Network Resources

Published 4 Jul 2014 in cs.NI | (1407.1199v1)

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 uses a combination of advanced techniques to translate these policies into code that can be executed on network elements including a constraint solver that allocates bandwidth using parameterizable heuristics. To facilitate dynamic adaptation, 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 scalability of Merlin on real-world topologies and applications. Overall, Merlin simplifies network administration by providing high-level abstractions for specifying network policies and scalable infrastructure for enforcing them.

Citations (182)

Summary

An Overview of Merlin: A Language for Provisioning Network Resources

The paper introduces "Merlin," a significant advancement in the domain of Software-Defined Networking (SDN) by proposing a high-level language aimed at provisioning network resources. Merlin is tailored to address the gap between existing SDN APIs and the complex realities of network management that involve resource allocation across diverse devices and topologies. The framework aspires to empower network administrators with a tool that simplifies the specification and enforcement of network policies via a declarative language.

Key Features and Contributions

Merlin offers an enriched set of constructs for defining network behavior, classified into four major components: packet classification, forwarding path control, packet transformation specification, and bandwidth provisioning. The language supports logical predicates and regular expressions to express forwarding paths and leverages arithmetic formulas for bandwidth constraints. A notable feature is its ability to blend different network management concerns, which are often handled separately in existing technologies.

The merits of Merlin are encapsulated in its compilation process, which involves mapping high-level policies onto network elements efficiently and dynamically. This process is complimented by a mixed-integer programming approach to handle multi-commodity flow constraints, integral for provisioning guaranteed bandwidth in complex network topologies.

Merlin also incorporates dynamic adaptation mechanisms through negotiators, which delegate control of sub-policies while ensuring modifications do not transgress predefined global constraints. Such capabilities not only enhance expressiveness but also maintain robustness against instantaneous network demands.

Numerical Results and Case Studies

Experiments conducted to demonstrate Merlin's performance have underscored its scalability and effectiveness in real-world scenarios. Evaluations on extensive topologies reveal that Merlin compiles network configurations swiftly, with the ability to optimize for diverse criteria, such as shortest-path or load balancing. In application scenarios, such as Hadoop and Ring-Paxos deployments, Merlin showed marked improvement in throughput by effectively managing resource allocation in contention-bound environments.

Implications and Future Directions

Merlin sets a strategic direction in network programmability by introducing abstractions that strongly couple path control with resource provisioning. Its ability to encapsulate sophisticated network configurations into a unified policy framework suggests promising advances in network management efficiency and reliability. The language design might inspire future efforts in extending programmable networks towards more autonomous resource allocation, possibly integrating emerging artificial intelligence frameworks for predictive network behavior analysis and adaptation.

On the theoretical front, the integration of formal verification methods within network policy enforcement can be expanded, potentially exploring advanced formal methods to ensure network security and policy compliance automatically.

In conclusion, while Merlin is an advancement in SDN, its true potential lies in its ability to simplify complex network management tasks without sacrificing the granularity and depth desired by administrators. By continuing research along these lines, there is a substantial opportunity to craft future models of network programmability that cater to the dynamic nature of modern digital ecosystems.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.