Page 1
Software-Defined Simulations forContinuous Development of
Cloud and Data Center Networks
Pradeeban Kathiravelu, Luıs Veiga
INESC-ID LisboaInstituto Superior Tecnico, Universidade de Lisboa
Lisbon, Portugal
24 th International Conference on Cooperative Information Systems (CoopIS 2016)28 th October 2016, Rhodes, Greece.
Pradeeban Kathiravelu Software-Defined Simulations 1 / 32
Page 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
Page 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 earlystages of development.
Native integration of network emulators into SDN controllers.
Pradeeban Kathiravelu Software-Defined Simulations 3 / 32
Page 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
Page 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
Page 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
Page 7
Motivation
“Software-Defined Simulations”
Separation of control plane and (simulated) data plane.Integration with SDN controllers.
Pradeeban Kathiravelu Software-Defined Simulations 7 / 32
Page 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
Page 9
SDNSim Architecture
Contributions and SDNSim Approach
1. Reusable simulation building blocks.
Pradeeban Kathiravelu Software-Defined Simulations 9 / 32
Page 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
Page 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
Page 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
Page 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
Page 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
Page 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
Page 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
Page 17
Evaluation
Evaluation Strategy
Benchmark againstCloudSimSDN.
Cloud2Sim for distributedexecution.
Simulating routing algorithms infat-tree topology.
Experiments repeated 6 times.
Data center simulations of up to100,000 nodes.
Pradeeban Kathiravelu Software-Defined Simulations 17 / 32
Page 18
Evaluation
Performance and Problem Size
Higher performance in larger simulations.Pradeeban Kathiravelu Software-Defined Simulations 18 / 32
Page 19
Evaluation
Horizontal scalability
Smart scale-out.
Higher horizontal scalability.
Pradeeban Kathiravelu Software-Defined Simulations 19 / 32
Page 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
Page 21
Evaluation
Performance with Incremental Updates
Initial execution takes longer - Initializations.
Pradeeban Kathiravelu Software-Defined Simulations 21 / 32
Page 22
Evaluation
Performance with Incremental Updates
Faster executions once the system is initialized.
Pradeeban Kathiravelu Software-Defined Simulations 22 / 32
Page 23
Evaluation
Incremental Updates: Test-driven development
Faster executions once the system is initialized.
Pradeeban Kathiravelu Software-Defined Simulations 23 / 32
Page 24
Evaluation
Incremental Updates: Test-driven development
Even faster executions for subsequent simulations.
Pradeeban Kathiravelu Software-Defined Simulations 24 / 32
Page 25
Evaluation
Incremental Updates: Test-driven development
No change in simulated environment - Deploy changesets tocontroller.
Pradeeban Kathiravelu Software-Defined Simulations 25 / 32
Page 26
Evaluation
Incremental Updates: Test-driven development
No change in simulated environment - Revert changeset.
Pradeeban Kathiravelu Software-Defined Simulations 26 / 32
Page 27
Evaluation
Performance with Incremental Scaling
No change in controller - scale the simulated environment.
Pradeeban Kathiravelu Software-Defined Simulations 27 / 32
Page 28
Conclusion
Conclusion
Conclusions
SDNSim is an SDN-aware network simulatorBuilt 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 tosimulate 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
Page 29
Conclusion
Conclusion
ConclusionsSDNSim is an SDN-aware network simulator
Built following the SDN paradigmSeparation 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 tosimulate much larger scale deployments.Adaptive parallel and distributed simulations.
Future WorkExtension points for easy migrations.
More emulator and controller integrations.
Thank you!Questions?
Pradeeban Kathiravelu Software-Defined Simulations 29 / 32
Page 30
Additional Slides
Additional Slides
Pradeeban Kathiravelu Software-Defined Simulations 30 / 32
Page 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
Page 32
Additional Slides
Automated Code Migration: Simulation → Emulation
Time taken to progreammatically convert an SDNSim simulationscript into a Mininet script.
Pradeeban Kathiravelu Software-Defined Simulations 32 / 32