lsinfo3 / poco

POCO: Pareto-Optimal Controller Placement

Home Page:http://www3.informatik.uni-wuerzburg.de/poco

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pareto Optimal Controller Placement (POCO)

A Matlab-based tool for calculating pareto-optimal placements of controllers in a network topology.

POCO Screenshot

Theoretical Research Paper

The findings of the evaluations done with POCO have been published in the paper Pareto-Optimal Resilient Controller Placement in SDN-based Core Networks by David Hock, Matthias Hartmann, Steffen Gebert, Michael Jarschel, Thomas Zinner, Phuoc Tran-Gia from the University of Wuerzburg, Germany

With the introduction of Software Defined Networking (SDN), the concept of an external and optionally centralized network control plane, i.e. controller, is drawing the attention of researchers and industry. A particularly important task in the SDN context is the placement of such external resources in the network. In this paper, we discuss important aspects of the controller placement problem with a focus on SDN-based core networks, including different types of resilience and failure tolerance. When several performance and resilience metrics are considered, there is usually no single best controller placement solution, but a trade-off between these metrics. We introduce our framework for resilient Pareto-based Optimal COntroller placement (POCO) that provides the operator of a network with all Pareto-optimal placements. The ideas and mechanisms are illustrated using the Internet2 OS3E topology and further evaluated on more than 140 topologies of the Topology Zoo. In particular, our findings reveal that for most of the topologies more than 20% of all nodes need to be controllers to assure a continuous connection of all nodes to one of the controllers in any arbitrary double link or node failure scenario.

Demo Papers

POCO has been demonstrated at the following conferences:

POCO PLC

In order to use POCO PLC, proceed according to the following steps.

  • Extract the localbackup folder (for the moment, please use https and ignore the certificate warning, we are working on a fix) to your POCO root folder (i.e., the localbackup folder should be in the same folder as poco_GUI.m). Each of these CSV files contains RTT-values for each pair of nodes in the planetlabV2.topo.mat topology for a given timestamp.
  • Start POCO by running poco_GUI in MATLAB.
  • You can cancel the topology selection step.
  • In the menu, click POCO PLC -> Start POCO PLC.
  • In the menu, click Placements -> Calculate placements -> Failure free -> k = ...
  • In the Pareto-plot, click on a placement in order to activate it.
  • In the menu, click POCO PLC -> Start Planetlab Plot Loop.

In order to get started with custom PLC scenarios, check the PLCPlotLoop function in poco_GUI.m and adapt the code in the code/*PLC.m files.

Authors

All authors are staff members at the Chair of Communication Networks at the University of Wuerzburg, Germany:

Acknowledgments

This work has been performed in the framework of the CELTIC EUREKA project SASER-SIEGFRIED (Project ID CPP2011/2-5), and it is partly funded by the BMBF (Project ID 16BP12308). The authors alone are responsible for the content of the paper.

SASER

Compatibility

Using POCO requires MATLAB. We have tested it successfully with Matlab 2007a to 2014a.

License

This software is licensed under the GNU General Public License (GPL) version 3 or later.

About

POCO: Pareto-Optimal Controller Placement

http://www3.informatik.uni-wuerzburg.de/poco


Languages

Language:MATLAB 97.7%Language:Python 1.4%Language:Shell 0.8%Language:Limbo 0.0%