• No results found

OpenDaylight Performance Stress Tests Report

N/A
N/A
Protected

Academic year: 2022

Share "OpenDaylight Performance Stress Tests Report"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

www.intracom-telecom.com [email protected]

OpenDaylight Performance Stress Tests Report

v1.0: Lithium vs Helium Comparison

6/29/2015

(2)

www.intracom-telecom.com [email protected] Page 2

Introduction

In this report we investigate several performance aspects of the OpenDaylight controller and compare them between the Helium and Lithium releases. The investigation targets several objectives such as controller throughput, switch scalability and stability (sustained throughput).

For our evaluation we have used NSTAT [1], an open source environment written in Python for easily writing SDN controller stress tests and executing them in a fully automated and end-to-end manner. The key components in NSTAT tests are the SDN controller and the SouthBound OpenFlow traffic generator. NSTAT is responsible for automating and sequencing every step of the testing procedure, including controller and generator lifecycle management and orchestration, test dimensioning (i.e. iterating over a large space of experimental parameters), online performance and statistics monitoring, and finally reporting. NSTAT does exhaustive stress testing, which means it repeats the test over a multi-dimensional experimental space within the same run. In this way the user is able to execute multiple test cases within a single run.

In all tests we have used MT-Cbench [2] as the SouthBound traffic generator. MT-Cbench is a direct extension of the Cbench emulator [3] which uses threading to generate OpenFlow traffic from multiple streams in parallel. The motivation behind this extension was to be able to boot-up and operate network topologies with OpenDaylight much larger than those being able with the original Cbench. We note here that, as with the original Cbench, the switches emulated with MT-Cbench implement only a subset of the OpenFlow protocol, and therefore the results presented here are expected to vary in real conditions.

In future releases of NSTAT we plan to provide improvements in our generator towards providing better OpenFlow protocol support.

Results Summary

Our key findings in stress tests where the controller DataStore is involved witness notable improvements in the Lithium DataStore, which translate into better throughput in scalability tests as well as better sustained throughput in stability tests. Specifically, in a test running for an hour with aggressive SouthBound traffic that is specifically designed to stress the DataStore, Lithium exhibits steady behavior unlike Helium that shows a downward slope all the way down to zero. In scalability tests that involve the DataStore we observe a significant improvement from 1 to 5K switches reaching up to 8x. In the same cases involving just the OpenFlow plugin, the improvement is smaller yet evident (by almost 1.5x in the best case).

(3)

www.intracom-telecom.com [email protected] Page 3

Experimental Setup

The setup used in all experiments presented in this report is summarized in the following table:

Operating system Centos 7, kernel 3.10.0

Server platform Dell R720

Processor model Intel Xeon CPU E5-2640 v2 @ 2.00GHz

Total system CPUs 32

CPUs configuration 2 sockets × 8 cores/socket × 2 HW-threads/core

Main memory 256 GB, 1.6 GHz RDIMM

Controller under test 1 OpenDaylight Lithium RC0 Controller under test 2 OpenDaylight Helium SR3

Part A - Stability Stress Tests

Stability tests explore how controller throughput behaves in a large time window with a fixed topology connected to it. The controller accepts an aggressive rate of incoming OpenFlow packets from the switches (Packet-In’s) and its response throughput is sampled periodically. We evaluate two different controller configurations: in the first one, the controller is configured to directly reply to the switches with a predefined message at the OpenFlow plugin level (“RPC mode”). In the second one, the controller additionally performs updates in its DataStore (“DataStore mode”). In all cases, the MT-Cbench generator is configured to operate at “Latency mode”, which means that each switch sends a Packet-In message only when it has received a reply for the previous one.

(4)

Test A1: 500 switches, DataStore mode

NSTAT configuration:

• Controller: DataStore

• MT-Cbench generator

seconds between thread creation

• 360 internal generator repeats, 10 seconds each

Figure 1: Lithium throughput

Test A2: 500 switches,

NSTAT configuration:

• Controller: RPC mode

• MT-Cbench generator

seconds between thread creation

• 360 internal generator repeats, 10 seconds each

Figure 3: Lithium throughput

This test does not trigger the controller DataStore, hence the stable sustained throughput observed in Helium which outperforms Lithium by ~5

www.intracom SDN-NFV@intracom

switches, DataStore mode, 1 hour running time

DataStore mode

Cbench generator: Latency mode, 50 switches per thread, 10 threads seconds between thread creation

internal generator repeats, 10 seconds each (1h total running time)

Lithium throughput Figure 2: Helium throughput

: 500 switches, RPC mode, 1 hour running time

