New Approach to OVS Datapath Performance

Slides:



Advertisements
Similar presentations
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Advertisements

© MIRANTIS 2012PAGE 1© MIRANTIS 2012 Does Hypervisor Matter in OpenStack Greg Elkinbard Senior Technical Director.
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
Open vSwitch. What is Open vSwitch ?  Open vSwitch is an open source OpenFlow capable virtual switch that is typically used with hypervisor to interconnect.
Outlines Backgrounds Goals Implementation Performance Evaluation
Keith Wiles DPACC vNF Overview and Proposed methods Keith Wiles – v0.5.
Accelerating the Path to the Guest
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Embedded Transport Acceleration Intel Xeon Processor as a Packet Processing Engine Abhishek Mitra Professor: Dr. Bhuyan.
Virtualization for Cloud Computing
© 2010 IBM Corporation Plugging the Hypervisor Abstraction Leaks Caused by Virtual Networking Alex Landau, David Hadas, Muli Ben-Yehuda IBM Research –
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Cloud Scale Performance & Diagnosability Comprehensive SDN Core Infrastructure Enhancements vRSS Remote Live Monitoring NIC Teaming Hyper-V Network.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Extending OVN Forwarding Pipeline Topology-based Service Injection
© 2013 VMware Inc. All rights reserved Measuring OVS Performance Framework and Methodology Vasmi Abidi, Ying Chen, Mark Hamilton
Full and Para Virtualization
Network Virtualization in Multi-tenant Datacenters Author: VMware, UC Berkeley and ICSI Publisher: 11th USENIX Symposium on Networked Systems Design and.
Introduction to Mininet, Open vSwitch, and POX
Presented by: Xianghan Pei
Figure A: From Openstack Nomad. Figure B: From Gap on OpenStack ① ① ④ ④.
T3: TCP-based High-Performance and Congestion-aware Tunneling Protocol for Cloud Networking Satoshi Ogawa† Kazuki Yamazaki† Ryota Kawashima† Hiroshi Matsuo†
An open source user space fast path TCP/IP stack and more…
Considerations for Benchmarking Virtual Networks Samuel Kommu, Jacob Rapp, Ben Basler,
Open vSwitch: Extending Networking into the Virtualization Layer Ben Pfaff Justin Pettit Teemu Koponen Keith Amidon Martin Casado Nicira Networks, Inc.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
High Speed Solutions in VPP to Accelerate Container Networking: - Howto and Deep Dive Tan,Jianfeng Xu,qian.
An Analysis of Container-based Platforms for NFV
Only Use FD.io VPP to Achieve high performance service function chaining Yi Intel.
Shaopeng, Ho Architect of Chinac Group
Virtualization for Cloud Computing
NFV Compute Acceleration APIs and Evaluation
BESS: A Virtual Switch Tailored for NFV
GPUNFV: a GPU-Accelerated NFV System
ODL SFC, Implementing IETF SFC November 14, 2016
6WIND MWC IPsec Demo Scalable Virtual IPsec Aggregation with DPDK for Road Warriors and Branch Offices Changed original subtitle. Original subtitle:
DPDK API and Virtual Infrastructure
Are You Insured Against Your Noisy Neighbor - A VSPERF Use Case
Multi-PCIe socket network device
NFV PoC update November, 2017 Wouter Huisman.
Tetsuya Murakami IP Infusion, CTO
Networking overview Sujata
OS Virtualization.
Get the best out of VPP and inter-VM communications.
GEN: A GPU-Accelerated Elastic Framework for NFV
memif - shared memory packet interface for container networking
Virtio Keith Wiles July 11, 2016.
DPDK Accelerated Load Balancer
Open vSwitch HW offload over DPDK
Virtio/Vhost Status Quo and Near-term Plan
Multiple vDPI Functions using DPDK and Hyperscan on OVS-DPDK Platform
Integrating OpenStack with DPDK for High Performance Applications
Enabling TSO in OvS-DPDK
OVN: The future of Openvswitch
Encrypting OVN tunnels with IPsec
Reprogrammable packet processing pipeline
All or Nothing The Challenge of Hardware Offload
Top #1 in China Top #3 in the world
Fast Userspace OVS with AF_XDP
IP Control Gateway (IPCG)
NetCloud Hong Kong 2017/12/11 NetCloud Hong Kong 2017/12/11 PA-Flow:
NitroSketch: Robust and General Sketch-based Monitoring in Software Switches Alan (Zaoxing) Liu Joint work with Ran Ben-Basat, Gil Einziger, Yaron Kassner,
Flow Processing for Fast Path & Inline Acceleration
Tokyo OpenStack® Summit
Platform Performance Acceleration
Figure 3-2 VIM-NFVI acceleration management architecture
SECRETS FOR APPROACHING BARE-METAL PERFORMANCE WITH REAL-TIME NFV
Openstack Summit November 2017
Presentation transcript:

New Approach to OVS Datapath Performance Founder of CloudNetEngine Jun Xiao

Agenda VM virtual network datapath evolvement Technical deep dive on a new OVS datapath Performance comparisons Q & A

