Top Banner
Software is Eating the World Gary Berger Technical Leader, Cisco Systems Inc. [email protected] Image: http://www.crunchzilla.com/code-monster
35

Icccn 1.0

Jun 19, 2015

Download

Technology

Gary Berger

Slides to my talk on SDN/Network VIrtualization ICCCN 2013
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Icccn 1.0

Software is Eating the

WorldGary Berger

Technical Leader, Cisco Systems [email protected]

Image: http://www.crunchzilla.com/code-monster

Page 2: Icccn 1.0

Mobile computing continues to dominate capacity

2011201220132014201520160

2

4

6

8

10

12

Mobile Data Traffic(Exabytes/Month)

Opera

tor A

Opera

tor B

Opera

tor C

Opera

tor D

0%

20%

40%

60%

80%

100%

Mobile Data Transfer Distribution

OtherWebVideo

Source: Cisco VNI Mobile 2012 Source: ByteMobile Mobile Analytics Report 2012

Page 3: Icccn 1.0

Internet EconomyAdvancing towards Services

• Time shared system

• Explicit control

• Restricted scope

• Tightly Coupled

• Vertically Integrated

Database Centric

Client Centric Service CentricHost Centric

• Desktop applications

• Centralized File & Print

• Many dependencies

• Low network utilization

• Evolution of Client/Server

• 4GL Programming

• Stored Procedures

• Vertically Integrated

• Proprietary

“Technical Debt”

• Loosely coupled components

• Web based interactions

• Activities across multiple hosts

• Global scope

• Data driven constraints

Web Centric

• Normalized Presentation Layer

• Activities scheduled off isolated hosts

• Self-Described Data

“New Economy”

Sparse to Dense

Page 4: Icccn 1.0

Software Defined Everything?

Software Defined Networking Software Defined Storage Software Defined Security Etc..

Page 5: Icccn 1.0

Open Network Foundation“The physical separation of the network control plane from the forwarding plane, and where a control plane controls several devices”[1]

Software Defined Networking?

1. https://www.opennetworking.org/sdn-resources/sdn-definition

Page 6: Icccn 1.0

“A software-defined network can be flexible enough to avoid the application assumptions of designers of previous kinds of networks”.

Derived from Staple, Werbach “The End Of Spectrum Scarcity”

Software Defined Networking

Page 7: Icccn 1.0

Adoption

Page 8: Icccn 1.0

The “Power Wall”, 2004 Herb Sutter “Free Lunch is Over”, 2005 Economic crash, 2008 Data, Data, Data..

Many Contributing Factors

Page 9: Icccn 1.0

1. Managing the network at scale!2. Control access to network resources through

declarative (policy) and compositional (predicate) based programming paradigms

3. Leverage the increasing network node degree (higher bi-sectional bandwidth) for performance and availability

4. Static -> dynamic configuration and reconfiguration5. Enabling an architecture for Ubiquitous Computing6. Everything and Anything at the moment!

What is it about!

What its mostly about:

Leveraging Global Information to optimize for:

• Traffic Engineering• Admission control• Isolation• Filtering and• Forwarding

Page 10: Icccn 1.0

OpenDayLight

Page 11: Icccn 1.0

Known problems have gone back 40 years. Quite possibly vendors have been listening to

the wrong people? Many attempts at programming the network

but the consumer demanded a weak and confusing interface (i.e. CLI, SNMP, NetCONF) which have polluted the design space

We still don’t have a formal way of thinking about network architecture

The Network Disruption

Page 12: Icccn 1.0

5 Oct 2011 12

RINA ArchitectureAs many layers as you need

“Layers contain distributed state of a specific scope”

Page 13: Icccn 1.0

Geomorphic View of Classic Internet

Application 1

Application 2

1 2 3 4

Gateway GatewayInternet Core

LAN 1 LAN 2 LAN 3

Page 14: Icccn 1.0

NetAPI Programmatic Forwarding Secure communications Policy Driven Inter-domain routing (i.e.

Pathlets)

Framework for Internet Innovation

Page 15: Icccn 1.0

But really distributed computing is hard!!

Concurrency Contention Coherency

Page 16: Icccn 1.0

Universal Scalability LawContention

(e.g. serialization, locking)

Coherency(i.e. penalty incurred for

maintaining consistency of shared writeable data)

Source: A General Theory of Computational Scalability Based on Rational Functions, Gunther 2008

Concurrency

Page 17: Icccn 1.0

SDN Scaling still under active research

How many

controllers?

Devices per

controller?

Partitioning

strategy?

Page 18: Icccn 1.0

Controller ClustersConnectivity

CA B

Page 19: Icccn 1.0

