The Case for an Intermediate Representation for Programmable Data Planes Muhammad Shahbaz and Nick Feamster Princeton University.

Slides:



Advertisements
Similar presentations
1 The ns-2 Network Simulator H Plan: –Discuss discrete-event network simulation –Discuss ns-2 simulator in particular –Demonstration and examples: u Download,
Advertisements

IPS: Implementation of Protocol Stacks for Embedded Systems Yan Wang Halmstad University, Sweden The Second Internal EPC Workshop IPS, Halmstad University,
1 CIS 461 Compiler Design and Construction Fall 2014 Instructor: Hugh McGuire slides derived from Tevfik Bultan, Keith Cooper, and Linda Torczon Lecture-Module.
Course Outline Traditional Static Program Analysis Software Testing
Programming Protocol-Independent Packet Processors
How to tell your plumbing what to do Protocol Independent Forwarding
P4: specifying data planes
Layer 3 Switching. Routers vs Layer 3 Switches Both forward on the basis of IP addresses But Layer 3 switches are faster and cheaper However, Layer 3.
ECE 454 Computer Systems Programming Compiler and Optimization (I) Ding Yuan ECE Dept., University of Toronto
Computer Architecture Lecture 7 Compiler Considerations and Optimizations.
8. Code Generation. Generate executable code for a target machine that is a faithful representation of the semantics of the source code Depends not only.
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
Network Layer Pertemuan 17 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
Rapid Development of a Flexible Validated Processor Model David A. Penry Manish Vachharajani David I. August The Liberty Architecture Research Group Princeton.
Cpeg421-08S/final-review1 Course Review Tom St. John.
Chair of Software Engineering 1 Introduction to Programming Bertrand Meyer Exercise Session 1 22 September 2009.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Center for Embedded Computer Systems University of California, Irvine and San Diego SPARK: A Parallelizing High-Level Synthesis.
On the Criteria to Be Used in Decomposing Systems into Modules Group 1: Lisa Anthony, Erik Hayes, Luiza Helena da Silva, and Diana Tetelman.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Data Link Layer Network Fundamentals – Chapter 7.
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
OpenFlow: Enabling Innovation in Campus Networks
1 COMP 3438 – Part II-Lecture 1: Overview of Compiler Design Dr. Zili Shao Department of Computing The Hong Kong Polytechnic Univ.
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, Chapter 11: Compiler II: Code Generation slide 1www.idc.ac.il/tecs.
BASIC INTERNET PROTOCOLS: http, ftp, telnet. Mirela Walczak.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
Arbitrary Packet Matching in Openflow
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
Next Generation ISA Itanium / IA-64. Operating Environments IA-32 Protected Mode/Real Mode/Virtual Mode - if supported by the OS IA-64 Instruction Set.
Customizing OVS using P4 Muhammad Shahbaz with Sean Choi, Ben Pfaff, Chaitanya Kodeboyina, Changhoon Kim, Nick McKeown, Nick Feamster, and Jen Rexford.
Compiler Optimizations ECE 454 Computer Systems Programming Topics: The Role of the Compiler Common Compiler (Automatic) Code Optimizations Cristiana Amza.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
CCNA4 Perrine / Brierley Page 12/20/2016 Chapter 05 Access Control Non e0e1 s server.
NetEgg: Scenario-based Programming for SDN Policies Yifei Yuan, Dong Lin, Rajeev Alur, Boon Thau Loo University of Pennsylvania 1.
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
ICS312 Introduction to Compilers Set 23. What is a Compiler? A compiler is software (a program) that translates a high-level programming language to machine.
© 2002, Cisco Systems, Inc. All rights reserved..
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
PISCES: A Programmable, Protocol-Independent Software Switch
A Single Intermediate Language That Supports Multiple Implemtntation of Exceptions Delvin Defoe Washington University in Saint Louis Department of Computer.
BPF+ Exploiting Global Data-flow Optimization in a Packet Filter Architecture Andrew Begel, Steven McCanne, Susan L. Graham University of California, Berkeley.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
P4: Programming Protocol-Independent Packet Processors
P4 Language and Software Switches
Programmable switches
Overlay Network Engine (ONE)
Muhammad Shahbaz Nick Feamster Jennifer Rexford Sean Choi Nick McKeown
Programmable Overlays with VPP
P4 (Programming Protocol-independent Packet Processors)
PISCES: A Programmable, Protocol-Independent Software Switch
SOFTWARE DESIGN AND ARCHITECTURE
ESE532: System-on-a-Chip Architecture
PISCES: A Programmable, Protocol-Independent Software Switch
The NPD Group - Enterprise DC Agenda
P5: Policy-driven optimization of P4 pipeline
SDN Overview for UCAR IT meeting 19-March-2014
DC.p4: Programming the forwarding plane of a datacenter switch
Compiler Construction
Fast Reroute in P4: Keep Calm and Enjoy Programmability
Compiler Construction
P4FPGA : A Rapid Prototyping Framework for P4
8 Code Generation Topics A simple code generator algorithm
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
SPINE: Surveillance protection in the network Elements
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Presentation transcript:

The Case for an Intermediate Representation for Programmable Data Planes Muhammad Shahbaz and Nick Feamster Princeton University

Data Plane Need for a Programmable Data Plane Protocol Independence (e.g., GRE, VXLAN, BFD) To enable this, data plane needs to be able to … 1) Operate on arbitrary packet locations 2) Accept packet processing operations using high-level policies (or language) VXLAN.IP == IPx LD VXLAN LD ETH POP VXLAN ETH == ETHy SEND P0 Policy P0 VXLANETHPayload ETHPayload ETH

Compiling Policy Data Plane Switc h HUB Router DC ACL Parse ETH Parse IP Parse TCP LB a. git clone Parse ETH Parse IP ACL b. generate policy c. install policy However, there is an issue here … - ACL might only be operating on IP src/dst - In which case, rest of the fields are dead - A naïve compilation will add these dead fields in the data plane

NetASM: An Intermediate Representation Enables a common platform for writing optimizations for programmable data planes NetASM Design Features - Provides an abstract data plane model - Two kinds of state a. Per-packet state (e.g., fields) b. Persistent state (e.g., tables) - Modes of execution a. Sequential for invoking pipelined parallelism b. Concurrent for latency sensitive applications c. Atomic for stateful operations using shared state - 23 primitive instructions

Compiling Policy “using NetASM” Data Plane Parse ETH Parse IP ACL NetASM Common (Intermediate) Layer NetASM acts as a common (intermediate) layer - Improves quality of code using optimizations like code-motion and dead-code/store elimination - Performs conventional data and control flow analyses - Uses target agnostic and specific cost model - Improves for metrics like area, latency, and throughput

Preliminary Evaluations - ACL-IPv4 benchmark from ONF Github repository - Results using our abstract cost model (details in the paper)

Future Work Complete the language specification for NetASM Front end Back end NetASM Compiler ClickCNC RMTFPGANPU P4 1 2 Explore opportunities for optimizations that can be applied across different classes of target architectures 3

-NetASM is an intermediate representation for Programmable Data Planes -Enables a common platform for optimizing high-level packet processing programs for a diversity of targets -Leads to better architectural explorations Summary

Questions? Muhammad Shahbaz