mode

Cbench generator: Latency mode, 50 switches per thread, 10 threads seconds between thread creation

internal generator repeats, 10 seconds each (1h total running time)

Lithium throughput Figure 4: Helium throughput

This test does not trigger the controller DataStore, hence the stable sustained throughput Helium which outperforms Lithium by ~5-7%.

www.intracom-telecom.com [email protected] Page 4

, 1 hour running time

50 switches per thread, 10 threads, 8 running time)

Helium throughput

50 switches per thread, 10 threads, 8 (1h total running time)

Helium throughput

This test does not trigger the controller DataStore, hence the stable sustained throughput

(5)

Test A3: 500 switches, DataStore mode

NSTAT configuration:

• Controller: DataStore mode

• MT-Cbench generator

seconds between thread creation

• 4320 internal generator repeats, 10 seconds each

Figure 5: Lithium throughput

Test A4: 16 switches, RPC mode, generator repeats

NSTAT configuration:

• Controller: RPC mode

• MT-Cbench generator

• 360 external generator repeats

Figure 7: Lithium throughput

Helium degradation can be attributed to the fact that this test restarting topology which seems to trigger the DataStore

“pure RPC” case (Test A2).

www.intracom SDN-NFV@intracom

: 500 switches, DataStore mode, 12 hours running time

DataStore mode

Cbench generator: Latency mode, 50 switches per thread, 10 threads seconds between thread creation

4320 internal generator repeats, 10 seconds each (12h total running time)

Lithium throughput Figure 6: Helium throughput

: 16 switches, RPC mode, 1 hour running time, external

mode

Cbench generator: Latency mode, 16 switches per thread, 1 thread generator repeats, 10 seconds each (1h total running time)

Lithium throughput Figure 8: Helium throughput

Helium degradation can be attributed to the fact that this test emulates an always restarting topology which seems to trigger the DataStore much more frequently than the

www.intracom-telecom.com [email protected] Page 5

, 12 hours running time

50 switches per thread, 10 threads, 8 h total running time)

Helium throughput

external

switches per thread, 1 thread (1h total running time)

Helium throughput

emulates an always more frequently than the

(6)

Part B - Scalability

Scalability tests measure controller performance as the switch topology scales, giving hint on the controller's upper bound.

scalability tests. With the active tests we try to explore how controller throughput scales as the topology scales. In this case we send OpenFlow traffic from booted topologies with varying number of switches and measure controller throughput. With the idle tests we explore how to optimally boot

up switches in idle mode and count installed switches and installation times.

booted in batches and with a fixed delay between each batch.

these tests as well we explore both operation modes of OpenDaylight (RPC and DataStore), and we also use the MT

Test B1: Active scalability test, D

NSTAT configuration:

• Controller: DataStor

• MT-Cbench generator [1,2,4,8,16,20,40,60,80,100]

Figure 9: Lithium throughput

Lithium starts outperforming Helium for switch numbers larger than 400. After that, it consistently exhibits better relative throughput by an ever increasing factor that reaches almost 8x for 5000 switches.

www.intracom SDN-NFV@intracom

Scalability Stress Tests

controller performance as the switch topology scales, giving controller's upper bound. We perform two kinds of stress tests,

tests. With the active tests we try to explore how controller throughput scales as the topology scales. In this case we send OpenFlow traffic from booted topologies with varying number of switches and measure controller throughput. With the idle tests we explore how to optimally boot-up topologies of varying size. In this case we gradually boot

in idle mode and count installed switches and installation times.

booted in batches and with a fixed delay between each batch. As in the

we explore both operation modes of OpenDaylight (RPC and DataStore), and we also use the MT-Cbench generator in Latency mode.

: Active scalability test, DataStore mode

DataStore mode

Cbench generator: Latency mode, 50 switches per thread, [1,2,4,8,16,20,40,60,80,100] threads, 15sec inter-thread creation delay

Lithium throughput Figure 10: Helium throughput

Lithium starts outperforming Helium for switch numbers larger than 400. After that, it consistently exhibits better relative throughput by an ever increasing factor that reaches almost 8x for 5000 switches.

www.intracom-telecom.com [email protected] Page 6

controller performance as the switch topology scales, giving a We perform two kinds of stress tests, active and idle tests. With the active tests we try to explore how controller throughput scales as the topology scales. In this case we send OpenFlow traffic from booted topologies with varying number of switches and measure controller throughput. With the idle tests we

