Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

1,927 views

Published on

Cloud network systems and applications are tested in simulation and emulation environments prior to physical deployments, at different stages of development. Software-Defined Networking (SDN) enables separating logic and execution from the data plane consisting of switches and hosts, to a logically centralized control plane. The global view and control available to the controller enable incremental updates, management, and allocation of resources to the networks. However, unlike the physical networks or the networks emulated by the emulators, current network simulators still lack integration with the SDN controllers.

Hence, currently it is impossible to efficiently orchestrate a simulated network through a centralized controller, or realistically model the controller algorithms and SDN architectures without having the resources for a one-to-one emulation. To address this, this paper presents SDNSim, an SDN simulation middleware, which leverages the principles of SDN for continuous development of cloud and data center networks. SDNSim is an “SDN-aware” network simulator that integrates with the controller through plugins for southbound protocols such as OpenFlow, to execute the algorithms incrementally thus deployed in the control plane.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,927
On SlideShare
0
From Embeds
0
Number of Embeds
1,864
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

  1. 1. Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks Pradeeban Kathiravelu, Lu´ıs Veiga INESC-ID Lisboa Instituto Superior T´ecnico, Universidade de Lisboa Lisbon, Portugal 24th International Conference on Cooperative Information Systems (CoopIS 2016) 28th October 2016, Rhodes, Greece. Pradeeban Kathiravelu Software-Defined Simulations 1 / 32
  2. 2. Introduction Introduction Software-Defined Networking (SDN) is extending its scope. Separating and unifying the networking control plane from data plane. Programmable networks → continuous development. Very high scalability. Pradeeban Kathiravelu Software-Defined Simulations 2 / 32
  3. 3. Introduction Introduction Software-Defined Networking (SDN) is extending its scope. Separating and unifying the networking control plane from data plane. Programmable networks → continuous development. Very high scalability. Network architectures and algorithms simulated or emulated at early stages of development. Native integration of network emulators into SDN controllers. Pradeeban Kathiravelu Software-Defined Simulations 3 / 32
  4. 4. Motivation How well the SDN simulators fare? Network simulators supporting SDN and emulation capabilities. NS-3. Cloud simulators extended for cloud networks with SDN. CloudSim → CloudSimSDN. Pradeeban Kathiravelu Software-Defined Simulations 4 / 32
  5. 5. Motivation How well the SDN simulators fare? Network simulators supporting SDN and emulation capabilities. NS-3. Cloud simulators extended for cloud networks with SDN. CloudSim → CloudSimSDN. However.. Lack of “SDN-Native” network simulators. Simulators not following the Software-Defined Systems paradigm. Policy/algorithmic code locked in simulator-imperative code. Need for easy migration and programmability. Pradeeban Kathiravelu Software-Defined Simulations 5 / 32
  6. 6. Motivation Goals A simulator for Software-Defined Networking Systems. Run the control plane code in the actual controller (portability). Simulate the data plane (scalability, resource efficiency). by programmatically invoking the southbound of SDN controller. Extend and leverage the SDN controllers in simulations. Bring the benefits of SDN to its own simulations! Reusability, Scalability, Easy migration, . . . Pradeeban Kathiravelu Software-Defined Simulations 6 / 32
  7. 7. Motivation “Software-Defined Simulations” Separation of control plane and (simulated) data plane. Integration with SDN controllers. Pradeeban Kathiravelu Software-Defined Simulations 7 / 32
  8. 8. SDNSim Architecture SDNSim A Framework for Software-Defined Simulations. 1 Network system to be simulated. Expressed in “descriptors”. XML-based description language. Parsed and executed in SDNSim simulation sandbox. A Java middleware. 2 Simulated application logic. Deployed into controller. Pradeeban Kathiravelu Software-Defined Simulations 8 / 32
  9. 9. SDNSim Architecture Contributions and SDNSim Approach 1. Reusable simulation building blocks. Pradeeban Kathiravelu Software-Defined Simulations 9 / 32
  10. 10. SDNSim Architecture Contributions and SDNSim Approach 1. Reusable simulation building blocks. Simulating complex and large-scale SDN systems. Service Function Chaining. Pradeeban Kathiravelu Software-Defined Simulations 10 / 32
  11. 11. SDNSim Architecture Contributions and SDNSim Approach 1. Reusable simulation building blocks. Simulating complex and large-scale SDN systems. Service Function Chaining. As a case of Network Function Virtualization (NFV). Pradeeban Kathiravelu Software-Defined Simulations 11 / 32
  12. 12. SDNSim Architecture Contributions and SDNSim Approach 2. Support for continuous development and iterative deployment. Checkpointing and versioning of simulated application logic. Incremental updates: changesets as OSGi bundles in the control plane. Pradeeban Kathiravelu Software-Defined Simulations 12 / 32
  13. 13. SDNSim Architecture Contributions and SDNSim Approach 3. State-aware simulations. Adaptive scaling through shared state. Horizontal scalability through In-Memory Data Grids. State of the simulations for scaling decisions. Pause-and-resume simulations. Multi-tenanted parallel executions. Pradeeban Kathiravelu Software-Defined Simulations 13 / 32
  14. 14. SDNSim Architecture Contributions and SDNSim Approach 4. Expressiveness. Data plane: XML-based representations of the network. Control plane: Java API. Pradeeban Kathiravelu Software-Defined Simulations 14 / 32
  15. 15. SDNSim Prototype Prototype Implementation Oracle Java 1.8.0 - Development language. Apache Maven 3.1.1 - Build the bundles and execute the scripts. Infinispan 7.2.0.Final - Distributed cluster. Apache Karaf 3.0.3 - OSGi run time. OpenDaylight Beryllium - Default controller. Multiple deployment options: As a stand-alone simulator. Distributed execution with an SDN controller. As a bundle in an OSGi-based SDN controller. Pradeeban Kathiravelu Software-Defined Simulations 15 / 32
  16. 16. Evaluation Evaluation Deployment Configurations Intel R CoreTM i7-4700MQ CPU @ 2.40GHz 8 processor. 8 GB memory. Ubuntu 14.04 LTS 64 bit operating system. A cluster of up to 5 identical computers. Pradeeban Kathiravelu Software-Defined Simulations 16 / 32
  17. 17. Evaluation Evaluation Strategy Benchmark against CloudSimSDN. Cloud2 Sim for distributed execution. Simulating routing algorithms in fat-tree topology. Experiments repeated 6 times. Data center simulations of up to 100,000 nodes. Pradeeban Kathiravelu Software-Defined Simulations 17 / 32
  18. 18. Evaluation Performance and Problem Size Higher performance in larger simulations. Pradeeban Kathiravelu Software-Defined Simulations 18 / 32
  19. 19. Evaluation Horizontal scalability Smart scale-out. Higher horizontal scalability. Pradeeban Kathiravelu Software-Defined Simulations 19 / 32
  20. 20. Evaluation Performance with Incremental Updates Smaller simulations: up to 1000 nodes. SDNSim: controller and middleware execution completion time. Pradeeban Kathiravelu Software-Defined Simulations 20 / 32
  21. 21. Evaluation Performance with Incremental Updates Initial execution takes longer - Initializations. Pradeeban Kathiravelu Software-Defined Simulations 21 / 32
  22. 22. Evaluation Performance with Incremental Updates Faster executions once the system is initialized. Pradeeban Kathiravelu Software-Defined Simulations 22 / 32
  23. 23. Evaluation Incremental Updates: Test-driven development Faster executions once the system is initialized. Pradeeban Kathiravelu Software-Defined Simulations 23 / 32
  24. 24. Evaluation Incremental Updates: Test-driven development Even faster executions for subsequent simulations. Pradeeban Kathiravelu Software-Defined Simulations 24 / 32
  25. 25. Evaluation Incremental Updates: Test-driven development No change in simulated environment - Deploy changesets to controller. Pradeeban Kathiravelu Software-Defined Simulations 25 / 32
  26. 26. Evaluation Incremental Updates: Test-driven development No change in simulated environment - Revert changeset. Pradeeban Kathiravelu Software-Defined Simulations 26 / 32
  27. 27. Evaluation Performance with Incremental Scaling No change in controller - scale the simulated environment. Pradeeban Kathiravelu Software-Defined Simulations 27 / 32
  28. 28. Conclusion Conclusion Conclusions SDNSim is an SDN-aware network simulator Built following the SDN paradigm Separation of data layer from the control layer and application logic. Enabling an incremental modelling of cloud networks. Performance and scalability. Complex network systems simulations. Reuse the same controller code algorithm developers created to simulate much larger scale deployments. Adaptive parallel and distributed simulations. Future Work Extension points for easy migrations. More emulator and controller integrations. Pradeeban Kathiravelu Software-Defined Simulations 28 / 32
  29. 29. Conclusion Conclusion Conclusions SDNSim is an SDN-aware network simulator Built following the SDN paradigm Separation of data layer from the control layer and application logic. Enabling an incremental modelling of cloud networks. Performance and scalability. Complex network systems simulations. Reuse the same controller code algorithm developers created to simulate much larger scale deployments. Adaptive parallel and distributed simulations. Future Work Extension points for easy migrations. More emulator and controller integrations. Thank you! Questions? Pradeeban Kathiravelu Software-Defined Simulations 29 / 32
  30. 30. Additional Slides Additional Slides Pradeeban Kathiravelu Software-Defined Simulations 30 / 32
  31. 31. Additional Slides Network Construction with Mininet and SDNSim Adaptive Emulation and Simulation. Simulate when resources are scarce for emulation. Pradeeban Kathiravelu Software-Defined Simulations 31 / 32
  32. 32. Additional Slides Automated Code Migration: Simulation → Emulation Time taken to progreammatically convert an SDNSim simulation script into a Mininet script. Pradeeban Kathiravelu Software-Defined Simulations 32 / 32

×