Consistency in SDN Aurojit Panda, Wenting Zheng, Xiaohe Hu, Arvind - - PowerPoint PPT Presentation

consistency in sdn
SMART_READER_LITE
LIVE PREVIEW

Consistency in SDN Aurojit Panda, Wenting Zheng, Xiaohe Hu, Arvind - - PowerPoint PPT Presentation

Consistency in SDN Aurojit Panda, Wenting Zheng, Xiaohe Hu, Arvind Krishnamurthy, Scott Shenker Distributed SDN Today Replicated Replicated Replicated Controller Controller Controller Consistency Layer Switch Switch Switch Switch


slide-1
SLIDE 1

Consistency in SDN

Aurojit Panda, Wenting Zheng, Xiaohe Hu, Arvind Krishnamurthy, Scott Shenker

slide-2
SLIDE 2

Distributed SDN Today

Switch Switch Switch Switch Switch Switch

Consistency Layer

Replicated Controller Replicated Controller Replicated Controller

slide-3
SLIDE 3

Distributed SDN Today

Switch Switch Switch Switch Switch Switch

Consistency Layer

Replicated Controller

Sequences Events

Replicated Controller Replicated Controller

slide-4
SLIDE 4

Distributed SDN Today

Switch Switch Switch Switch Switch Switch

Consistency Layer

Replicated Controller

Sequences Events Today: Paxos, Raft, etc. used to implement serializability

Replicated Controller Replicated Controller

slide-5
SLIDE 5

Our Approach

Switch Switch Switch Switch Switch Switch

Consistent Policy Database Consistency Layer

Independent Controller Independent Controller Independent Controller

slide-6
SLIDE 6

Our Approach

Switch Switch Switch Switch Switch Switch

Consistent Policy Database

Respond instantaneously

Consistency Layer

Independent Controller Independent Controller Independent Controller

slide-7
SLIDE 7

Our Approach

Switch Switch Switch Switch Switch Switch

Consistent Policy Database

Eventual Correctness Respond instantaneously

Consistency Layer

Independent Controller Independent Controller Independent Controller

slide-8
SLIDE 8

Our Approach

Switch Switch Switch Switch Switch Switch

Consistent Policy Database

Eventual Correctness Respond instantaneously

Consistency Layer

Consistent view of policy

Independent Controller Independent Controller Independent Controller

slide-9
SLIDE 9

Performance

  • Allows greater scalability and resilience.
slide-10
SLIDE 10

Performance

  • Allows greater scalability and resilience.
  • Faster convergence: we do better than when consistency is used.
slide-11
SLIDE 11

Performance

  • Allows greater scalability and resilience.
  • Faster convergence: we do better than when consistency is used.

Convergence Time in Data Centers

0.2 0.4 0.6 0.8 1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 CDF Convergence Time (ms) SCL Coordination

slide-12
SLIDE 12

Performance

  • Allows greater scalability and resilience.
  • Faster convergence: we do better than when consistency is used.

Convergence Time in Data Centers

0.2 0.4 0.6 0.8 1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 CDF Convergence Time (ms) SCL Coordination

Convergence Time in AS topology

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 CDF Convergence Time (S) SCL Coordination

slide-13
SLIDE 13

Correctness

  • Our approach ensures:
slide-14
SLIDE 14

Correctness

  • Our approach ensures:
  • Eventually all controllers agree on the sequence of network events seen.
slide-15
SLIDE 15

Correctness

  • Our approach ensures:
  • Eventually all controllers agree on the sequence of network events seen.
  • Eventually each controller and network agree on state of the network.
slide-16
SLIDE 16

Correctness

  • Our approach ensures:
  • Eventually all controllers agree on the sequence of network events seen.
  • Eventually each controller and network agree on state of the network.
  • Therefore eventually computed and installed states are correct.
slide-17
SLIDE 17

Correctness

  • Our approach ensures:
  • Eventually all controllers agree on the sequence of network events seen.
  • Eventually each controller and network agree on state of the network.
  • Therefore eventually computed and installed states are correct.
  • Assuming deterministic controllers and idempotent switch updates.
slide-18
SLIDE 18

