maintain a consistent global state. Depending on the frequency of the inter-controller synchronization, the latency
between the individual controllers plays an important
role and thus should be considered during the controller
placement.
To determine the best controller placement according to
different resilience metrics, we use an exhaustive evaluation of
all possible placements in a given topology. We showed that
this is computationally feasible for realistic network sizes. The
POCO-toolset used to produce the presented results was made
available online [4]. In this demo, we present an extended
POCO framework including a Graphical User Interface. It
provides a simple and convenient way to calculate optimal
controller placements, and illustrate and analyze different
resilience issues.
II.
POCO F RAMEWORK
The POCO-toolset to compute resilient Pareto-based Optimal COntroller-placements is implemented in MATLAB. With
an efficient combined use of CPU and RAM, it can evaluate the
entire solution space of all controller placements even when
resilience is considered. It calculates all considered objectives
for each placement so that the best solutions according to the
particular requirements can be selected from the entire range
of possible placements. The actual decisions which of the
multi-criteria optimization goals is most important can thus
be postponed to after the optimization process.
A. Program Structure
The implementation of POCO as a set of MATLAB scripts
and functions makes POCO easy to use and extensible. An
overview of the program structure as well as the contained
functions is shown in Figure 1. The functions and scripts can
be roughly classified into four groups: (1) input, (2) config,
(3) calculation, and (4) output.
B. Graphical User Interface
To facilitate and improve the user experience of POCO,
we now provide a GUI to control POCO and to evaluate and
illustrate its results. Figure 2 shows a screenshot of the GUI.
The upper part shows the network topology and can visualize
different scenarios and options. For example, the scenarios
discussed in our original paper [2] can be selected directly. The
lower part of the GUI allows to compare different placements
according to multiple objective functions and to easily select
a particular placement. This can be, e.g., the best placement
2 CONFIG
Considered scenarios
With or without node weights (population-based)
Considered failure types ( , C, N)
Number of controllers k
3 CALCULATION
Calculation functions
Evaluation of all applicable metrics for all placements in
selected scenarios
Algorithm to find minimum k such that
4 OUTPUT
Visualization functions
Different combinable illustrations for different metrics
Illustration of solution space and Pareto-optimal placements
Placement sliders (All / Only Pareto-optimal placements)
Quick selection of particular placements & scenarios
Configuration and evaluation of individual scenarios
Quick links to predefined illustrations
Export functions
Individual node-to-controller assignments OMNeT++
Multi-dimensional sets of Pareto-optimal values
Placements calculated for particular scenarios for later reuse
Fig. 1.
APPLICATION CORE
Topology
Formats: Internet Topology City names
Zoo, MATLAB, SNDlib
City populations/node
Geographical locations
weights (static, dynamic)
1 INPUT
III.
according to a chosen metric, any arbitrary placement or one
of the Pareto-optimal placements according to given metrics.
The lower part also shows an evaluation of all placements
according to a selection of two arbitrary metrics as it has
been done in [2] and highlights the Pareto-optimal results.
All calculations necessary to evaluate different placements for
different metrics are performed only once triggered by a
menu item and the results are locally stored for quick access
to speed up the illustration and evaluation process.
D EMO P RESENTATION
Fig. 2.
ACKNOWLEDGEMENTS
We thank our SASER project partners, especially RalfPeter Braun from T-Labs for providing the data for the
STRONGEST reference topology and Frank Pfeuffer from
Zuse Institute Berlin for calculating the topology coordinates.
R EFERENCES
[1]
[2]
[3]
[4]
[5]
D. Hock, M. Hartmann, S. Gebert, T. Zinner, and P. Tran-Gia, POCOPLC: Enabling Dynamic Pareto-Optimal Resilient Controller Placement
in SDN Networks, in INFOCOM, Toronto, Canada, 2014.
D. Hock, M. Hartmann, S. Gebert, M. Jarschel, T. Zinner, and P. TranGia, Pareto-Optimal Resilient Controller Placement in SDN-based Core
Networks, in ITC, Shanghai, China, 2013.
B. Heller, R. Sherwood, and N. McKeown, The Controller Placement
Problem, in ACM SIGCOMM HotSDN, Helsinki, Finland, 2012.
http://www3.informatik.uni-wuerzburg.de/poco.
EU Project STRONGEST, http://www.ict-strongest.eu.