Deeper analysis shows we cannot just throw away peer communication

• Data dissemination

• Discovery• Availability

Page 20: Icccn 1.0

The cost of deadlock free consensus

2 3 4 5 6 7 8 9 10 11 12 13 14 150

50

100

150

200

250

300

Messages

Messages

N = # of Acceptors

Acceptors/Learners

Note: Classic Multi-Paxos without optimization

Page 21: Icccn 1.0

SDN Continuum

A spectrum which encompasses in-network state distribution at one extreme and complete separation of control and dataplane as the other extreme

The purpose of which can result in either a discovery of an invariant protocol architecture which provides the foundation for the next generation Internet or paves the way for complete protocol customization.

Page 22: Icccn 1.0

Standards

Page 23: Icccn 1.0

IETF Bottleneck

Count by Publication Status

Total

BEST CURRENT PRACTICE 213

DRAFT STANDARD 145

EXPERIMENTAL 417

HISTORIC 267

INFORMATIONAL 2164

INTERNET STANDARD 96

PROPOSED STANDARD 2597

UNKNOWN 906

Grand Total 6805

Page 24: Icccn 1.0

RFC By Year

1968

1971

1974

1977

1980

1983

1986

1989

1992

1995

1998

2001

2004

2007

2010

2013

0

50

100

150

200

250

300

350

400

450

500

Average of 265/yr over past decade

Page 25: Icccn 1.0

Gap is widening

1968

1972

1976

1980

1984

1988

1992

1996

2000

2004

2008

2012

0

50

100

150

200

250

300

BEST CURRENT PRACTICEDRAFT STANDARDEXPERIMENTALHISTORICINFORMATIONALINTERNET STANDARDPROPOSED STANDARDUNKNOWN

Page 26: Icccn 1.0

Getting To Internet Standard?

1. There are at least two independent interoperating implementations with widespread deployment and successful operational experience.

2. There are no errata against the specification that would cause a new implementation to fail to interoperate with deployed ones.

3. There are no unused features in the specification that greatly increase implementation complexity.

4. If the technology required to implement the specification requires patented or otherwise controlled technology, then the set of implementations must demonstrate at least two independent, separate and successful uses of the licensing process.

RFC 6410

Page 27: Icccn 1.0

“Network Virtualization is the abstraction of the control plane into layers”.. Scott Shenker

Abstract the invariants from the set of complex control plane protocols Vertex Edge Property (tenant, vlan, min bw, min latency,

open, closed, etc.)

Network Virtualization

Page 28: Icccn 1.0

Address Virtualization Policy Virtualization Topology Virtualization

Virtualization Profile

Page 29: Icccn 1.0

Address Coupling

L2 and L3 address point

to the interface not

the node

Page 30: Icccn 1.0

Strict dependencies of identity and address force coupling of policy, telemetry and state..

Programming models still being thought about (Languages, Compilers, Runtimes)

Virtualization provides the illusion of infinite resources but we must have “Mechanical Sympathy” (i.e. TCAM Space, SRAM, CPU Cycles)

Encapsulation provides a means to decouple identity from location by adding a logical name space over a location dependent address space (i.e. TRILL, FabricPath, LISP, STT, VXLAN, NVGRE, etc..)

Proper abstractions provide the invariant interfaces but do we have the right ones?

Centralizing control provides a global view. Are we willing to throw away the local view (BFD, LAG, etc..)?

Conclusion

Page 31: Icccn 1.0

Innovation at the ServerNFV Enablement

Page 32: Icccn 1.0

L3 Performance

Source: http://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/communications-packet-processing-brief.pdf

Page 33: Icccn 1.0

Application BudgetsBYOS (Bring Your Own Stack)

10Mpps 14.8Mpps(1x10GE) 29.6Mpps(2x10GE) 59.5Mpps(1x40GE)

1400

881

34169

3000

1962

881

338

4920

3259

1530

661

Intel E5-2600@200 Cycles

8Core@2Ghz 16Core@2Ghz [email protected]

Optimizations

DPDK

NETMAP

PF_RING/LIBZERO

Page 34: Icccn 1.0

"The only way to get increased performance for new applications is for developers to be aware of new features in these chips. They have to be aware of what’s inside to make

their code more efficient.”Krste Asanovic, UC Berkley

Systems Driven Networking

Page 35: Icccn 1.0

SDN is a manifestation of over 20 years of technical debt which can no longer be swept under the rug

IETF process is antiquated Crowd Sourcing + Parallel Programming + CMP

allows for rapid prototyping Things are going to change..

“Network innovation is stifled by applying a limited set of design principals along with craft-like patching in a

rigid architecture”

Conclusion