up topologies of varying size. In this case we gradually boot in idle mode and count installed switches and installation times. Switches are As in the stability tests, in we explore both operation modes of OpenDaylight (RPC and

thread creation delay

Helium throughput

Lithium starts outperforming Helium for switch numbers larger than 400. After that, it consistently exhibits better relative throughput by an ever increasing factor that reaches

(7)

Test B2: Active scalability test,

NSTAT configuration:

• Controller: RPC mode

• MT-Cbench generator

[1,2,4,8,16,20,30,40,50,60,70,80,90,100]

Figure 11: Lithium throughput

Although not as notable as in the DataStore active scalability case, Lithium exhibits better performance than Helium and maintains it for all switch numbers.

www.intracom SDN-NFV@intracom

: Active scalability test, RPC mode

mode

Cbench generator: Latency mode, 50 switches per thread,

[1,2,4,8,16,20,30,40,50,60,70,80,90,100] threads, 15sec inter-thread creation delay

Lithium throughput Figure 12: Helium throughput

Although not as notable as in the DataStore active scalability case, Lithium exhibits better performance than Helium and maintains it for all switch numbers.

www.intracom-telecom.com [email protected] Page 7

thread creation delay

Helium throughput

Although not as notable as in the DataStore active scalability case, Lithium exhibits better

(8)

Test B3: Idle scalability test, RPC mode

NSTAT configuration:

• Controller: RPC mode

• MT-Cbench generator

[1,2,4,8,16,20,30,40,50,60,70,80,90,100]

[500,1000,2000,4000,8000,16000]

Figure 13: Lithium topology boot

Helium achieves to successfully boot up

than Lithium (2 seconds) and hence in quite smaller total time. An inter always works for Lithium is that of 16 seconds.

Future Releases

In future releases of this report we are going t

• SouthBound stability and scalability tests with Mininet

• NorthBound stability and scalability tests

• system-level and controller

This functionality is going to be part of future NSTAT releases.

www.intracom SDN-NFV@intracom

: Idle scalability test, RPC mode

mode

Cbench generator: Latency mode, 50 switches per thread,

[1,2,4,8,16,20,30,40,50,60,70,80,90,100] threads, inter-thread creation delay [500,1000,2000,4000,8000,16000] secs

opology bootup time Figure 14: Helium topology bootup time

Helium achieves to successfully boot up large topologies with much less inter

than Lithium (2 seconds) and hence in quite smaller total time. An inter-thread delay that always works for Lithium is that of 16 seconds.

Future Releases

In future releases of this report we are going to additionally include:

SouthBound stability and scalability tests with Mininet NorthBound stability and scalability tests

level and controller-level performance statistics and profiling results.

This functionality is going to be part of future NSTAT releases.

www.intracom-telecom.com [email protected] Page 8

thread creation delay

Helium topology bootup time

large topologies with much less inter-thread delay thread delay that

level performance statistics and profiling results.

(9)

www.intracom-telecom.com [email protected] Page 9

References

[1] https://github.com/intracom-telecom-sdn/nstat

[2] https://github.com/intracom-telecom-sdn/nstat/wiki/MT-Cbench [3] https://github.com/andi-bigswitch/oflops/tree/master/cbench

Contributors

• Nikos Anastopoulos ([email protected])

• Vaios Bitos ([email protected])

• Panagiotis Georgiopoulos ([email protected])

• Apostolis Glenis ([email protected])

• Andreas Pantelopoulos ([email protected])

• Konstantinos Papadopoulos ([email protected])

References

Related documents

We model this process in the routing stages of the PSRPP algorithm in the following way: (1) the restoration order is fixed by a greedy heuristic that has full understanding of

Solaris 11.1 Solaris 11.x Solaris 11.x Solaris 12 Solaris 11 T4 +1x Throughput +5x Thread Strength M5 +6x Throughput +1.5x Thread Strength M6 +2x Throughput >1x Thread Strength

circumstances, this may lead to termination of your relationship with us. Articles of lost property should be handed to the Secretary who will retain them whilst attempts are made

To sum up, scientific realists see truth as the aim of science, and claim that we should believe our best theories to be true of the world. They appeal to the no miracles

(Explanation: In this graph, we compare misclassification rate with different size training data sets. Here, both training and testing data set are collected from the same

analysis in this section will focus on two particular questions, namely: (i) the normative value of the environmental goals and targets enshrined in the SDGs (with a specific

Linearizability vs Serializability time Thread 1 invokes acquire(lock) Thread 1’s acquire succeeds Thread 2 invokes release(lock) Thread 2’s release succeeds Thread 1 invokes

While labour market arrangements, such as part-time opportunities (when well-paid and protected), have a larger impact on the outcomes of women with higher educational