Www.opendaylight.org Test and Performance Integration Group.

Slides:



Advertisements
Similar presentations
November 2013 Jan Medved, Reinaldo Penno
Advertisements

Proposal: Model-Driven SAL for the OpenDaylight Controller
January 2014 Thomas D. Nadeau
OpenDaylight: An Open Source SDN for Your OpenStack Cloud Stephan Baucke, Ericsson Kyle Mestery, Cisco Anees Shaikh, IBM Chris Wright,
Slide title 70 pt CAPITALS Slide subtitle minimum 30 pt Vpn service Ericsson.
OpenDaylight: Service Function Chaining.
ODL Release Vehicles. Base Network Service Functions Management GUI/CLI Controller Platform Southbound Interfaces & Protocol Plugins OpenDaylight APIs.
© 2008 Cisco Systems, Inc. All rights reserved.CIPT1 v6.0—5-1 Implementing Media Resources, Features, and Applications Implementing Cisco Unified Video.
©2015 Extreme Networks, Inc. All rights reserved. Software Defined Networking (SDN) v2.0 Mikael Holmberg Senior Global Consulting Engineer
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Exploring OpenDaylight
ONOS Use Cases Tom Tofigh AT&T.
NOV 20, 2014 Abi Varghese Tiju John Mahesh Govind
Traffic shaping with OVS and SDN Ramiro Voicu Caltech LHCOPN/LHCONE, Berkeley, June
Tripwire Enterprise Server – Getting Started Doreen Meyer and Vincent Fox UC Davis, Information and Education Technology June 6, 2006.
VMware vCenter Server Module 4.
LISP, SDN, and OpenDaylight
1 MASTERING (VIRTUAL) NETWORKS A Case Study of Virtualizing Internet Lab Avin Chen Borokhovich Michael Goldfeld Arik.
Basic Operations Guide
Types of Operating System
Thrive Installation.

VLAN Trunking Protocol (VTP)
VeriFlow: Verifying Network-Wide Invariants in Real Time
OpenDaylight project introduction An open source project under the Linux Foundation with the goal of furthering the adoption and innovation of Software.
Created by Jan Medved Integration & Test Strategy for Lithium.
Created by Jan Medved Integration & Test Strategy for Lithium.
OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content.
UNI Manager Project Proposal to OpenDaylight
HP OpenFlow Plugin and Libraries June 30, 2014.
Introduction of Speaker: Claudia 1.
Maintaining and Updating Windows Server Monitoring Windows Server It is important to monitor your Server system to make sure it is running smoothly.
Created by Jan Medved Integration & Test Strategy for Lithium.
OpenDaylight: Introduction, Lithium and Beyond
Project Proposals: ODL-SDNi App
Mininet and Openflow Labs. Install Mininet (do not do this in class) Download VirtualBox Download Xming for windows (X11) Download Mininet VM for linux-ubuntu.
Switching Topic 3 VTP. Agenda VTP basics Components Frames and advertisements Domains and revision numbers VTP operations VTP pruning VTP issues.
Kafka Producer OpenDaylight Project Proposal
1 © Cable Television Laboratories, Inc Do not share this material with anyone other than CableLabs Members, and vendors under CableLabs NDA if applicable.
December 30, 2015 Richard Chien Marko Lai Jason Yuan
OpenDaylight PCMM Plugin WG Kickoff Call
Introduction to Mininet, Open vSwitch, and POX
Azher Mughal / Beraldo Leal Programming OpenFlow Flows for Scientific Profit 1 Azher Mughal / Beraldo Leal SuperComputing 2015.
SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION.
System Testing SDN - A Case Study on ONOS Suibin Zhang, ON.Lab Jon Hall, Ciena.
What’s New and Hot in OpenDaylight Beryllium Colin Dixon TSC Chair, OpenDaylight Distinguished Engineer, Brocade.
Clustering in OpenDaylight
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Time Series Data Repository #ODSummit - The Generic, Extensible, and Elastic Data Repository in OpenDaylight for Advanced Analytics.
Deploy SDN-IP.
Author: Maros Marsalek (Honeycomb PTL)
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
A Web Based Job Submission System for a Physics Computing Cluster David Jones IOP Particle Physics 2004 Birmingham 1.
OpenDaylight Hydrogen Release Sept 2, 2013.
Luis Gomez, Principal SW Test Engineer, Brocade
Learnings from the first Plugfest
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Mininet and Openflow Labs
Konstantin agouros Omkar deshpande
Overlay Network Engine (ONE)
Some slides have been adapted from:
LISP Flow Mapping Service
IETF DMM Working Group IETF 97
OpenDaylight BGP Use-Cases
Time Series Data Repository
Chapter 5 Network Layer: The Control Plane
ONOS Drake Release September 2015.
HC Hyper-V Module GUI Portal VPS Templates Web Console
An Operational View of OpenDaylight
Chapter 5 Network Layer: The Control Plane
Presentation transcript:

