POCO-Framework for Pareto-Optimal Resilient Controller Placement

advertisement
c
2014
IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing
this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this
work in other works. The definitive version of this paper has been published in Proc. IEEE NOMS 2014
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 Würzburg, 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.
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.
Download