networking seminar stanford universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015...

77
Madan Jampani 3/12/2015 Networking Seminar Stanford University

Upload: others

Post on 27-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Madan Jampani3/12/2015

Networking SeminarStanford University

Page 2: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Can SDN control plane scale without sacrificing

abstractions and performance?

Page 3: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Control Plane

Data Plane

Page 4: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Simple yet powerful abstraction

Global Network View

Scaling strong consistency

Managing Complexity

Page 5: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

What is the simplest controller?

Observe Program

Page 6: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Abstractions Performance Correctness Availability Scale

SingleInstance

Page 7: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

How to improve availability?

Page 8: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Primary Standby

How to improve availability?

Page 9: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Standby Primary

How to improve availability?

Page 10: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Abstractions Performance Correctness Availability Scale

SingleInstance

Primary/Standby

Page 11: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Primary Standby

Why you might need to scale?

Page 12: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Primary Standby

Why you might need to scale?

Page 13: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Primary Standby

Why you might need to scale?

Page 14: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Primary Standby

Why you might need to scale?

Page 15: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Fully Distributed Control Plane

Page 16: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 17: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 18: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 19: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 20: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 21: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 22: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Abstractions Performance Correctness Availability Scale

SingleInstance

Primary/Standby

Multi-Instance

Page 23: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 24: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 25: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 26: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Abstractions Performance Correctness Availability Scale

SingleInstance

Primary/Standby

MultiInstance

Page 27: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

“Tell me about your slice?”

Page 28: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Abstractions Performance Correctness Availability Scale

SingleInstance

Primary/Standby

MultiInstance

Page 29: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Cache

“Tell me about your slice?”

Page 30: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Abstractions Performance Correctness Availability Scale

SingleInstance

Primary/Standby

MultiInstance

Page 31: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Can we build a complete solution?

Let’s look at prior art...

Page 32: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

TopologyEvents

DistributedTopology

Store

WriteTopology

State

Page 33: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

DistributedTopology

Store

ReadTopology

State

Page 34: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Cache

DistributedTopology

Store

ReadTopology

State

Page 35: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Cache

DistributedTopology

Store

ReadTopology

State

Page 36: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Can we build a solution that meets all criteria?

Page 37: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Topology as a State Machine

Events are Switch/Port/Link up/down

Current Topology

Updated Topology

apply event

Page 38: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 39: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 40: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

E

Page 41: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

E E

E

Page 42: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Pros

● Simple● Fast

Cons

● Dropped messages● Reordered messages

Page 43: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

E

Page 44: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

F

Page 45: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

F E

Page 46: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

We have a single writer problem

Page 47: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 48: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 49: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

C1C2C1

1 2 3

Switch Mastership Terms

We track this in a stronglyconsistent store

Page 50: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

2.1 2.2 2.3 2.4 2.5 2.61.41.2 1.31.1 3.2 3.33.12.7 2.8

C1C2C1

1 2 3

Switch Event Numbers

Page 51: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Partial Ordering of Topology Events

Each event has a unique logical timestamp

(Switch ID, Term Number, Event Number)

Page 52: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

E (S1, 1, 2)

Page 53: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

E E

E

(S1, 1, 2)

(S1, 1, 2)

(S1, 1, 2)

Page 54: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

F(S1, 2, 1)

Page 55: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

F

F

(S1, 2, 1)

(S1, 2, 1)

Page 56: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

F

F

(S1, 2, 1)

(S1, 2, 1) (S1, 1, 2)E

Page 57: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

F

F

(S1, 2, 1)

(S1, 2, 1) (S1, 1, 2)E

Page 58: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

To summarize

Each instance has a full copy of network topology

Events are timestamped on arrival and broadcasted

Stale events are dropped on receipt

Page 59: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

There is one additional step...

What about dropped messages?

Page 60: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Did you hear about the port

that went offline?

Page 61: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing
Page 62: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Anti-Entropy

Lightweight, Gossip style, peer-to-peer

Quickly bootstraps newly joined nodes

Page 63: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Abstractions Performance Correctness Availability Scale

SingleInstance

Primary/Standby

MultiInstance

Page 64: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

A model for state tracking

If you are the observer, Eventual Consistency is the best option

View should be consistent with the network, not with other views

Page 65: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Hiding the complexity

EventuallyConsistentMap<K, V, T>

Plugin your own timestamp generation

Page 66: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

What about other Control Plane state...

● Switch to Controller mapping● Resource Allocations● Flows● Various application generated state

Page 67: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

What about other Control Plane state...

● Switch to Controller mapping● Resource Allocations● Flows● Various application generated state

In all case strong consistency is either required or highly desirable

Page 68: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Consistency => Coordination

2PC

All participants need to be available

Consensus

Only a majority need to participate

Page 69: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

State Consistency through Consensus

LOG LOG

LOG

Page 70: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

State Consistency through Consensus

LOG

LOG LOG LOG LOG LOG LOG

Page 71: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Scaling Consistency

Page 72: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Scaling Consistency

Page 73: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Scaling Consistency

Page 74: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Consistency Cost

● Atomic updates within a shard are “cheap”● Atomic updates spanning shards use 2PC

Page 75: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Hiding Complexity

ConsistentMap<K, V>

Page 76: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

To Conclude

● SDN at scale is possible if we can take care of state management

● Abstractions are important

Page 77: Networking Seminar Stanford Universitynetseminar.stanford.edu/seminars/03_12_15.pdf · 3/12/2015 Networking Seminar Stanford University. Can SDN control plane scale without sacrificing

Thank you