Test and Performance Integration Group

Test Achievements 2 Sept 2013 June 2015 Beryllium Release First Release Performance report Helium Release First Performance test: OpenFlow (Cbench) Sept 2014 Integration group New project scope: distribution and CI system test Feb 2014 Hydrogen Release First system test: OpenFlow, OVSDB and VTN Manager Feb 2016 Lithium Release First Cluster test First SSP suite for OpenFlow

 Build test: Junit, integration, SingleFeature  System test: feature, multi-feature  SSP tests: Stability, Scalability, Performance  Cluster tests: Data consistency, HA Continuous Integration Tests 3

CI Test Strategy 4 Code Merge Auto-Release Merge build Distribution feature test cluster test For all projects Code SubmitVerify build Build test cluster test For all projects in downstream feature test For all projects in downstream Build test Distribution-check test Auto-Release test cluster test Daily trigger SSP tests Multi-feature test For all projects Multi-feature test

 Build test:  System test:  SSP tests: e_Test:Results  Cluster tests: CI Tests Results 5

 Real network test scenarios.  Uniform and dedicated test environment.  More than one environment to compare results.  Tests documented and step-by-step reproducible.  Other SDN controllers results added for reference.  Recommendations for ODL best performance. Beryllium Performance Report 6

 OpenFlow  End-to-End performance  Southbound performance  Netconf  Northbound performance  Southbound scale  Southbound performance  End-to-End performance  OVSDB  Southbound scale  BGP  Data Ingest performance  Data Advertise performance  PCEP  LSP Read performance  LSP Update performance Protocol Summary 7

 Setup 1 Test Environment 8 Hardware: CPU: Intel(R) Xeon(R) CPU E GHz, 40 cores Total RAM: 128GB OS: Ubuntu Linux generic x86_64 Network: Every test component is run directly on the machine all communication happens over the /8 loopback network. JVM: Oracle 1.8.0_73 8G of java heap Default garbage collector

 Setup 2 Test Environment 9 Hardware: CPU: 2 Intel Xeon E GHz, 72 cores Total RAM: 64GB OS: Fedora release 23 Linux fc23.x86_64 x86_64 Network: Test component is run directly on the machine all communication happens over /8 loopback network Exception: OVSDB Scale Tests which use multiple other identical systems to scale test tools JVM: OpenJDK 64-Bit 1.8.0_72 8G of java heap Default garbage collector

 Controller Software  OpenDaylight Beryllium release.  OpenDaylight Beryllium with OF Boron plugin.  ONOS Falcon pre-release (RC3).  FloodLight 1.2.  NOTE: Data for other SDN controllers is only for general comparative reference. They should not be considered as definitive maximum performance values for those platforms. Test Environment 10

 Test procedure:  Configure 100k flows and wait until we get confirmation of flows being programmed.  Remove flows and wait for confirmation.  Step-by-step guide: OpenFlow E2E Performance 11

 Beryllium plugin:  Flow Add Controller Rate= 2k flows/s  100k flows Switch program Time= 53 s  100k flows Confirmation time= s  Boron plugin:  Flow Add flow Controller Rate= 2k flows/s  100k flows Switch program Time= 53 s  100k flows Confirmation time= 7-10 s  ONOS:  Flow Add Controller Rate= 2.4k flows/s  100k flows Switch program Time= s  100k flows Confirmation time= s  Floodlight:  Flow Add Controller Rate= 2k flows/s  100k flows Switch program Time= 54 s OpenFlow E2E Performance 12

 Beryllium plugin:  Single flow per REST call:  Flow Add Controller Rate= 2k flows/s  100k flows Switch program Time= 53 s  100k flows Confirmation time= s  200 flows per REST call:  Flow Add Controller Rate= 10k flows/s  100k flows Switch program Time= 11 s  100k flows Confirmation time= s  Boron plugin:  Single flow per REST call:  Flow Add Controller Rate= 2k flows/s  100k flows Switch program Time= 53 s  100k flows Confirmation time= 7-10 s  200 flows per REST call:  Flow Add Controller Rate= 10k flows/s  100k flows Switch program Time= 11 s  100k flows Confirmation time= 7-10 s OpenFlow E2E Performance 13

 Test procedure:  Configure 100k flows in the OpenFlow network.  Restart network (mininet).  Wait until we get confirmation of flows being re-programmed.  Step-by-step guide: OpenFlow SB Performance 14

 Beryllium plugin:  Flow Add Switch Rate= 10-20k flows/s  100k flows Confirmation time= s  Boron plugin:  Flow Add Switch Rate= 10k flows/s  100k flows Confirmation time= 7-10 s  ONOS:  Flow Add Switch Rate= 1-14k flows/s (flows were missing)  100k flows Confirmation time= 60-64s  Floodlight:  Flow Add Switch Rate= 10-20k flows/s  100k flows Confirmation time= No API found for this OpenFlow SB Performance 15

 Test procedure:  ODL starts with simple l2fib models and NETCONF northbound enabled.  External client writes lots of l2fib entries in ODL Datastore using NETCONF northbound.  The client measures time since 1st request is sent until last response is received.  Step-by-step guide: Netconf NB Performance 16

 Beryllium Release:  Single l2fib entry per Netconf request:  l2fib Add Rate with TCP client= 7k l2fib/s  l2fib Add Rate with SSH client= 6.6k l2fib/s  100 l2fib entries per Netconf request:  l2fib Add Rate with TCP client= 42k l2fib/s  l2fib Add Rate with SSH client= 38.5k l2fib/s Netconf NB Performance 17

 Test procedure:  Start netconf-testtool with desired amount of netconf servers.  Testtool generates initial configuration for OpenDaylight.  Check OpenDaylight connects to all of the simulated devices (TCP or SSH).  Step-by-step guide: Netconf SB Scale 18

 Beryllium release:  Devices connected via TCP= 28,000  Device connected via SSH= 14,000 Netconf SB Scale 19

 Test procedure:  OpenDaylight mounts a simulated NETCONF device.  Small ODL application triggers a NETCONF notification stream for new mount point.  Simulated device starts sending routes with a certain number of prefixes into ODL.  Application waits until all notifications have been processed.  Step-by-step guide: Netconf SB Performance 20

 Beryllium Release:  Single prefix per Netconf notification:  Prefix Learn Rate with TCP= 10.7k prefixes/s  Prefix Learn Rate with SSH= 9.8k prefixes/s  10 prefixes per Netconf notification:  Prefix Learn Rate with TCP= 20k prefixes/s  Prefix Learn Rate with SSH= 16.4k prefixes/s Netconf SB Performance 21

 Test procedure:  OpenDaylight mounts a simulated NETCONF device.  External REST client starts sending prefixes via RESTCONF.  ODL application transforms the requests into device specific models and writes to the device.  The REST client waits until all of its requests are handled in RESTCONF.  Step-by-step guide: Netconf E2E Performance 22

 Beryllium Release:  Single prefix per Netconf notification:  Prefix Learn Rate with TCP= 3.2k prefixes/s  Prefix Learn Rate with SSH= 2.3k prefixes/s  50 prefixes per Netconf notification:  Prefix Learn Rate with TCP= 85.3k prefixes/s  Prefix Learn Rate with SSH= 61k prefixes/s Netconf E2E Performance 23

 Test procedure:  Start multiple OVS systems and configure OpenDaylight as the OVS manager.  Run mininet in the OVS system to generate many OVS bridges.  Check all OVS systems connect to OpenDaylight.  Step-by-step guide: OVSDB Scale 24 Controller OVS REST OVSDB

 Beryllium release:  OVS bridges connected= 1,800 OVSDB SB Scale 25

 Test procedure:  OpenDaylight connects to the BGP tool (play.py).  BGP tool sends 1 million updates (single prefix).  Wait until 1 million prefixes are present in ODL.  Disconnect BGP tool and wait until all prefixes are removed from ODL.  Step-by-step guide:  BGP Data Ingest Perf 26 Controller BGP Tool REST BGP (1M prefixes)

 Beryllium release:  Prefix Add rate= 16k prefixes/s  Prefix Delete rate= 23k prefixes/s BGP Data Ingest Perf 27

 Test procedure:  OpenDaylight connects to the BGP tool (play.py).  Use REST and a Java application in controller to populate the ODL RIB.  Restart the BGP connection and wait until all prefixes are learned by the BGP tool.  Delete all prefixes in ODL RIB and wait until they clear from BGP tool.  Step-by-step guide:  BGP Data Advertise Perf 28 Controller BGP Tool REST BGP (1M prefixes)

 Beryllium Release:  REST to populate ODL RIB:  Single prefix/request rate= 200 prefixes/s  100k prefix/request rate= 2k prefixes/s  Java app to populate ODL RIB:  Single prefix/request rate= 6k prefixes/s  100k prefix/request rate= 6k prefixes/s  After reconnect BGP tool:  Prefix add rate= 20k prefixes/s  After remove all prefixes:  Prefix delete rate= 15k prefixes/s BGP Data Advertise Perf 29

 Test procedure:  PCC tool (pcc-mock) connects to OpenDaylight (PCE).  PCC tool sends information for tunnels.  Wait until tunnels are present in ODL.  Step-by-step guide:  Testing PCEP LSP Read Performance 30 Controller PCC Tool REST PCEP (65535 tunnels)

 Beryllium release:  Read rate (1 PCC)= 4.6k tunnels/s  Read rate (512 PCC)= 4k tunnels/s PCEP LSP Read Performance 31

 Test procedure:  PCC tool (pcc-mock) connects to OpenDaylight (PCE).  REST tool (updater.py) is used to send tunnel updates.  Wait until tunnels are updated in PCC tool.  Step-by-step guide:  Testing PCEP LSP Update Performance 32 Controller PCC Tool REST PCEP (65535 tunnels) REST Tool

 Beryllium release:  Update rate (1 PCC)= 1.8k tunnels/s  Update rate (512 PCC)= 1.9k tunnels/s PCEP LSP Update Performance 33

 “Batching” multiple flows/prefixes into a single protocol message improves overall performance:  OpenFlow NB (REST) performance is 5x faster with “batch” requests.  Netconf SB performance is x20 faster than OpenFlow 1.3 as the last does not support “batching” requests.  By default OpenDaylight persists configuration data (other tested controllers do not persist), this has negative impact on performance and depending on the Use Case you may want to:  Use fast disk (e.g. SSD)  Disable persistence if you do not need. Performance Recommendations 34