What about Consistency?

slide-19
SLIDE 19

What about Consistency?

  • Correctness: Needed to ensure flow tables, controllers are correct.
slide-20
SLIDE 20

What about Consistency?

  • Correctness: Needed to ensure flow tables, controllers are correct.
  • Programmability: Needed to make it easier to program networks.
slide-21
SLIDE 21

What about Consistency?

  • Correctness: Needed to ensure flow tables, controllers are correct.
  • Programmability: Needed to make it easier to program networks.
  • Performance: Needed for faster convergence.
slide-22
SLIDE 22

What about Consistency?

  • Correctness: Needed to ensure flow tables, controllers are correct.
  • Programmability: Needed to make it easier to program networks.
  • Performance: Needed for faster convergence.
slide-23
SLIDE 23

Why Does This Work?

  • Networks are open world systems.
slide-24
SLIDE 24

Why Does This Work?

  • Networks are open world systems.
  • Open World: Truth resides in an external entity (e.g., network).
slide-25
SLIDE 25

Why Does This Work?

  • Networks are open world systems.
  • Open World: Truth resides in an external entity (e.g., network).
  • Closed World: Truth resides in the system itself (e.g., a database).
slide-26
SLIDE 26

Why Does This Work?

  • Networks are open world systems.
  • Open World: Truth resides in an external entity (e.g., network).
  • Closed World: Truth resides in the system itself (e.g., a database).
  • With open world systems
slide-27
SLIDE 27

Why Does This Work?

  • Networks are open world systems.
  • Open World: Truth resides in an external entity (e.g., network).
  • Closed World: Truth resides in the system itself (e.g., a database).
  • With open world systems
  • Truth can be recovered from the external system.
slide-28
SLIDE 28

Why Does This Work?

  • Networks are open world systems.
  • Open World: Truth resides in an external entity (e.g., network).
  • Closed World: Truth resides in the system itself (e.g., a database).
  • With open world systems
  • Truth can be recovered from the external system.
  • Consistency with ground truth is more important than within the system.
slide-29
SLIDE 29

Why is this relevant?

slide-30
SLIDE 30

Sources of Network Updates

Planned Updates Network Events

slide-31
SLIDE 31

Sources of Network Updates

Planned Updates Network Events Policy updates, link recovery, etc. Link failures, switch failure, etc.

slide-32
SLIDE 32

Sources of Network Updates

Planned Updates Network Events Policy updates, link recovery, etc. Link failures, switch failure, etc. Working Network → Working Network Broken Network → Working Network

slide-33
SLIDE 33

Sources of Network Updates

Planned Updates Network Events Policy updates, link recovery, etc. Link failures, switch failure, etc. Working Network → Working Network Broken Network → Working Network Goal

slide-34
SLIDE 34

Sources of Network Updates

Planned Updates Network Events Policy updates, link recovery, etc. Link failures, switch failure, etc. Working Network → Working Network Broken Network → Working Network Maintain correctness during transition Minimize time to connectivity restored. Goal

slide-35
SLIDE 35

Sources of Network Updates

Planned Updates Network Events Policy updates, link recovery, etc. Link failures, switch failure, etc. Working Network → Working Network Broken Network → Working Network Maintain correctness during transition Minimize time to connectivity restored. Consistency helps (required?) Consistency adds latency. Goal

slide-36
SLIDE 36

Edge-Core Separation

Fabric Provides connectivity Routing, Traffic Engineering

slide-37
SLIDE 37

Edge-Core Separation

Fabric Provides connectivity Edge Richer Policies Endhost ACLs Traffic Priorities

slide-38
SLIDE 38

Conclusion

  • Existence proof that controller consistency is not necessary.
  • In fact slows down network recovery in response to failures.
  • Should we require consistency for SDN controllers?
  • Question is similar to the ACID vs NoSQL debate in data stores.
slide-39
SLIDE 39

Open Questions

  • What about data plane consistency?
  • Ensures each packet processed according to consistent policy.
  • Do we need data plane consistency?
  • For planned updates: Helps with correctness during policy changes.
  • For network events: Adds latency before connectivity is restored.