epa & sdn assist enabling high performance vnfs with

17
© ETSI Enabling high performance VNFs with EPA & SDN Assist Mark Beierl (Canonical)

Upload: others

Post on 15-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

Enabling high performance VNFs with EPA & SDN AssistMark Beierl (Canonical)

Page 2: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

EPA (Enhanced Platform Awareness)

● Covers a set of techniques for getting more performance● EPA features include:

○ NUMA node placement○ CPU Pinning○ Huge Pages○ SR-IOV

● OSM supports these since release 0○ Enabled via the NF descriptor

2

Page 3: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

NUMA

● Non-Uniform Memory Access○ Memory is attached to each CPU’s integrated

memory controller○ Memory attached to a memory controller of

another CPU is considered remote○ Remote memory access must use the

Interconnect to read remote memory

3

Server

0

1

Local access

Local access

Interconnect

Preventing a process from moving to a different CPU is called CPU Pinning

Page 4: EPA & SDN Assist Enabling high performance VNFs with

© ETSI 4

Most NFVI/VIMs support CPU Pinning and NUMA Topology Awareness capabilities without any need for configuration.

CPU Pinning: being able to pin a VM to specific CPUs

NUMA Topology Awareness: making the VM aware of the physical CPU topology

CPU Pinning & NUMA Awareness

Page 5: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

Huge Pages

● Linux kernel maps memory in pages (4k) ● 64 GB RAM = 16,777,216 4k pages

○ Mapping of pages to physical RAM addresses happens in the Translation Lookaside Buffer (TLB)

● TLB is subset of all virtual pages● Finding memory that is not in TLB is slow

5

Server

Kernel

64 GB RAM

10 k of data

● Recommendation: Huge Pages○ Changes page size from 4k to something larger○ Can result in memory waste

10 k of data

Page 6: EPA & SDN Assist Enabling high performance VNFs with

© ETSI 6

Memory Huge Pages allows the VNFs to request RAM memory from a special pool where page sizes are bigger, enabling better performance.

Enabling/changing Huge Pages require a node reload, and the NFVI servers to allocate a new memory pool with bigger pages, this will not allow VMs set with normal pages to use this new pool, so it should be limited.

Memory Huge Pages

Page 7: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

SR-IOV

● Hypervisor must maintain map of which VM sent which packet so response goes to correct VM

7

BIOS

Hypervisor

VM VM VM VM

● Single Root I/O Virtualization○ Allows device to appear to be multiple separate

physical PCIe devices■ Physical Function (PF) - the primary function of the device■ Virtual Function (VF) - associated with PF, shares physical

resources of device○ Bypasses map so lookup is not necessary

VF1 VF2

Page 8: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

SR-IOV

8

SR-IOV allows VNFs to have direct access to a virtualized PCI of a NIC, thus giving it better throughput.

Enabling SR-IOV requires a node reload for reconfiguration of the IOMMU virtualization mode. It also requires physical interfaces to be dedicated to this feature.

SDSC Early SR-IOV results

Page 9: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

OSM and EPA

● OSM supports EPA enablement in Descriptors● However

○ OSM does not change OpenStack server configuration○ SR-IOV must already be enabled in the compute node○ Huge pages must be enabled in the compute node○ Descriptor must be made aware of NUMA topology○ OSM does not know:

■ Number of Numa Nodes■ Number of CPU cores■ Number of CPUs/threads per core

● All this must be known before launching a service

9

Page 10: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

SDN Assist

● SDN Controller○ Separates the network control functions from forwarding functions○ Creates overlays that exist on top of physical network○ Manages flow control of switches “under” the overlay

● OSM currently supports:○ Arista Cloudvision○ Floodlight OpenFlow○ Juniper Contrail○ OpenDaylight (ODL) OpenFlow○ ONOS (OpenFlow or VPLS)

10

Page 11: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

Using Virtual Interfaces (VIRTIO)

11

Server 01

SW01

Server 02 Server 03

SW02 SW03

SW99

vSwitch vSwitch vSwitch

VM1

VM2

VM3 VM4

vSwitches like OVS have limited performance (~1Gbps), unless OVS-DPDK or similar techniques are used (~10Gbps)

VXLAN Tunnels (controlled by the VIM)

Physical interfaces used for transporting “tunnels” only require IP connectivity

Page 12: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

Using Physical Interfaces (SR-IOV/PASSTHROUGH)

12

Server 01

SW01

Server 02 Server 03

SW02 SW03

SW99

VM1

VM2

VM3 VM4

SR-IOV and Passthrough features expose the instance directly to the physical NIC, so who takes care of the end-to-end connectivity?

????

Page 13: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

SDN Assist

1. OSM orchestrates SR-IOV or Passthrough

→ Proper assignment of I/O physical interfaces to the VM (PFs or VFs = Physical or Virtual Functions)

1. OSM SDN Assist gives the ability to create L2 connections between VFs

• Interconnecting VMs

• Attaching external traffic sources

13

RO

dpid

SDN Controller

OpenStack

OF flowsopenflow

mapping mapping

API

router

computenode

computenode

Page 14: EPA & SDN Assist Enabling high performance VNFs with

© ETSI 14

Server 01

SW01

Server 02 Server 03

SW02 SW03

SW99

VM1

VM2

VM3 VM4

OSM’s SDN Assist feature takes care of the “underlay” connectivity whenever it sees VLDs with SR-IOV or PASSTHROUGH ports that need to connect between each other.

VXLAN, OpenFlow, VLAN, etc.(depends on the SDN Controller or Manager)

SDN Assist

SDN Controller or Config Manager plugins*

* Supported as of REL7.1.0 → ONOS, Arista, Open Daylight and Floodlight

Page 15: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

OSM and SDN Assist

● Like EPA, OSM does not manage SDN Controller or OpenStack○ Compatible SDNC must be installed○ Must be reachable from OSM

● Some plugins need additional information○ Port mapping files for PCI ports

● VIM account must have admin privileges○ Needs get PCI information

15

Page 16: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

EPA in our Network Service

In our example, we can configure the S1 data interface, currently using VIRTIO drivers (OVS/VxLAN) to use SR-IOV instead. We can also set the descriptor to request CPU Pinning, memory Huge Pages, and stick the VDUs to a single NUMA node. Today in OSM, all these optimizations are applied automatically when selecting SR-IOV in one of the interfaces, in order to match the packet processing capabilities that the direct connection to the NIC will allow for.

16

Magma EPC Network Slice 1

EPC NSEPC Manager NS

Magma AGW + Tester (VNF)vEPC Element Manager (KNF)

vEPC (VDU)Generic eNodeB

+UE emulator(VDU)

Physical Router (PNF)

Web Cache KNF / Internet

SGi interface

S1 interface

management

Physical Switches (Data Plane)

Orc8r

AGWguihssmetrics

control plane KDUs

Page 17: EPA & SDN Assist Enabling high performance VNFs with

© ETSI

Find us at:osm.etsi.org

osm.etsi.org/wikipub