consistency in sdn
play

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


  1. Consistency in SDN Aurojit Panda, Wenting Zheng, Xiaohe Hu, Arvind Krishnamurthy, Scott Shenker

  2. Distributed SDN Today Replicated Replicated Replicated Controller Controller Controller Consistency Layer Switch Switch Switch Switch Switch Switch

  3. Distributed SDN Today Replicated Replicated Replicated Controller Controller Controller Consistency Layer Sequences Events Switch Switch Switch Switch Switch Switch

  4. Distributed SDN Today Replicated Replicated Replicated Controller Controller Controller Consistency Layer Sequences Events Today: Paxos, Raft, etc. used to implement serializability Switch Switch Switch Switch Switch Switch

  5. Our Approach Consistent Policy Database Consistency Layer Independent Independent Independent Controller Controller Controller Switch Switch Switch Switch Switch Switch

  6. Our Approach Consistent Policy Database Consistency Layer Independent Independent Independent Respond instantaneously Controller Controller Controller Switch Switch Switch Switch Switch Switch

  7. Our Approach Consistent Policy Database Consistency Layer Eventual Correctness Independent Independent Independent Respond instantaneously Controller Controller Controller Switch Switch Switch Switch Switch Switch

  8. Our Approach Consistent view of policy Consistent Policy Database Consistency Layer Eventual Correctness Independent Independent Independent Respond instantaneously Controller Controller Controller Switch Switch Switch Switch Switch Switch

  9. Performance • Allows greater scalability and resilience.

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

  11. Performance • Allows greater scalability and resilience. • Faster convergence: we do better than when consistency is used. SCL Coordination 1 0.8 0.6 CDF 0.4 0.2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Convergence Time (ms) Convergence Time in Data Centers

  12. Performance • Allows greater scalability and resilience. • Faster convergence: we do better than when consistency is used. SCL Coordination SCL Coordination 1 1 0.8 0.8 0.6 0.6 CDF CDF 0.4 0.4 0.2 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Convergence Time (S) Convergence Time (ms) Convergence Time in Data Centers Convergence Time in AS topology

  13. Correctness • Our approach ensures:

  14. Correctness • Our approach ensures: • Eventually all controllers agree on the sequence of network events seen.

  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.

  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.

  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 .

  18. What about Consistency?

  19. What about Consistency? • Correctness : Needed to ensure flow tables, controllers are correct.

  20. What about Consistency? • Correctness : Needed to ensure flow tables, controllers are correct. • Programmability : Needed to make it easier to program networks.

  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.

  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.

  23. Why Does This Work? • Networks are open world systems.

  24. Why Does This Work? • Networks are open world systems. • Open World : Truth resides in an external entity (e.g., network).

  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).

  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

  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.

  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.

  29. Why is this relevant?

  30. Sources of Network Updates Planned Updates Network Events

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

  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

  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

  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 Goal Maintain correctness during transition Minimize time to connectivity restored.

  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 Goal Maintain correctness during transition Minimize time to connectivity restored. Consistency helps (required?) Consistency adds latency.

  36. Edge-Core Separation Fabric Provides connectivity Routing, Traffic Engineering

  37. Edge-Core Separation Endhost Edge Richer Policies ACLs Traffic Priorities Fabric Provides connectivity

  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.

  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.

Recommend


More recommend