On Controller Performance in Software-Defined Networks

Slides:



Advertisements
Similar presentations
Interconnection Networks: Flow Control and Microarchitecture.
Advertisements

Device Virtualization Architecture
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center.
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Akbar.
INTRODUCTION Frequent and resource-exhaustive events, such as flow arrivals and network-wide statistics collection events, stress the control plane and.
1 SEDA: An Architecture for Well- Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University.
XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
Scalable Content-aware Request Distribution in Cluster-based Network Servers Jianbin Wei 10/4/2001.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Bugnion et al. Presented by: Ahmed Wafa.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
CS533 Concepts of Operating Systems Class 8 Shared Memory Implementations of Remote Procedure Call.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
3.5 Interprocess Communication
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
Federated DAFS: Scalable Cluster-based Direct Access File Servers Murali Rangarajan, Suresh Gopalakrishnan Ashok Arumugam, Rabita Sarker Rutgers University.
SPUD A Distributed High Performance Publish-Subscribe Cluster Uriel Peled and Tal Kol Guided by Edward Bortnikov Software Systems Laboratory Faculty of.
CS533 Concepts of Operating Systems Class 2 The Duality of Threads and Events.
Handout # 4: Scaling Controllers in SDN - HyperFlow
1 I/O Management in Representative Operating Systems.
Decentralized Resource Management for a Distributed Continuous Media Server Cyrus Shahabi and Farnoush Banaei-Kashani Presented by Leung Chi Kit.
FreeBSD Network Stack Performance Srinivas Krishnan University of North Carolina at Chapel Hill.
OpenFlow Tutorial Theophilus Benson. Outline Components in an OpenFlow testbed Setting up a testbed Writing a new component – C++ components version –
Oracle 10g Administration Oracle Shared Server Copyright ©2006, Custom Training Institute.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 3: Introduction to IP QoS.
Configuring Global Server Load Balancing (GSLB)
An Architectural Evaluation of SDN Controllers Syed Abdullah Shah, Jannet Faiz, Maham Farooq, Aamir Shafi, Syed Akbar Mehdi National University of Sciences.
QoS Support in High-Speed, Wormhole Routing Networks Mario Gerla, B. Kannan, Bruce Kwan, Prasasth Palanti,Simon Walton.
Rapid Development of High Performance Servers Khaled ElMeleegy Alan Cox Willy Zwaenepoel.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Latency as a Performability Metric: Experimental Results Pete Broadwell
Oracle Database Architecture By Ayesha Manzer. Automatic Storage Management Spreads database data across all disks Creates and maintains a storage grid.
BalanceFlow: Controller load balancing for OpenFlow networks Hu, Yannan ; Wang, Wendong ; Gong, Xiangyang ; Que, Xirong ; Cheng, Shiduan Cloud Computing.
SEDA An architecture for Well-Conditioned, scalable Internet Services Matt Welsh, David Culler, and Eric Brewer University of California, Berkeley Symposium.
On Scalability of Software-Defined Networking
NOX: Towards an Operating System for Networks Author: Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martín Casado, Nick McKeown and Scott Shenker.
Code Development for High Performance Servers Topics Multithreaded Servers Event Driven Servers Example - Game Server code (Quake) A parallelization exercise.
A Bandwidth Scheduling Algorithm Based on Minimum Interference Traffic in Mesh Mode Xu-Yajing, Li-ZhiTao, Zhong-XiuFang and Xu-HuiMin International Conference.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Pertemuan 7 Introduction to LAN Switching and Switch Operation
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
Experiences with VI Communication for Database Storage Yuanyuan Zhou, Angelos Bilas, Suresh Jagannathan, Cezary Dubnicki, Jammes F. Philbin, Kai Li.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
SDN and Security Security as a service in the cloud
Jim Fawcett CSE 691 – Software Modeling and Analysis Fall 2000
Optimizing Distributed Actor Systems for Dynamic Interactive Services
OPERATING SYSTEMS CS 3502 Fall 2017
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Why Events Are A Bad Idea (for high-concurrency servers)
Advanced Computer Networks
Alternative system models
Author: Ragalatha P, Manoj Challa, Sundeep Kumar. K
Scalability of Software Defined Network
Chapter 4: Multithreaded Programming
Using Packet Information for Efficient Communication in NoCs
CPU Scheduling G.Anuradha
NOX is the Most Widely Used OpenFlow Controller
So far…. Firmware identifies hardware devices present
2018/12/10 Energy Efficient SDN Commodity Switch based Practical Flow Forwarding Method Author: Amer AlGhadhban and Basem Shihada Publisher: 2016 IEEE/IFIP.
Operating systems Process scheduling.
Fast Communication and User Level Parallelism
Operating System Concepts
Chapter 5: CPU Scheduling
Specialized Cloud Architectures
Presented by: SHILPI AGARWAL
Presentation transcript:

On Controller Performance in Software-Defined Networks Author: Amin Tootoonchian, Sergey Gorbunov, Yashar Ganjali, Martin Casado and Rob Sherwood Publisher: Presenter: Yu Hao, Tseng Date: 2013/05/29

Outline Introduction NOX-MT Experiment Setup Controller Throughput Controller Response Time Cbench

Introduction How fast can the controller respond to data path requests? How many data path requests can it handle per second? For example : NOX handles around 30k flow initiation events per second while maintaining a sub-10ms flow install time [14]. Kandula et al. [9] found that a 1500-server cluster has a median flow arrival rate of 100k flows per second. Benson et al. [2] show that a network with 100 switches can have spikes of 10M flows arrivals per second in the worst case. We present NOX-MT a publicly-available multithreaded successor of NOX.

NOX-MT NOX is not optimized for performance and is single-threaded. The techniques to optimize NOX are including : I/O batching to minimize the overhead of I/O Port the I/O handling harness to Boost Asynchronous I/O (ASIO) library Use a fast multiprocessor-aware malloc implementation NOX-MT is far from perfect. Heavy use of dynamic memory allocation and redundant memory copies on a per-request basis Using locking were robust wait-free alternatives exist

Experiment Setup Cbench emulates a configurable number of OpenFlow switches that all communicate with a single OpenFlow controller. Each emulated switch sends a configurable number of new flow messages to the OpenFlow controller, waits for the appropriate flow setup responses, and records the difference in time between request and response. Cbench supports two modes of operation : Latency Throughput

Controller Throughput Maximum throughput

Controller Throughput (Cont.) Relation with the number of active switches

Controller Throughput (Cont.) Relation with the load level

Controller Throughput (Cont.) Effect of write-intensive workload

Controller Response Time Minimum response time Average response times of all controllers are between 100 and 150 microseconds. Maximum response time

Controller Response Time (Cont.) Relation with the load level

Controller Response Time (Cont.) Relation with the number of active switches

Cbench

Cbench (Cont.)

Cbench (Cont.) http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons

Cbench (Cont.) responses/s min max avg stdev NOX 42620.00 232301.74 203830.60 57337.18 POX 7764.75 7939.25 7875.25 54.54