Anda di halaman 1dari 2

POCO-Framework for Pareto-Optimal Resilient

Controller Placement in SDN-based Core Networks


David Hock, Steffen Gebert, Matthias Hartmann, Thomas Zinner, Phuoc Tran-Gia
University of Wurzburg, Institute of Computer Science
{hock,gebert,hartmann,zinner,trangia}@informatik.uni-wuerzburg.de
I.

I NTRODUCTION AND P ROBLEM D ESCRIPTION

Recently, Software Defined Networking (SDN) has gained


a lot of attention, even for the use in core communication
networks. When deploying SDN in large core networks, the
number and location of controllers must be carefully planned.
A first study on this topic by Heller et al. [3] was followed by
more detailed publications that included resilience or dynamic
controller provisioning. In our previous work [2], we provide
an overview over related work and include different resilience
issues in the controller placement process. We argued that it
is not sufficient to look only at node-to-controller latencies
but a controller placement should also fulfill certain resilience
constraints especially for the control plane. The addressed
resilience issues are briefly repeated in the following. Further
details can be found in our original paper [2].
Controller Failures: To make a network resilient against
the outage of controllers, more than a single controller is
required. This way, nodes can be reassigned to other controllers when their primary controller fails. However, the
latencies of the reassigned nodes to their new controller
can be significantly higher than those to the primary
controller. Therefore, not only the latencies during failurefree routing should be considered, but also worst case
latencies during controller failures.
Network Disruption: Not only controllers can fail but
also network elements such as links or nodes. Outages
of such components often have a higher impact on the
network stability, as they alter the topology itself. In the
worst case, entire parts of the network might be cut off.
This can lead to some nodes being no longer able to
connect to any controller as they are cut off from all
controllers. These nodes are still working and able to
forward traffic, but can no longer request instructions.
Load Imbalance: The more nodes a controller controls,
the higher is the load on that controller. If the number
of node-to-controller requests in the network increases,
so does the chance of additional delays due to queuing
at the controller system. Thus, in scenarios where nodes
communicate often with their controller, it is necessary
that the node-to-controller assignment is well-balanced.
Inter-Controller Latency: If there is more than a single
controller in a network, synchronization is necessary to
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.
c 2014 IEEE
978-1-4799-0913-1/14/$31.00

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)

Graphical User Interface realized as MATLAB Figure

1 INPUT

(a) Dynamic placement.


Fig. 3.

Extensions and additional features of POCO

Program structure of POCO.

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.

Screenshot of the POCO GUI.

D EMO P RESENTATION

The demo presentation provides an overview on POCO.


Different capabilities of the tool and its GUI are shown. The
new version of POCO is available online [4].
Evaluation: We demonstrate the different evaluation
methods offered by POCO regarding the placement of
a variable number of controllers for the failure-free scenario, controller outages, and node outages, each of them
with and without node weights.
Visualization: We show how POCO is able to visualize the different resilience issues described in Section I
individually, and as combined views including several
aspects. Several important placements can be selected
quickly, for example the best placement according to a
particular metric, or placements that are Pareto-optimal
according to any two arbitrary metrics. Furthermore, fast
access to possibly interesting scenarios is provided (e.g.
worst-case scenarios according to different metrics).
Analysis: By looking at different example use cases
similar to the ones presented in our original paper [2],
we illustrate how POCO can be used to analyze different
placement options and to find the most adequate controller
placement for any particular requirement.
IV.

Fig. 2.

(b) Hierarchical placement.

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

C. Future Research Directions Enabled by POCO


Figure 3 provides a brief outlook on extensions and features
of POCO and its GUI which are currently explored but
beyond the scope of this demonstration: controller placements
under dynamic network conditions enabled by the POCOPLC extension [1] (see Figure 3(a)) and the placement of
controllers in hierarchical networks exemplarily visualized for
the STRONGEST network [5] with 1975 total nodes including
24 core nodes (see Figure 3(b)).

[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.

Anda mungkin juga menyukai