overview of networking pocs for intel clear containers ...vpp... · overview of networking pocs for...

33
Overview of networking POCs for Intel Clear Containers [email protected] , [email protected]

Upload: others

Post on 20-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Overview of networking POCs for Intel Clear Containers

[email protected], [email protected]

Page 2: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

2

Quick Introduction to Intel® Clear Containers

*Brief* look at some Dataplane Network Technologies:

• DPDK

• VPP*

• SRIO-V

Using VPP, and SRIO-V with Intel Clear Containers

• Demonstration of SRIO-V

• Hands on Lab: playing with VPP and Clear Containers

*Other names and brands may be claimed as the property of others.

Page 3: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Brief overview of intel Clear Containers

3

Page 4: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

docker pull (a few minutes)

docker run (less than 1 sec)

Page 5: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Linux kernel

Storage Network

Process Process Process

namespaces

Memory

namespacesnamespaces

CPU

*Other names and brands may be claimed as the property of others.

Linux* namespace containers

Page 6: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

HARDWARE SECURITY Source: https://medias.monuments-nationaux.fr/var/cmn_inter/storage/images/2/6/0/8/21308062-1-fre-FR/C-0g7UPXkAIV7Gb_block-socialnetwork.jpg

Page 7: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

SOFTWARE SECURITYSource: http://www.adventurebouncecork.ie/wp-content/uploads/2013/04/Crayon-Combi-Front-1280x.jpg

Page 8: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

?

Speed

Security

Page 9: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Linux* kernel

Storage

NetworkProcess Process Process

namespaces

Memory

namespacesnamespaces

CPU

Process

Linux Kernel

Intel® VT-x

namespaces

Process

Linux Kernel

Intel® VT-x

namespaces

Process

Linux Kernel

Intel® VT-x

namespaces

Process

namespaces

Process

Linux Kernel

Intel® VT-x

namespaces

Process

Linux Kernel

Intel® VT-x

namespaces

Process Process Process

namespacesnamespacesnamespaces

Network

*Other names and brands may be claimed as the property of others.

Page 10: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Interesting, so what? Telecommunications and their applicability to Intel Clear Containers

10

Page 11: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

11

Historically a strong place for virtual machines (VMs)Telco usage and requirements tends to favor VMs over containers, at least for the time being.

Reliability: five 9s:

– Computing infrastructure working 99.999% of the time.

Highly customized, optimizations in their workload’s stack, including in kernel.

Use cases aren’t necessarily throw-away, short-lived workloads in the cloud; lower downtime.

Intel Clear Containers provides a unique feature set relative to standard containers.

Page 12: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

12

VNF-1

VNF-2A VNF-2B

VNF-2C

VNF-3

Ingress Egress

endpoint

Page 13: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

13

VM-1

VNF-1

VM-2

VNF-2A

VM-3

VNF-2B

VM-4

VNF-2C

VM-5

VNF-3

Egress Endpoint

Ingress

Page 14: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Why We cannot just use Linux* networkingMotivation for data plane acceleration

14*Other names and brands may be claimed as the property of others.

Page 15: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

64 B packet

1 GB 672 ns

10 GB 67.2 ns

40 GB 16.8 ns

100 GB 6.72 ns

• Process one packet:

• 67.2 ns -- ~201 cycles @ 3 GHz

• Cache:

• L2 / L3 access: 12 cycles / 44 cycles

• Cache hit in other core: 60 cycles

• Memory: ~70 ns: 210 cycles!

Source: https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf

Time budget for processing

Page 16: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

DPDKData Plane Development Kit

16

Page 17: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

rx tx

• Is a framework for fast packet processing.

• Put/get directly to from DMA area to avoid copies using huge pages.

• Works in Poll Mode (no interrupt context switch/latency). Directly poll data from the NIC.

• Uses huge pages to avoid dealing with paging.

*

Page 18: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

VPP*Vector Packet Processing Platform

18

*

*Other names and brands may be claimed as the property of others. Source: http://events.linuxfoundation.org/sites/events/files/slides/fdio%20-%20Universal%20Dataplane.pdf

Page 19: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

19

VPP* quick overview

• Built on a packet processing graph.

• Modular: It is a framework to which you can add your own graph nodes.

• Takes in a vector of packets at a time to amortize the cost of a D-cache miss and mitigates read latency. Nodes optimized to keep I-cache hot.

• All user space - makes use of DPDK.

*Other names and brands may be claimed as the property of others. Source: http://events.linuxfoundation.org/sites/events/files/slides/fdio%20-%20Universal%20Dataplane.pdf