VM virtual network datapath evolvement VNIC emulation VNIC paravirtualization VNIC/PNIC Multiple queues/load balance VNIC offloading and PNIC H/W acceleration OVS Kernel DP Overlay Overlay awareness offloading Stateful actions, i.e. conntrack OVS-DPDK DP Very high packet rate processing

Why a new approach to OVS datapath performance? VNIC emulation VNIC paravirtualization VNIC/PNIC Multiple queues/load balance VNIC offloading and PNIC H/W acceleration OVS Kernel DP CPU efficiency is very important! Overlay Overlay awareness offloading Stateful actions, i.e. conntrack OVS-DPDK DP Very high packet rate processing

A new approach to OVS datapath performance VNIC emulation VNIC paravirtualization VNIC/PNIC Multiple queues/load balance VNIC offloading and PNIC H/W acceleration Overlay Overlay awareness offloading Stateful actions, i.e. conntrack Very high packet rate processing … An Uniform OVS DP

Technical deep dive on CloudNetEngine virtual switch

Design principles Datapath needs to be as reliable as possible High performance for all typical workloads Throughputs on both BPS and PPS wise CPU efficiency is very critical Easy of integration for various virtual networking solutions Easy of maintenance

CloudNetEngine virtual switch architecture Openflow APIs OVSDB APIs ODP APIs Adv APIs CDP APIs Scheduler Adaptive poll Mem mgmt Timer mgmt Classifier* Flow cache* FWD engine* Multi queue Overlay Security group QoS Offloading Sniffer ovs-vswitchd* (dpif-netlink) ovsdb-server DPDK* Net chain CDP (CloudNetEngine Data Path)

Performance practices Packet handle layout, lazy metadata reset. Improve instruction per cycles. Load balancing rxq processing. Inline filtering for packet monitoring. CPU efficiency: Hybrid polling + RX interrupt Packet group metadata Zero copy S/W H/W Offloading depending on system runtime configuration

Extensibility A lightweight and efficient framework (net chain) to plugin new features It’s RCU protected so that updating a net chain won’t have any performance penalty on the datapath A net chain can use packet group metadata to very quickly decide whether the net chain is applicable to the input packet vector or not

Performance comparisons

Performance test configuration Guest H/W - 4 vCPUs/ 2vNICs/ 4G memory for NFV tests - 1 vCPUs/ 1vNICs/ 1G memory for non-NFV tests - for NFV tests, virtio mrg_rxbuff=off, all other offload flags are enabled - for non-NFV test, virtio all offload flags are enabled - vNICs use default queues Guest S/W - buildroot kernel 4.4.3 x86_64 - testpmd io mode forward for NFV test - iperf 3.1.1 for TCP test - netperf 2.7.0 for TCP_RR test Host H/W CPU: - Xeon E5-2620 v3 2.40GHz - 6 physical cores, 12 logical cores NIC: - 82599ES 10-Gigabit MEM: - 16G Host S/W - Ubuntu 16.04 x86_64 + KVM - Qemu 2.5.1 - 1G size hugepages are used All QEMU instances set cpu affinity Virtual Switches Under Test Native OVS - OVS 2.6 - kernel module bundled with Linux kernel 4.4.0 OVS-DPDK - DPDK v16.11 CNE vSwitch - CNE vSwitch 1.0

Bi-directional traffic Each direction with 250 concurrent flows 0.5% PDR VM (testpmd) vnic0 vnic1 Host1 Host2 vswitch TRex NFV Test Topology

MPPS (Higher is better) NFV 64 Bytes 0.5% PDR test Throughput

VM VM Host1 vswitch TCP Single Host Test Topology

Gbps (Higher is better) CPU % (Lower is better)

TPS (Higher is better) CPU % (Lower is better)

TCP/VXLAN Two Hosts Test Topology VM1 VM2 VM3 VM4 Host1 Host2 vswitch vswitch VXLAN TCP/VXLAN Two Hosts Test Topology

Gbps (Higher is better) TCP/VXLAN Two Hosts Test Throughput CPU % (Lower is better) TCP/VXLAN Two Hosts Test CPU Usage

TPS (Higher is better) TCP_RR/VXLAN Two Hosts Test Throughput CPU % (Lower is better) TCP_RR/VXLAN Two Hosts Test CPU Usage

Demo: CNE vSwitch integration with OVN/OpenStack   CONTROLLER NODE   Network Node c-api ovn-nb l3-agent ovsdb_server ovs_vswitchd ... n-api dhcp- agent ovn-controller OVS Kernel DP ovn-sb q-svc EXT network MGMT&&CTRL network   COMPUTE NODEs (CNE) c-vol n-cpu ovn-controller   COMPUTE NODEs (OVS Kernel DP) c-vol n-cpu ovs_vswitchd Data network CDP OVS Kernel DP ovn-controller ovsdb_server ovs_vswitchd ovsdb_server

Q & A www.cloudnetengine.com info@cloudnetengine.com Twitter: @cloudnetengine