/
Jennifer Rexford Jennifer Rexford

Jennifer Rexford - PowerPoint Presentation

danika-pritchard
danika-pritchard . @danika-pritchard
Follow
375 views
Uploaded On 2017-07-21

Jennifer Rexford - PPT Presentation

Princeton University MW 1100am1220pm Programmable Data Planes COS 597E Software Defined Networking Data Plane Streaming algorithms that act on packets Matching on some bits taking a simple action ID: 571688

elements packet click control packet elements control click data router ctr gbps user read extend pull processinginitiated write small

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Jennifer Rexford" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Jennifer RexfordPrinceton UniversityMW 11:00am-12:20pm

Programmable Data Planes

COS 597E: Software Defined NetworkingSlide2

Data PlaneStreaming algorithms that act on packets

Matching on some bits, taking a simple action

… at behest of control and management plane

Wide range of functionalityForwarding and access controlBuffering, marking, shaping, and schedulingRewriting header fields (e.g., NAT)Traffic monitoring and deep packet inspectionEncryption, compression, and transcoding

2Slide3

A Need for SpeedHigh link speed10

Gbps

, 40

Gbps, 100 GbpsSmall packets40-byte TCP ACK packetsSmall time per packet40 Gbps =124 Mpps with 320-bit packets8 ns to process a packetRouters need low latencyRelatively limited opportunity to batch or pipeline3Slide4

A Range of TechnologiesASIC (App-Specific Integrated Circuit)

Fast, dense chip, but expensive to change

FPGAs and network processors

Fast, reconfigurable, hard to program Graphics Processing UnitsMassive parallel computation on small coresSoftware on commodity computerEasy to program, but I/O bandwidth, memory copying, and interrupt overheads4Slide5

Click Modular Router

5Slide6

Click Motivation

Flexibility

Add new features and enable experimentation

OpennessAllow users/researchers to build and extend(In contrast to most commercial routers)ModularitySimplify the composition of existing featuresSimplify the addition of new featuresSpeed/efficiencyOperation (optionally) in the operating systemWithout user needing to grapple with OS internals

6Slide7

Router as a Graph of Elements

Large number of small elements

Each performing a simple packet function

E.g., IP look-up, TTL decrement, bufferingConnected together in a graphElements inputs/outputs snapped togetherBeyond elements in series to a graphE.g., packet duplication or classificationPacket flow as main organizational primitiveConsistent with data-plane operations on a router(Larger elements needed for, say, control planes)7Slide8

Push vs. Pull

Packet hand-off between elements

Directly inspired by properties of routers

Annotations on packets to carry temporary statePush processingInitiated by the source endE.g., when an unsolicited packet arrives (e.g., from a device)Pull processingInitiated by the destination endE.g., to control timing of packet processing (e.g., based on a timer or packet scheduler)8Slide9

Click Language

Declarations

Create elements

ConnectionsConnect elementsCompound elementsCombine multiple smaller elements, and treat as single, new element to use as a primitive classLanguage extensions through element classesConfiguration strings for individual elementsRather than syntactic extensions to the language9

src :: FromDevice(eth0);

ctr :: Counter;

sink :: Discard;

src -> ctr;

ctr -> sink;Slide10

Handlers and Control Socket

Access points for user interaction

Appear like files in a file system

Can have both read and write handlersExamplesInstalling/removing forwarding-table entriesReporting measurement statisticsChanging a maximum queue length Control socketAllows other programs to call read/write handlersCommand sent as single line of text to the server10Slide11

An Observation…

Click is widely used

And the paper on Click is widely cited

Click elements are created by othersEnabling an ecosystem of innovationTake-away lessonCreating useful systems that others can use and extend has big impact in the research communityAnd brings tremendous professional valueCompensating amply for the time and energy 11