Page 20: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

20

VPP*: Learn more

• https://wiki.fd.io/view/VPP

• Overview, including architecture and performance:

• http://events.linuxfoundation.org/sites/events/files/slides/fdio%20-%20Universal%20Dataplane.pdf

• CNM plugin for Intel Clear Containers:

• https://github.com/clearcontainers/vpp

*Other names and brands may be claimed as the property of others. Source: http://events.linuxfoundation.org/sites/events/files/slides/fdio%20-%20Universal%20Dataplane.pdf

Page 21: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

SRIO-VSingle Root I/O Virtualization

21

Page 22: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

22

SRIO-V

• Extension of PCI specification.

• Allows a device to separate its resources among various PCIe hardware functions.

• Physical function: This is the primary function of the device, which also exposes the SRIO-V capability to the platform.

• Virtual function: Once enabled, this shows up on the host with a BDF, and depending on the devices hardware design, can operate in its own IOMMU group.

• With SRIO-V, you can pass a physical connection directly to a VM, allowing native performance (no virtualization overhead).

Page 23: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

23

SRIO-V: Learn more

• Overview of SRIO-V:

• https://www.intel.sg/content/dam/doc/application-note/pci-sig-sr-iov-primer-sr-iov-technology-paper.pdf

• CNM plugin for Intel Clear Containers:

• https://github.com/clearcontainers/sriov

• Example of using SRIO-V with Intel Clear Containers:

• https://gist.github.com/egernst/b0fd8ec4d9bd5cc323d2d00a0ad1f81c

Page 24: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Putting it ALL together

24

Page 25: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

25

VM-1

VNF-1

VM-2

VNF-2A

VM-3

VNF-2B

VM-4

VNF-2C

VM-5

VNF-3

Egress endpoint

Ingress

Page 26: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

26

VM-4

VNF-2B

vhostuser

qemu

virtio-net

virtio-net

vhostuser

VNF-2C

vhostuser

qemu

virtio-net

virtio-net

VM-3

vhostuser

VM-5

VNF-3

vhostuser

qemu

virtio-net

virtio-net

vhostuser

VM-2

VNF-2A

vhostuser

qemu

virtio-net

virtio-net

vhostuser

VM-1

VNF-1

vhostuser

qemu

virtio-net

virtio-net

vhostuser

Ingress endpoint

Egress endpoint

Page 27: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

2727

VM-1

VNF-1

vhostuser

qemu

virtio-net

virtio-net

VFIO-PCI

SRIOVNIC

VPP L2 XC

VM-2

VNF-1

vhostuser

qemu

virtio-net

virtio-net

vhostuser

VM-3

VNF-1

VFIO-PCI

qemu

virtio-net

virtio-net

vhostuser

SRIOVNIC

VPP L2 XC

Page 28: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

2828

VM-1: VNF-1

vhostuser

qemu

VFIO-PCI

SRIOVNIC

VPP L2 XC

SRIOVNIC

Guest userspace

Guest kernel

PMD PMD

VNF processing

virtio-net

Host kernel

VM-2: VNF-2

vhostuser

qemu

vhostuser

PMD PMD

VNF processing

virtio-net

VM-3: VNF-3

VFIO-PCI

qemu

vhostuser

PMD PMD

VNF processing

virtio-net

virtio-net

virtio-net

virtio-net

VPP L2 XC

Host userspace

Page 29: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

Support in Intel Clear Containers

29

Page 30: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

30

CNM based plugins• OVS-DPDK:

• The plugin creates an OVS bridge on the host system per Docker* network creation.

• Each container added to this network is provided a vhost-user interface. Intel Clear Containers search for this vhost-user socket to identify if special network setup is required.

• VPP*:

• Plugin will add endpoints for the same VPP-based network to the same L2 bridge domain. Intel Clear Containers search for this vhost-user socket to identify if special network setup is required.

• SRIO-V:

• Plugin assumes that VFs are already created on the host and places the VF into the container namespace (this works with runc out of the box).

$ go get github.com/clearcontainers/ovsdpdk

$ go get github.com/clearcontainers/vpp

$ go get github.com/clearcontainers/sriov

*Other names and brands may be claimed as the property of others.

Page 31: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com
Page 32: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com
Page 33: Overview of networking POCs for Intel Clear Containers ...VPP... · Overview of networking POCs for Intel Clear Containers eric.ernst@intel.com, manohar.r.castelino@intel.com

33

Disclaimers

Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

© Intel Corporation