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

32
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 24 th International Conference on Cooperative Information Systems (CoopIS 2016) 28 th October 2016, Rhodes, Greece. Pradeeban Kathiravelu Software-Defined Simulations 1 / 32

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

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

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

SDNSim Architecture

Contributions and SDNSim Approach

1. Reusable simulation building blocks.

Pradeeban Kathiravelu Software-Defined Simulations 9 / 32

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

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

Evaluation

Performance and Problem Size

Higher performance in larger simulations.Pradeeban Kathiravelu Software-Defined Simulations 18 / 32

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

Evaluation

Horizontal scalability

Smart scale-out.

Higher horizontal scalability.

Pradeeban Kathiravelu Software-Defined Simulations 19 / 32

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

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

Evaluation

Performance with Incremental Updates

Initial execution takes longer - Initializations.

Pradeeban Kathiravelu Software-Defined Simulations 21 / 32

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

Evaluation

Performance with Incremental Updates

Faster executions once the system is initialized.

Pradeeban Kathiravelu Software-Defined Simulations 22 / 32

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

Evaluation

Incremental Updates: Test-driven development

Faster executions once the system is initialized.

Pradeeban Kathiravelu Software-Defined Simulations 23 / 32

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

Evaluation

Incremental Updates: Test-driven development

Even faster executions for subsequent simulations.

Pradeeban Kathiravelu Software-Defined Simulations 24 / 32

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

Evaluation

Incremental Updates: Test-driven development

No change in simulated environment - Deploy changesets tocontroller.

Pradeeban Kathiravelu Software-Defined Simulations 25 / 32

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

Evaluation

Incremental Updates: Test-driven development

No change in simulated environment - Revert changeset.

Pradeeban Kathiravelu Software-Defined Simulations 26 / 32

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

Evaluation

Performance with Incremental Scaling

No change in controller - scale the simulated environment.

Pradeeban Kathiravelu Software-Defined Simulations 27 / 32

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

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

Additional Slides

Additional Slides

Pradeeban Kathiravelu Software-Defined Simulations 30 / 32

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

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: Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks

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