Cherie Wasous CSS548 – Introduction to Compilers Autumn 2012.

24
“Let’s Compile a Network” Cherie Wasous CSS548 – Introduction to Compilers Autumn 2012

Transcript of Cherie Wasous CSS548 – Introduction to Compilers Autumn 2012.

“Let’s Compile a Network”

Cherie Wasous

CSS548 – Introduction to CompilersAutumn 2012

traditional Networking Devices

…..who rides into town??

March 2011

…..who rides into town??

…..who rides into town??

…..who rides into town??

…..who rides into town??

those with Big Networks,and Huge Data Centers

…..who rides into town??

those with Big Networks,and Huge Data Centers

Google, Verizon, Microsoft, Yahoo!, Deutsche Telekom,

Open Networking Foundation (ONF)“Revolutionizing the Networking Industry”

… prying open the networking devices.

Software Defined Networking (SDN)

Decouple the Control and Data Planes

Software Defined Networking (SDN)

Decouple the Control and Data Planes

Eliminate Control Plan from Network Devices

Software Defined Networking (SDN)

Decouple the Control and Data Planes

Eliminate Control Plan from Network Devices

use separate general purpose machine (“Controller”) to Program and Query the Data Planes of the cheap commodity switches

Software Defined Networking (SDN)

Decouple the Control and Data Planes

Eliminate Control Plan from Network Devices

use separate general purpose machine (“Controller”) to Program and Query the Data Planes of the cheap commodity switches

OpenFlow: switch-controller protocol

OpenFlow low-level SDN framework single pattern per rule

NetCore

published: ACM POPL (Principles of Programming Languages) proceedings 1/2012

high-level Declarative language Expressing packet-forwarding policies

on SDNs Expressive: intuitively readable

constructs Compositional Formal Semantics

Need for Compiler

$10M series A funding for a SDN “Compiler”

http://www.lightreading.com/document.asp?doc_id=227138

7/2012

NetCore to OpenFlow Compilera Policy – from NetCore level

NetCore to OpenFlow Compilera Policy – from NetCore level

a Policy – to OpenFlow level

NetCore to OpenFlow Compilera Policy – from NetCore level

a Policy – to OpenFlow level

Policy 2 – from NetCore level another Policy – from NetCore level

NetCore to OpenFlow Compilera Policy – from NetCore level

a Policy – to OpenFlow level

another Policy – to OpenFlow level

another Policy – from NetCore level

NetCore to OpenFlow Compilercombined Policy – from NetCore level

combined Policy – to OpenFlow level

NetCore to OpenFlow Compiler

Open Source compiler development effort

https://github.com/frenetic-lang/netcore coding in Haskell – Functional language

Open Source SDN network simulator, and more

http://www.sdncentral.com/comprehensive-list-of-open-source-sdn-projects/

References1. The Open Networking Foundation. https://www.opennetworking.org2. “Software-Defined Networking: The New Norm for Networks.” Whitepaper.

https://www.opennetworking.org/images/stories/downloads/white-papers/wp-sdn-newnorm.pdf

3. “A Compiler and Run-time System for Network Programming Languages “, 1/2012, ACM/POPL, Christopher Monsanto, Nate Foster, Rob Harrison, David Walker, http://dl.acm.org/citation.cfm?id=2103685