Network Functions Virtualization on top of Xen



Similar documents
ClickOS and the Art of Network Function Virtualization

Chapter 5 Cloud Resource Virtualization

Full and Para Virtualization

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

Flow processing and the rise of the middle.

Small is Better: Avoiding Latency Traps in Virtualized DataCenters

Chapter 14 Virtual Machines

Virtual Switching Without a Hypervisor for a More Secure Cloud

Container-based Network Function Virtualization for Software-Defined Networks

Virtual Networks: Isolation, Performance, and Trends

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization, SDN and NFV

In-Net : In-Network Processing for the Masses

How To Compare Performance Of A Router On A Hypervisor On A Linux Virtualbox 2.5 (Xen) To A Virtualbox (Xeen) Xen-Virtualization (X

Enterprise-Class Virtualization with Open Source Technologies

RCL: Design and Open Specification

Securing Your Cloud with Xen Project s Advanced Security Features

Performance of Network Virtualization in Cloud Computing Infrastructures: The OpenStack Case.

Cloud Computing CS

Networking for Caribbean Development

Windows Server 2012 Hyper-V Virtual Switch Extension Software UNIVERGE PF1000 Overview. IT Network Global Solutions Division UNIVERGE Support Center

Virtualization for Cloud Computing

SDN Architecture and Service Trend

Solving I/O Bottlenecks to Enable Superior Cloud Efficiency

Network performance in virtual infrastructures

A Fine-grained VM Access Control Framework for Secure Collaboration. NEC Common Platform Software Res. Labs. Takayuki Sasaki

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

Superfluidity: A Superfluid, Cloud-Native, Converged Edge System

High-performance vnic framework for hypervisor-based NFV with userspace vswitch Yoshihiro Nakajima, Hitoshi Masutani, Hirokazu Takahashi NTT Labs.

Outline. Why Neutron? What is Neutron? API Abstractions Plugin Architecture

Technology and Trends in Network Virtualization

IxChariot Virtualization Performance Test Plan

An Oracle Technical White Paper November Oracle Solaris 11 Network Virtualization and Network Resource Management

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

VM-Series Firewall Deployment Tech Note PAN-OS 5.0

Enabling Technologies for Distributed and Cloud Computing

Bridging the Gap between Software and Hardware Techniques for I/O Virtualization

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Performance Testing of an IAAS Cloud Software (A CloudStack Use Case)

Open Source Tools & Platforms

RCL: Software Prototype

Network Virtualization for Large-Scale Data Centers

Achieving a High-Performance Virtual Network Infrastructure with PLUMgrid IO Visor & Mellanox ConnectX -3 Pro

Definition of a White Box. Benefits of White Boxes

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

Solving the Hypervisor Network I/O Bottleneck Solarflare Virtualization Acceleration

A B S T R A C T I. INTRODUCTION

Future Network Virtual Router & Overlay Network. Sueng-Yong Park Dept. of Electronic Engineering Yonsei Univ.

Performance Analysis of Large Receive Offload in a Xen Virtualized System

Enabling Technologies for Distributed Computing

Performance Implications of Hosting Enterprise Telephony Applications on Virtualized Multi-Core Platforms

CloudLink - The On-Ramp to the Cloud Security, Management and Performance Optimization for Multi-Tenant Private and Public Clouds

Evaluation and Characterization of NFV Infrastructure Solutions on HP Server Platforms

Virtualization for Future Internet

Accelerating 4G Network Performance

PLUMgrid Open Networking Suite Service Insertion Architecture

Performance tuning Xen

Application-Centric WLAN. Rob Mellencamp

Frequently Asked Questions

Xen and the Art of Virtualization

COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service

2972 Linux Options and Best Practices for Scaleup Virtualization

PANDORA FMS NETWORK DEVICES MONITORING

Data Center Virtualization and Cloud QA Expertise

The Xen of Virtualization

WHITE PAPER. How To Compare Virtual Devices (NFV) vs Hardware Devices: Testing VNF Performance

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

Secure Cloud Computing with a Virtualized Network Infrastructure

Xen and the Art of. Virtualization. Ian Pratt

Date: December 2009 Version: 1.0. How Does Xen Work?

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

A Case for Overlays in DCN Virtualization Katherine Barabash, Rami Cohen, David Hadas, Vinit Jain, Renato Recio and Benny Rochwerger IBM

HAWAII TECH TALK SDN. Paul Deakin Field Systems Engineer

Virtual Machine Security

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

SDN software switch Lagopus and NFV enabled software node

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Cisco Prime Network Services Controller. Sonali Kalje Sr. Product Manager Cloud and Virtualization, Cisco Systems

Network Performance Comparison of Multiple Virtual Machines

Ethernet-based Software Defined Network (SDN) Cloud Computing Research Center for Mobile Applications (CCMA), ITRI 雲 端 運 算 行 動 應 用 研 究 中 心

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology

Performance Analysis of Network I/O Workloads in Virtualized Data Centers

PANDORA FMS NETWORK DEVICE MONITORING

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

State of the Art Cloud Infrastructure

CIVSched: A Communication-aware Inter-VM Scheduling Technique for Decreased Network Latency between Co-located VMs

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

Broadcom Ethernet Network Controller Enhanced Virtualization Functionality

Scaling Cloud Storage. Julian Chesterfield Storage & Virtualization Architect

Getting More Performance and Efficiency in the Application Delivery Network

Cloud Operating Systems for Servers

Use Cases for the NPS the Revolutionary C-Programmable 7-Layer Network Processor. Sandeep Shah Director, Systems Architecture EZchip

Virtualization Technology

Accelerating Network Virtualization Overlays with QLogic Intelligent Ethernet Adapters

High Performance OpenStack Cloud. Eli Karpilovski Cloud Advisory Council Chairman

Chapter 3. Internet Applications and Network Programming

OpenNebula Open Souce Solution for DC Virtualization. C12G Labs. Online Webinar

XenLoop: A Transparent High Performance Inter-VM Network Loopback

DPDK Summit 2014 DPDK in a Virtual World

Transcription:

Network Functions Virtualization on top of Xen Joao Martins*, Mohamed Ahmed*, Felipe Huici*, Costin Raiciu, Vladimir Olteanu, Michio Honda*, Roberto Bifulco*, Simon Kuenzer* * NEC Europe Ltd., Heidelberg, Germany University Politehnica of Bucharest

Agenda Introduction & Motivation Middleboxes and Network Functions Virtualization Introducing ClickOS ClickOS Click: The Click Modular Router Mini-OS Xen ClickOS on Xen Optimizations Network performance (to achieve 10Gb/s) Click processing performance Management tools (influences boot time) Page 2

Agenda Probing ClickOS ClickOS in Comparison Middlebox Application Examples and their Performance Scaling out ClickOS Concurrent Transmit VMs Multiple NICs/VMs Conclusion & Future Work Q&A Page 3

Network Functions Virtualization on top of Xen Introduction & Motivation Page 4

The Middleboxes World ad insertion WAN accelerator BRAS carrier-grade NAT transcoder session border controller IDS DDoS protection load balancer firewall QoE monitor DPI Page 5

Middleboxes Middleboxes are an intrinsic and fundamental part of today s networks But come with their problems: Expensive (specialized hardware) Difficult to Manage Extend/Upgrade (Introducing new features often means deploying new hardware) Cannot be scaled with demand Hard for new players to enter the market Page 6

Network Function Virtualization and Middleboxes Virtualized Software Middleboxes Address these issues of specialized hardware Middleboxes Enable a number of scenarios: Replace existing expensive Middleboxes Shift functionality into the cloud on demand Shift functionality close to consumer (e.g., mobile users) Scaling with demand (e.g., instantiate and migrate with demand) Re-programm SDN s data plane Virtualization can shift software Middlebox processing to multi-tenant platforms Open Question: Can it be built using commodity hardware while still fulfilling the high performance requirements? Page 7

Requirements of Network Function Virtualization Requirements for such virtualized Middleboxes Isolation (e.g., multi-tenants on common hardware, feature-testing) Performance Security High Throughput, Low Delay Scalability Quickly instantiable (in order to scale with demand) Consolidation Tiny (small memory footprint) (in order to be able to increase number of Middleboxes running concurrently on a single server) Easy to deploy functionality as needed; Programmable Page 8

Network Functions Virtualization on top of Xen Introducing ClickOS Page 9

ClickOS We created ClickOS A prototype for programmable middlebox VMs Tiny VM that runs Click configurations Varied range of Middlebox configurations possible Can achieve 10Gb/s throughput using only a single core Page 10

Click ClickOS: Click and Mini-OS ClickOS is a minimalistic and specialized VM that loads and runs Click configurations Click OS netfront Mini-OS Page 11

Click: The Click Modular Router Click is a modular architecture for horizontal packet processing Concept of elements An element represents basic functionality (e.g., queue, classifier) Each element has inputs and outputs Elements are configurable, parametrable Elements in- and outputs are connected together (graph) in order to create a network function IP Router NAT DNS Proxy IDS Page 12

Mini-OS Minimalistic Operating System Provided by the Xen community Originally demonstrates para-virtualizated interfaces/drivers of the Xen hypervisor Is executed as a para-virtualized guest domain on Xen netfront Mini-OS Minimalistic VM HV interface (even no hw-virtualization support is required) Simple monolithic OS design low overhead Single address space (no system calls) Simple co-operative scheduler We run Click directly within a Mini-OS container Page 13

Xen Primer Xen is a Type-1 hypervisor Dom0 DomU DomU Applications Applications Applications... Guest OS Dom0 interface Dom0 Guest is a privileged OS domain (=VM) that creates/destroys/manages guests Guest OS Xen hypervisor Hardware Page 14

Xen: Split-driver model Xen implements the split-driver model Actually device driver is operated by a driver domain (this is usually Dom0) Its functionality is provided to guests via a generic backend interface Guests only need to implement a generic frontend driver (e.g., network, block, console) backend Shared memory frontend Driver Domain Guest Domain Xen hypervisor Page 15

NIC drv bridge netback Click Click Click The Final Picture: ClickOS on Xen Example: 3 ClickOS instances CLI Xen store netfront netfront netfront Dom0 Mini-OS Mini-OS Mini-OS Xen hypervisor NIC Page 16

Network Functions Virtualization on top of Xen Optimizations Page 17

Reasons for Optimizations Mini-OS s implementation was mainly just functional After sticking all pieces together (Click, Mini-OS, Xen) we observed poor performance Performance improvements on Xen I/O Subsystem & Mini-OS Click Management Tools (introduced cosmos ) Page 18

Bottlenecks in Xen s I/O Subsystem NIC driver Linux/OVS bridge netback Xen bus/store netfront Click vif Event channel FromNetfront ToNetfront Xen ring API (data) Dom0 ClickOS 300 Kp/s 350 Kp/s 225 Kp/s Packet size (bytes) 10Gb/s line rate 64 14.8 Mp/s 128 8.4 Mp/s 256 4.5 Mp/s 512 2.3 Mp/s 1024 1.2 Mp/s 1500 810 Kp/s Page 19

Improving Xen s I/O Subsystem NIC driver Linux/OVS bridge netback Xen bus/store netfront Click vif Event channel FromNetfront ToNetfront Xen ring API (data) Dom0 ClickOS Page 20

Improving Xen s I/O Subsystem NIC driver VALE netback Xen bus/store netfront Click Event channel FromNetfront Netmap API (data) ToNetfront Dom0 ClickOS Page 21

Resulting Mini-OS Base Performance pkt-gen as Mini-OS application Single-core, single VM performance Transmitting Receiving Page 22

Improving Click s Performance First ClickOS implementation could only generate 560Kp/s InfiniteSource UDPIPEncap EtherEncap A number of optimizations: 1. Inherent problem: Click forces packets to be copied when not needed» Solution: do not copy packet for modification when only one entity has a reference to the packet (lazy copy) 2. Increate burst parameter to minimize Click scheduler overhead 3. Allocate larger head room so that no further allocations are needed once a packet is created Applying these results in 13.2 Mp/s Together with our optimized netfront we are able to achieve 10Gb/s line rate for almost all packet sizes Page 23

Resulting ClickOS Base Performance Simple Click configurations to generate/receive traffic Single-core, single-vm performance Transmitting Receiving Page 24

Management Tools First tests yielded ClickOS boot times of ~1 sec Carried out a number of changes Using new XenStore implementation (oxenstore) Using own management tool, called cosmos instead of xl/xm (together with a wrapper in python to load click configurations) to create/destroy/manage ClickOS guests Page 25

Boot time of 400 VMs VM Boot time: Time between VM creation until Click control thread runs Mbox Boot Time: Time to instantiate a click configuration within the VM 220 milliseconds 30 milliseconds Page 26

Network Functions Virtualization on top of Xen Probing ClickOS Page 27

ClickOS in Comparison Here: ICMP Ping response (RTT); measured from external Box Page 28

Middlebox Application Examples and their Performance Packet size (bytes) 10Gb/s line rate 64 14.8 Mp/s 128 8.4 Mp/s 256 4.5 Mp/s 512 2.3 Mp/s 1024 1.2 Mp/s 1500 810 Kp/s Page 29

Middlebox Application Examples and their Performance Packet size (bytes) 10Gb/s line rate 64 14.8 Mp/s 128 8.4 Mp/s 256 4.5 Mp/s 512 2.3 Mp/s 1024 1.2 Mp/s 1500 810 Kp/s Baseline: Simple Forwarding (like repeater) Page 30

Scaling out ClickOS: Concurrent Transmit VMs Cumulative throughput: Multiple VMs generate traffic to a single NIC Numbers on top of bars show standard deviation between VMs Page 31

Scaling out ClickOS: Multiple NICs/VMs Cumulative throughput by using multiple 10 GB/s ports (1 port per VM) Page 32

Conclusion & Future Work Presented ClickOS Tiny (5MB) Xen VM tailored at network processing Can be booted in 30 milliseconds Can run a large number of ClickOS VMs concurrently (~ 100) Can achieve 10Gb/s throughput using only a single core. Can run a varied range of Middleboxes with high throughput Future Work Improving performance on NUMA systems High consolidation of ClickOS VMs (thousands) Service chaining Page 33

Q&A

ClickOS under Stress Here: ICMP Ping response (RTT); measured from external Box ~ 300 µs ~ 45 µs Page 35

Utilizing XenStore to Manage Click Configurations Install/Uninstall Middlebox functionality Control thread creates a new entry in the XenStore (e.g., /local/domain/<domid>/clickos/config) Control thread sets up a watch on that entry When written to, control thread creates a new mini-os thread to run the main Click loop (i.e., the data plane) Uninstall by writing empty string to Xenstore entry Read/Write handlers New, transparent ClickOSControl element Intermediary between CLI/API and elements read/write handlers Page 36

XenStore Performance Reduced XenStore read/write delay by using C libraries (via cosmos) instead of python bindings ~ 10 ms ~ 0,3 ms ~ 0,1 ms Page 37

Back-End Switch Performance (VALE) Page 38