A Compiler and Run-time System for Network Programming Languages

被引:0
|
作者
Monsanto, Christopher [1 ]
Foster, Nate
Harrison, Rob
Walker, David [1 ]
机构
[1] Princeton Univ, Princeton, NJ 08544 USA
关键词
Software-defined Networking; OpenFlow; Frenetic; Network programming languages; Domain specific languages;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software-defined networks (SDNs) are a new kind of network architecture in which a controller machine manages a distributed collection of switches by instructing them to install or uninstall packet-forwarding rules and report traffic statistics. The recently formed Open Networking Consortium, whose members include Google, Facebook, Microsoft, Verizon, and others, hopes to use this architecture to transform the way that enterprise and data center networks are implemented. In this paper, we define a high-level, declarative language, called Net Core, for expressing packet-forwarding policies on SDNs. Net-Core is expressive, compositional, and has a formal semantics. To ensure that a majority of packets are processed efficiently on switches instead of on the controller we present new compilation algorithms for Net Core and couple them with a new run-time system that issues rule installation commands and traffic-statistics queries to switches. Together, the compiler and run-time system generate efficient rules whenever possible and outperform the simple, manual techniques commonly used to program SDNs today. In addition, the algorithms we develop are generic, assuming only that the packet-matching capabilities available on switches satisfy some basic algebraic laws. Overall, this paper delivers a new design for a high-level network programming language; an improved set of compiler algorithms; a new run-time system for SDN architectures; the first formal semantics and proofs of correctness in this domain; and an implementation and evaluation that demonstrates the performance benefits over traditional manual techniques.
引用
收藏
页码:217 / 230
页数:14
相关论文
共 50 条
  • [1] A Complier and Run-time system for Network Programming Languages
    Monsanto, Christopher
    Foster, Nate
    Harrison, Rob
    Walker, David
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (01) : 217 - 230
  • [2] Application of a run-time system for parallel object oriented languages
    Senger, H.
    Sato, L.
    Salvador, L.
    [J]. Informacion Tecnologica, 1999, 10 (03): : 179 - 186
  • [3] Run-time system for scalable network services
    Shevade, Upendra
    Kokku, Ravi
    Vin, Harrick M.
    [J]. 27TH IEEE CONFERENCE ON COMPUTER COMMUNICATIONS (INFOCOM), VOLS 1-5, 2008, : 2485 - +
  • [4] Interprocedural Compiler Optimization for Partial Run-Time Reconfiguration
    Elena Moscu Panainte
    Koen Bertels
    Stamatis Vassiliadis
    [J]. Journal of VLSI signal processing systems for signal, image and video technology, 2006, 43 : 161 - 172
  • [5] Interprocedural compiler optimization for partial run-time reconfiguration
    Panainte, Elena Moscu
    Bertels, Koen
    Vassiliadis, Stamatis
    [J]. JOURNAL OF VLSI SIGNAL PROCESSING SYSTEMS FOR SIGNAL IMAGE AND VIDEO TECHNOLOGY, 2006, 43 (2-3): : 161 - 172
  • [6] Language constructs and run-time system for parallel cellular programming
    Spezzano, G
    Talia, D
    [J]. EURO-PAR '98 PARALLEL PROCESSING, 1998, 1470 : 669 - 675
  • [7] DesCaRTeS: a run-time system with SR-like functionality for programming a network of embedded systems
    Maris, JT
    Roper, MD
    Olsson, RA
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2003, 29 (04) : 75 - 100
  • [8] Improving compiler and run-time support for adaptive irregular codes
    Han, HS
    Tseng, CW
    [J]. 1998 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 1998, : 393 - 400
  • [9] Efficient compiler and run-time support for parallel irregular reductions
    Han, H
    Tseng, CW
    [J]. PARALLEL COMPUTING, 2000, 26 (13-14) : 1861 - 1887
  • [10] CRAUL: Compiler and run-time integration for adaptation under load
    Ioannidis, Sotiris
    Rencuzogullari, Umit
    Stets, Robert
    Dwarkadas, Sandhya
    [J]. Scientific Programming, 1999, 7 (03): : 261 - 273