Software is Eating the World Gary Berger Technical Leader, Cisco Systems Inc. [email protected] Image: http://www.crunchzilla.com/code-monster
Jun 19, 2015
Software is Eating the
WorldGary Berger
Technical Leader, Cisco Systems [email protected]
Image: http://www.crunchzilla.com/code-monster
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
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
Software Defined Everything?
Software Defined Networking Software Defined Storage Software Defined Security Etc..
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
“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
Adoption
The “Power Wall”, 2004 Herb Sutter “Free Lunch is Over”, 2005 Economic crash, 2008 Data, Data, Data..
Many Contributing Factors
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
OpenDayLight
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
5 Oct 2011 12
RINA ArchitectureAs many layers as you need
“Layers contain distributed state of a specific scope”
Geomorphic View of Classic Internet
Application 1
Application 2
1 2 3 4
Gateway GatewayInternet Core
LAN 1 LAN 2 LAN 3
NetAPI Programmatic Forwarding Secure communications Policy Driven Inter-domain routing (i.e.
Pathlets)
Framework for Internet Innovation
But really distributed computing is hard!!
Concurrency Contention Coherency
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
SDN Scaling still under active research
How many
controllers?
Devices per
controller?
Partitioning
strategy?
Controller ClustersConnectivity
CA B
Deeper analysis shows we cannot just throw away peer communication
• Data dissemination
• Discovery• Availability
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
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.
Standards
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
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
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
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
“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
Address Virtualization Policy Virtualization Topology Virtualization
Virtualization Profile
Address Coupling
L2 and L3 address point
to the interface not
the node
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
Innovation at the ServerNFV Enablement
L3 Performance
Source: http://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/communications-packet-processing-brief.pdf
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
"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
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