SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Additional
DPDK Theory
Network Platforms Group
TRANSFORMING NETWORKING & STORAGE
2
Legal Disclaimer
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND
CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A
PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND
HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR
INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL
PRODUCT OR ANY OF ITS PARTS.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no
responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm%20 Performance tests and ratings are measured using specific computer
systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate
the performance of systems or components they are considering purchasing. For more information on performance tests and on the performance of Intel products, visit Intel Performance Benchmark Limitations
All products, computer systems, dates and figures specified are preliminary based on current expectations, and are subject to change without notice.
Celeron, Intel, Intel logo, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel SpeedStep, Intel XScale, Itanium, Pentium, Pentium Inside, VTune, Xeon, and Xeon Inside are trademarks or registered trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
Intel® Active Management Technology requires the platform to have an Intel® AMT-enabled chipset, network hardware and software, as well as connection with a power source and a corporate network connection. With regard to notebooks, Intel AMT may not be available or certain
capabilities may be limited over a host OS-based VPN or when connecting wirelessly, on battery power, sleeping, hibernating or powered off. For more information, see http://www.intel.com/technology/iamt.
64-bit computing on Intel architecture requires a computer system with a processor, chipset, BIOS, operating system, device drivers and applications enabled for Intel® 64 architecture. Performance will vary depending on your hardware and software configurations. Consult with your
system vendor for more information.
No computer system can provide absolute security under all conditions. Intel® Trusted Execution Technology is a security technology under development by Intel and requires for operation a computer system with Intel® Virtualization Technology, an Intel Trusted Execution Technology-
enabled processor, chipset, BIOS, Authenticated Code Modules, and an Intel or other compatible measured virtual machine monitor. In addition, Intel Trusted Execution Technology requires the system to contain a TPMv1.2 as defined by the Trusted Computing Group and specific
software for some uses. See http://www.intel.com/technology/security/ for more information.
†Hyper-Threading Technology (HT Technology) requires a computer system with an Intel® Pentium® 4 Processor supporting HT Technology and an HT Technology-enabled chipset, BIOS, and operating system. Performance will vary depending on the specific hardware and software you
use. See www.intel.com/products/ht/hyperthreading_more.htm for more information including details on which processors support HT Technology.
Intel® Virtualization Technology requires a computer system with an enabled Intel® processor, BIOS, virtual machine monitor (VMM) and, for some uses, certain platform software enabled for it. Functionality, performance or other benefits will vary depending on hardware and software
configurations and may require a BIOS update. Software applications may not be compatible with all operating systems. Please check with your application vendor.
* Other names and brands may be claimed as the property of others.
Other vendors are listed by Intel as a convenience to Intel's general customer base, but Intel does not make any representations or warranties whatsoever regarding quality, reliability, functionality, or compatibility of these devices. This list and/or these devices may be subject to
change without notice.
Copyright © 2015, Intel Corporation. All rights reserved.
TRANSFORMING NETWORKING & STORAGE
3
Topics
• DPDK Libraries introduction
• DPDK Sample Applications
• Load Balancing, packet scheduler libraries, packet distributor
• Packet generating tools
• DPDK virtualisation
TRANSFORMING NETWORKING & STORAGE
4
DPDK Libraries
TRANSFORMING NETWORKING & STORAGE
5
What is DPDK?
Short Answer:
The DPDK is a set of software libraries designed for high-
speed packet processing
TRANSFORMING NETWORKING & STORAGE
6
Data Plane Development Kit
• Libraries for network application development
on Intel Platforms
• Speeds up networking functions
• Enables user space application development
• Facilitates both run-to-completion and pipeline
models
• Free, Open-sourced, BSD Licensed
• Git: http://dpdk.org/git/dpdk
• Scales from Intel Atom to multi-socket Intel
Xeon architecture platforms and other
architectures
• About two dozen pre-built example
applications
EAL
MALLOC
MBUF
MEMPOO
L
RING
TIMER
Core
Libraries
KNI
POWER
IVSHMEM
Platform
LPM
EXACT
MATCH
ACL
Classify
E1000
IXGBE
VMXNET3
IGB
I40e
VIRTIO
Packet Access
(PMD – Native & Virtual)
ETHDEV
XENVIRT
PCAP
RING
METER
SCHED
QoS
Intel® DPDK Sample
Applications
Linux Kernel
User Space
KNI IGB_UIO
Customer Applications
ISV Eco-System
Applications
3rd Party
NIC
TRANSFORMING NETWORKING & STORAGE
7
DPDK Libraries and Drivers
Poll Mode Drivers: DPDK includes Poll Mode Drivers for multiple Ethernet controllers which are
designed to work without asynchronous, interrupt-based signaling mechanisms, which greatly speeds
up the packet pipeline. Different Virtual interfaces supported as well – virtio, user space vHost, pcap,
shared memory, etc.
Memory Manager: Responsible for allocating objects in memory. Can provide memory blocks and
object pools in huge page memory. It also provides an alignment helper to ensure that objects are
padded to spread them equally on all DRAM channels.
Buffer Manager: Reduces by a significant amount the time the operating system spends allocating and
de-allocating buffers. DPDK pre-allocates fixed size buffers which are stored in memory pools.
Queue Manager: Implements safe lockless queues, instead of using spinlocks, that allow different
software components to process packets, while avoiding unnecessary wait times.
Flow Classification: Provides an efficient mechanism to produce a hash based on tuple information so
that packets may be placed into flows quickly for processing, thus greatly improving throughput.
TRANSFORMING NETWORKING & STORAGE
8
The libraries/components (1)
Library
librte_eal Environment Abstraction Layer. Meant to hide system/OS specifics from
“common” upper layers
librte_malloc rte_malloc() - replacement for malloc(). Allows allocation of data structures
backed by huge pages
librte_mempool
librte_mbuf
Memory management: DPDK buffer pool management and packet buffer
implementations
librte_ring High speed ring for inter-core/process pointer passing
librte_timer Timer routines
librte_lpm Accelerated longest prefix match
librte_hash Hash driven key-value exact match for tuple matching
librte_acl Accelerated implementation of an Access Control List
TRANSFORMING NETWORKING & STORAGE
9
The libraries/components (2)
Library
librte_meter Meter/mark library: Implements srTCM (RFC 2697) and trTCM RFC 2698)
librte_sched Hierarchical traffic shaper in software
librte_pmd* Packet Access “Poll” mode drivers
librte_ether Generic Ethernet device abstraction – the DPDK PMD API
librte_cmdline Command line parser library
librte_distributor A work queue distributor
librte_power Power management primitives
librte_ivshmem Shared memory implementation for inter-VM communication
KNI, librte_kni Kernel Network Interface – implements a kernel netdev for passing packets into
the kernel from DPDK
TRANSFORMING NETWORKING & STORAGE
10
DPDK Sample Applications
TRANSFORMING NETWORKING & STORAGE
11
Build with Intel® DPDK
Provided Sample Applications
Test PMD
CLI
Core
Cmpnts
L2 Fwd
IPv4
Reass
IPv4
M’Cast
IPv4 Frag
Link
Status
QAT
Hello
World
Linux
Excptn
Path
Multi-
Process
Load
Balancing
Quota &
W’marks
QoS
Metering
QoS
Schdling
Green L3
Fwd
Virt L3
Fwd
IPv6 L3
Fwd
IPv4 L3
Fwd
KNI
VLAN-
based
Filtering
VMDq
Timer
DPDK
• About two-dozen pre-
built sample applications
• Provide a great jump start
for accelerating
workloads with DPDK
TRANSFORMING NETWORKING & STORAGE
12
Build with Intel® DPDK
Provided Sample Applications
• Test PMD application
• Support for a variety of PMD driver cases
• Support for Flow Director provided in the Intel® 82599 10 Gigabit Ethernet Controller
• Test application
• Support for core component tests
• Sample applications
• Command Line
• Exception Path (into Linux* for packets using the Linux TUN/TAP driver)
• Hello World
• Integration with Intel® Quick Assist Technology drivers 1.0.0 and 1.0.1 on Intel®
Communications Chipset 89xx Series C0 and C1 silicon.
• Link Status Interrupt (Ethernet* Link Status Detection
• IPv4 Fragmentation
• IPv4 Multicast
• IPv4 Reassembly
• L2 Forwarding (supports virtualized and non-virtualized environments)
TRANSFORMING NETWORKING & STORAGE
13
Build with Intel® DPDK
Provided Sample Applications
• L3 Forwarding (IPv4 and IPv6)
• L3 Forwarding in a Virtualized Environment
• L3 Forwarding with Power Management
• QoS Scheduling
• QoS Metering + Dropper
• Quota & Watermarks
• Load Balancing
• Multi-process
• Timer
• VMDQ and DCB L2 Forwarding
• Support VMDq for 1 GbE and 10 GbE NICs to demonstrate VLAN-based packet filtering
• Kernel NIC Interface (with ethtool support)
• Multi-process example using fork() to demonstrate application resiliency and recovery,
including reattachment to and re-initialization of shared data structures where
necessary
TRANSFORMING NETWORKING & STORAGE
14
DPDK Skeleton App: basefwd
Initialization
• Initialize memory zones and pools
• Initialize devices and device queues
• Start the packet forwarding application
Packet Reception (RX)
• Poll devices’ RX queues and receive packets in bursts
• Allocate new RX buffers from per queue memory pools
to stuff into descriptors
Packet Transmission (TX)
• Transmit the received packets from RX
• Free the buffers used to store the packets to send
TRANSFORMING NETWORKING & STORAGE
15
DPDK Skeleton APP pseudo code
int main(int argc, char **argv)
{
rte_eal_init(argc, argv); // initialize EAL
rte_mempool_create(...); // buffers preallocation (NUMA aware)
... // initialize ports
rte_eth_dev_configure(port_id, 1, 1, &port_conf);
rte_eth_rx_queue_setup(port_id, queue, ...);
rte_eth_tx_queue_setup(port_id, queue, ...);
...
rte_eth_dev_start(portid);
rte_eth_promiscuous_enable(portid);
for(;;) {
nb_rx = rte_eth_rx_burst(portid, queue, packets, MAX_PKT_BURST); // poll port
...
rte_eth_tx_burst(portid, queue, packets, nb_rx); // send to port
}
}
TRANSFORMING NETWORKING & STORAGE
16
Packet Distributor Sample Application
TRANSFORMING NETWORKING & STORAGE
17
Problem Definition
 Packet Distribution
How to distribute packet flows
across queues
Packet Distributor
• Directing flows to queues
 Load Balancing
How achieve an even
balance of load on each core.
Load Balancing
• Even distribution of workload across
cores
INTEL CONFIDENTIAL
Rx Port Classifier
Queue 1
Queue 2
Queue 3
Queue n
Queue 4
Rx Port
Hash
60% 95% 5%99%
Sched
uler
Rx Port
65% 65% 65%65%
TRANSFORMING NETWORKING & STORAGE
18
• Manage 10G
• Per Packet processing
• Load Aware
• Run to complete
• Flow affinity
• In order
• Sample App
• Any Hash
• TX coalescing
• QoS - N
Statistical Averaging
DPDK In- order distributor achieves balancing
INTEL CONFIDENTIAL
Hash
60% 95% 5%99%
Rx Port
Sched
uler
Rx Port
65% 65% 65%65%
TRANSFORMING NETWORKING & STORAGE
19
In Order Packet Distributor
New Intel® DPDK component usable in packet pipeline
Works with each packet individually
APIs to distribute a set of packets, used by the “distributor core”
APIs to request packets, used by the “worker cores”
Collect returned packets (or NULL) and coalesce for forwarding
In order processing within a flow, identified by a tag
DPDK run to complete target architecture
Statistical balancing over N flows >> Workers
TAG can be any Hash, Sample APP uses NIC RSS for example
Distributor
Worker
Worker
Worker
Worker
Worker
Tags in use
Input
Set
Tag
RX
Input Q Coalesce
TRANSFORMING NETWORKING & STORAGE
20
Distributor Logic
RX
Current
Flow in Worker
Queue
For Core
Free
Worker
N
N Send
To Core
Q < Max
N
Max is 8
Y Y
TRANSFORMING NETWORKING & STORAGE
21
DPDK 2.0
DPDK Packet Re-Order
TRANSFORMING NETWORKING & STORAGE
22
DPDK 2.0 – Packet Re-ordering Feature
DPDK Packet Distributor unchanged since 1.7
Packet Re-ordering library and sample app new to 2.0
• Standalone sample application
• Out of order packet processing on multiple cores
• Improved performance on Packet Distributor application
TRANSFORMING NETWORKING & STORAGE
23
DPDK Packet Re-order
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Worker
Rx
Single Consumer
Multi Producer
Queue
Multi Producer
Single Consumer
Queue
Reorder
& Tx
TRANSFORMING NETWORKING & STORAGE
24
DPDK Packet Re-order
Still a prototype – further investigation in progress
• Need to further optimise
No Hash value (e.g. RSS) used here (unlike Packet
Distributor).
Flows are mixed – absolute sequence # for reordering
Prioritisation – not implemented in sample app
• Could implement with multiple queues on ingress side
TRANSFORMING NETWORKING & STORAGE
25
DPDK Packet Re-order
Library – reorder block
• API – insert packet, drain packet
Currently, only 1 reorder buffer
• Multiple buffers require more complex logic
• It could be feasible, but not implemented (or prototyped)
at this point.
• Would be application responsibility – no plans to put in
library
TRANSFORMING NETWORKING & STORAGE
26
Load Distribution Summary
Packet Distributor component
Can achieve balancing due to statistical behaviour of traffic
Single packet at a time, run to complete model
Supports flow affinity
Packet distributor has a set of defined behaviors, usage model
by workers can vary
DPDK 2.0 allow random allocation of packets and re-ordering
using Packet Re-order sample app.
Packet Re-order works on batches of packets.
TRANSFORMING NETWORKING & STORAGE
27
DPDK-based Packet Generators
Generate traffic without need for dedicated HW
TRANSFORMING NETWORKING & STORAGE
28
SW Packet Generators
Linux:
• pktgen: Linux packet generator is a tool to generate packets at high speed in the
kernel (limited by Linux kernel capability)
• Netperf: benchmarkng tool for measuring networking performance (UDP/TCP)
DPDK based:
• MoonGen: fully scriptable high-speed packet generator built on DPDK and LuaJIT
https://github.com/emmericp/MoonGen
• Oscinato: https://code.google.com/p/ostinato/
DPDK accelerated: http://www.slideshare.net/pstavirs/dpdk-accelerated-ostinato
• DPPD v017: https://01.org/intel-data-plane-performance-demonstrators/downloads
• pktgen-dpdk: traffic generator http://dpdk.org/browse/apps/pktgen-dpdk
TRANSFORMING NETWORKING & STORAGE
29
Pktgen-dpdk
• It is capable of generating 10Gbit wire rate traffic with 64 byte frames.
• It can act as a transmitter or receiver at line rate.
• It has a runtime environment to configure, and start and stop traffic flows.
• It can display real time metrics for a number of ports.
• It can generate packets in sequence by iterating source or destination MAC, IP
addresses or ports.
• It can handle packets with UDP, TCP, ARP, ICMP, GRE, MPLS and Queue-in-Queue.
• It can be controlled remotely over a TCP connection.
• It is configurable via Lua and can run command scripts to set up repeatable test
cases.
• The software is fully available under a BSD licence.
TRANSFORMING NETWORKING & STORAGE
30
Pktgen-dpdk (continued)
• Pktgen-dpdk is freely available on www.dpdk.org
• Instructions are provided with the package
• Just a DPDK application
• Can be used on virtual or physical network devices – like DPDK
• More info at http://pktgen.readthedocs.org/en/latest/
Used in the hands on sessions in this course
TRANSFORMING NETWORKING & STORAGE
31
Pktgen-dpdk (continued)
• By default
pktgen if
configured
with two
ports will
send packets
from port 0
to port 1 –
easy way to
test
performance
pktgen-dpdk
running in a VM
with CentOS 7 on
top of VirtualBox on
a laptop
TRANSFORMING NETWORKING & STORAGE
32
DPDK - Virtualisation
TRANSFORMING NETWORKING & STORAGE
33
Intel® DPDK Virtualization Architecture
NFV requires fast VM-to-VM
communication:
• L2 Switching – Support Traffic
Mirroring (Pool, VLAN, Uplink
and Downlink) between VMs
using Niantic
• Virtio PMD with Userspace
vhost back-end
• IVSHM support
Virtual Machine Monitor
(VMM)
Virtual Machine (VM)
Intel® Architecture
Shared
Memory
(IVSHM)
Intel® DPDK
10 GbE 82599 (SRIOV)
L2 Switch
vHost-net
user
kernel
VF Virtio ivshme1000
1
2
VT-d
Virtual Machine (VM)
Intel® DPDK
VF Virtio ivshme1000
Virtual Switch
Intel®
DPDK PF
3
VF VF PF
1
2
3
TRANSFORMING NETWORKING & STORAGE
34
SR-IOV
• Single Root I/O Virtualisation
• Enables sharing of PCI resource between multiple VMs
• NIC will have Physical Function driver (PF)
• Also, can create multiple Virtual Function drivers (VF)
• Can use PCI pass through to send VFs to guest VMs
• PF can remain on host machine
• VF driver effectively “bypasses” hypervisor
• DPDK supports both PF and VF drivers
• Requires VT-d support
• Be sure to enable in BIOS
TRANSFORMING NETWORKING & STORAGE
35
SR-IOV (continued)
IA CPU
NIC
Linux OS
Kernel space
User space
PF VF VF
Guest VM Guest VM
TRANSFORMING NETWORKING & STORAGE
36
Guest VM
SR-IOV (continued)
IA CPU
NIC
Linux OS
Kernel space
User space
PF
VF
Guest VM
VF
TRANSFORMING NETWORKING & STORAGE
37
SR-IOV with DPDK
• VF passed through to guest VM can be Linux driver
• Same limitations as Linux PF driver
• DPDK has VF driver also
• Same advantages as DPDK PF driver
• DPDK app in guest uses DPDK VF driver
• Try with L2fwd sample application
TRANSFORMING NETWORKING & STORAGE
38
SR-IOV mirroring
Note:
Niantic’s L2 switch is limited to10GbE,
including mirrored traffic
TRANSFORMING NETWORKING & STORAGE
39
Vhost interface
• vhost-net Linux KVM para-virtualised interface on the guest VM
• vhost is the backend to this interface on the host
• Performance was slow – vhost is in Linux kernel
• Context switch between user and kernel space
• vhost userspace implementation
• Combine this with DPDK virtio PMD in guest for best performance
• See DPDK documentation and DPDK VHOST sample application for
more information
3 additional dpdk_theory(1)

Más contenido relacionado

La actualidad más candente

Pci express3-device-architecture-optimizations-idf2009-presentation
Pci express3-device-architecture-optimizations-idf2009-presentationPci express3-device-architecture-optimizations-idf2009-presentation
Pci express3-device-architecture-optimizations-idf2009-presentationjkcontee
 
Network architecture - part-I
Network architecture - part-INetwork architecture - part-I
Network architecture - part-Icsk selva
 
Network Troubleshooting - Part 1
Network Troubleshooting - Part 1Network Troubleshooting - Part 1
Network Troubleshooting - Part 1SolarWinds
 
/proc/irq/&lt;irq>/smp_affinity
/proc/irq/&lt;irq>/smp_affinity/proc/irq/&lt;irq>/smp_affinity
/proc/irq/&lt;irq>/smp_affinityTakuya ASADA
 
DDoS Mitigation Tools and Techniques
DDoS Mitigation Tools and TechniquesDDoS Mitigation Tools and Techniques
DDoS Mitigation Tools and TechniquesBabak Farrokhi
 
How to perform trouble shooting based on counters
How to perform trouble shooting based on countersHow to perform trouble shooting based on counters
How to perform trouble shooting based on countersAbdul Muin
 
Debug dpdk process bottleneck & painpoints
Debug dpdk process bottleneck & painpointsDebug dpdk process bottleneck & painpoints
Debug dpdk process bottleneck & painpointsVipin Varghese
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_FinalGopi Krishnamurthy
 
Device tree support on arm linux
Device tree support on arm linuxDevice tree support on arm linux
Device tree support on arm linuxChih-Min Chao
 
Wireshark
WiresharkWireshark
Wiresharkbtohara
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux FirewallMarian Marinov
 
AMD processors
AMD processorsAMD processors
AMD processorssanthu652
 
MTU (maximum transmission unit) & MRU (maximum receive unit)
MTU (maximum transmission unit) & MRU (maximum receive unit)MTU (maximum transmission unit) & MRU (maximum receive unit)
MTU (maximum transmission unit) & MRU (maximum receive unit)NetProtocol Xpert
 

La actualidad más candente (20)

Pci express3-device-architecture-optimizations-idf2009-presentation
Pci express3-device-architecture-optimizations-idf2009-presentationPci express3-device-architecture-optimizations-idf2009-presentation
Pci express3-device-architecture-optimizations-idf2009-presentation
 
Network architecture - part-I
Network architecture - part-INetwork architecture - part-I
Network architecture - part-I
 
Network Troubleshooting - Part 1
Network Troubleshooting - Part 1Network Troubleshooting - Part 1
Network Troubleshooting - Part 1
 
/proc/irq/&lt;irq>/smp_affinity
/proc/irq/&lt;irq>/smp_affinity/proc/irq/&lt;irq>/smp_affinity
/proc/irq/&lt;irq>/smp_affinity
 
Datacenter overview
Datacenter overviewDatacenter overview
Datacenter overview
 
Network Cabling
Network CablingNetwork Cabling
Network Cabling
 
Userspace networking
Userspace networkingUserspace networking
Userspace networking
 
DDoS Mitigation Tools and Techniques
DDoS Mitigation Tools and TechniquesDDoS Mitigation Tools and Techniques
DDoS Mitigation Tools and Techniques
 
How to perform trouble shooting based on counters
How to perform trouble shooting based on countersHow to perform trouble shooting based on counters
How to perform trouble shooting based on counters
 
Debug dpdk process bottleneck & painpoints
Debug dpdk process bottleneck & painpointsDebug dpdk process bottleneck & painpoints
Debug dpdk process bottleneck & painpoints
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
 
DPDK In Depth
DPDK In DepthDPDK In Depth
DPDK In Depth
 
Character Drivers
Character DriversCharacter Drivers
Character Drivers
 
Device tree support on arm linux
Device tree support on arm linuxDevice tree support on arm linux
Device tree support on arm linux
 
Wireshark
WiresharkWireshark
Wireshark
 
Defending Your "Gold"
Defending Your "Gold"Defending Your "Gold"
Defending Your "Gold"
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewall
 
AMD processors
AMD processorsAMD processors
AMD processors
 
MTU (maximum transmission unit) & MRU (maximum receive unit)
MTU (maximum transmission unit) & MRU (maximum receive unit)MTU (maximum transmission unit) & MRU (maximum receive unit)
MTU (maximum transmission unit) & MRU (maximum receive unit)
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 

Destacado

1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hwvideos
 
4 dpdk roadmap(1)
4 dpdk roadmap(1)4 dpdk roadmap(1)
4 dpdk roadmap(1)videos
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationalevideos
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling toolsvideos
 
2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etcvideos
 
7 hands on
7 hands on7 hands on
7 hands onvideos
 
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel ArchitectureDPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel ArchitectureJim St. Leger
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of serversvideos
 
8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overviewvideos
 
5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Manovideos
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usagevideos
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_trainingvideos
 
Introduction to nfv movilforum
Introduction to nfv   movilforumIntroduction to nfv   movilforum
Introduction to nfv movilforumvideos
 
3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfvvideos
 
Introduction to Open Mano
Introduction to Open ManoIntroduction to Open Mano
Introduction to Open Manovideos
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
 
Dpdk accelerated Ostinato
Dpdk accelerated OstinatoDpdk accelerated Ostinato
Dpdk accelerated Ostinatopstavirs
 
The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines Netronome
 
Intrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengeIntrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengevideos
 
Bases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsBases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsvideos
 

Destacado (20)

1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw
 
4 dpdk roadmap(1)
4 dpdk roadmap(1)4 dpdk roadmap(1)
4 dpdk roadmap(1)
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationale
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling tools
 
2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc
 
7 hands on
7 hands on7 hands on
7 hands on
 
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel ArchitectureDPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers
 
8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overview
 
5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usage
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
 
Introduction to nfv movilforum
Introduction to nfv   movilforumIntroduction to nfv   movilforum
Introduction to nfv movilforum
 
3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfv
 
Introduction to Open Mano
Introduction to Open ManoIntroduction to Open Mano
Introduction to Open Mano
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Dpdk accelerated Ostinato
Dpdk accelerated OstinatoDpdk accelerated Ostinato
Dpdk accelerated Ostinato
 
The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines
 
Intrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengeIntrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challenge
 
Bases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsBases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge terms
 

Similar a 3 additional dpdk_theory(1)

Crooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinumCrooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinumAlan Frost
 
Accelerate Ceph performance via SPDK related techniques
Accelerate Ceph performance via SPDK related techniques Accelerate Ceph performance via SPDK related techniques
Accelerate Ceph performance via SPDK related techniques Ceph Community
 
Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)
Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)
Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)IntelAPAC
 
Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"GeeksLab Odessa
 
5 Cronin Steen - IOT Smart Cities
5 Cronin Steen - IOT Smart Cities5 Cronin Steen - IOT Smart Cities
5 Cronin Steen - IOT Smart CitiesIntelAPAC
 
Droidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intelDroidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intelDroidcon Berlin
 
Intel HPC Update
Intel HPC UpdateIntel HPC Update
Intel HPC UpdateIBM Danmark
 
Intel Mobile Launch Information
Intel Mobile Launch InformationIntel Mobile Launch Information
Intel Mobile Launch InformationAnna Yovka
 
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...Databricks
 
Preparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of ThingsPreparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of ThingsIntel IoT
 
TDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura Intel
TDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura IntelTDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura Intel
TDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura Inteltdc-globalcode
 
AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12Jomar Silva
 
High Memory Bandwidth Demo @ One Intel Station
High Memory Bandwidth Demo @ One Intel StationHigh Memory Bandwidth Demo @ One Intel Station
High Memory Bandwidth Demo @ One Intel StationIntel IT Center
 
Accelerating Apache Spark with Intel QuickAssist Technology
Accelerating Apache Spark with Intel QuickAssist TechnologyAccelerating Apache Spark with Intel QuickAssist Technology
Accelerating Apache Spark with Intel QuickAssist TechnologyDatabricks
 
Xeon E5 Making the Business Case PowerPoint
Xeon E5 Making the Business Case PowerPointXeon E5 Making the Business Case PowerPoint
Xeon E5 Making the Business Case PowerPointIntel IT Center
 
Intel Public Roadmap for Desktop, Mobile, Data Center
Intel Public Roadmap for Desktop, Mobile, Data CenterIntel Public Roadmap for Desktop, Mobile, Data Center
Intel Public Roadmap for Desktop, Mobile, Data CenterDr. Wilfred Lin (Ph.D.)
 
Austin Cherian: Big data and HPC technologies - intel
Austin Cherian: Big data and HPC technologies - intelAustin Cherian: Big data and HPC technologies - intel
Austin Cherian: Big data and HPC technologies - intelVu Hung Nguyen
 
Introduction to container networking in K8s - SDN/NFV London meetup
Introduction to container networking in K8s - SDN/NFV  London meetupIntroduction to container networking in K8s - SDN/NFV  London meetup
Introduction to container networking in K8s - SDN/NFV London meetupHaidee McMahon
 
High Performance Computing: The Essential tool for a Knowledge Economy
High Performance Computing: The Essential tool for a Knowledge EconomyHigh Performance Computing: The Essential tool for a Knowledge Economy
High Performance Computing: The Essential tool for a Knowledge EconomyIntel IT Center
 
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: PerformanceIntel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: PerformanceDESMOND YUEN
 

Similar a 3 additional dpdk_theory(1) (20)

Crooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinumCrooke CWF Keynote FINAL final platinum
Crooke CWF Keynote FINAL final platinum
 
Accelerate Ceph performance via SPDK related techniques
Accelerate Ceph performance via SPDK related techniques Accelerate Ceph performance via SPDK related techniques
Accelerate Ceph performance via SPDK related techniques
 
Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)
Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)
Lynn Comp - Intel Big Data & Cloud Summit 2013 (2)
 
Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"
 
5 Cronin Steen - IOT Smart Cities
5 Cronin Steen - IOT Smart Cities5 Cronin Steen - IOT Smart Cities
5 Cronin Steen - IOT Smart Cities
 
Droidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intelDroidcon2013 x86phones weggerle_taubert_intel
Droidcon2013 x86phones weggerle_taubert_intel
 
Intel HPC Update
Intel HPC UpdateIntel HPC Update
Intel HPC Update
 
Intel Mobile Launch Information
Intel Mobile Launch InformationIntel Mobile Launch Information
Intel Mobile Launch Information
 
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
Accelerating SparkML Workloads on the Intel Xeon+FPGA Platform with Srivatsan...
 
Preparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of ThingsPreparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of Things
 
TDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura Intel
TDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura IntelTDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura Intel
TDC2018SP | Trilha IA - Inteligencia Artificial na Arquitetura Intel
 
AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12AI & Computer Vision (OpenVINO) - CPBR12
AI & Computer Vision (OpenVINO) - CPBR12
 
High Memory Bandwidth Demo @ One Intel Station
High Memory Bandwidth Demo @ One Intel StationHigh Memory Bandwidth Demo @ One Intel Station
High Memory Bandwidth Demo @ One Intel Station
 
Accelerating Apache Spark with Intel QuickAssist Technology
Accelerating Apache Spark with Intel QuickAssist TechnologyAccelerating Apache Spark with Intel QuickAssist Technology
Accelerating Apache Spark with Intel QuickAssist Technology
 
Xeon E5 Making the Business Case PowerPoint
Xeon E5 Making the Business Case PowerPointXeon E5 Making the Business Case PowerPoint
Xeon E5 Making the Business Case PowerPoint
 
Intel Public Roadmap for Desktop, Mobile, Data Center
Intel Public Roadmap for Desktop, Mobile, Data CenterIntel Public Roadmap for Desktop, Mobile, Data Center
Intel Public Roadmap for Desktop, Mobile, Data Center
 
Austin Cherian: Big data and HPC technologies - intel
Austin Cherian: Big data and HPC technologies - intelAustin Cherian: Big data and HPC technologies - intel
Austin Cherian: Big data and HPC technologies - intel
 
Introduction to container networking in K8s - SDN/NFV London meetup
Introduction to container networking in K8s - SDN/NFV  London meetupIntroduction to container networking in K8s - SDN/NFV  London meetup
Introduction to container networking in K8s - SDN/NFV London meetup
 
High Performance Computing: The Essential tool for a Knowledge Economy
High Performance Computing: The Essential tool for a Knowledge EconomyHigh Performance Computing: The Essential tool for a Knowledge Economy
High Performance Computing: The Essential tool for a Knowledge Economy
 
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: PerformanceIntel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
 

Más de videos

Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016videos
 
Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum videos
 
Presentación Quetal en Networking Day moviforum
Presentación Quetal  en Networking Day moviforum Presentación Quetal  en Networking Day moviforum
Presentación Quetal en Networking Day moviforum videos
 
Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum videos
 
Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum videos
 
Presentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforumPresentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforumvideos
 
Presentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforumPresentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforumvideos
 
Presentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforumPresentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforumvideos
 
Presentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforumPresentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforumvideos
 
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...videos
 
Presentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforumPresentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforumvideos
 
Presentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforumPresentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforumvideos
 
Presentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforumPresentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforumvideos
 
Hp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs psHp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs psvideos
 

Más de videos (14)

Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016
 
Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum
 
Presentación Quetal en Networking Day moviforum
Presentación Quetal  en Networking Day moviforum Presentación Quetal  en Networking Day moviforum
Presentación Quetal en Networking Day moviforum
 
Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum
 
Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum
 
Presentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforumPresentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforum
 
Presentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforumPresentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforum
 
Presentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforumPresentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforum
 
Presentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforumPresentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforum
 
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
 
Presentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforumPresentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforum
 
Presentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforumPresentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforum
 
Presentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforumPresentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforum
 
Hp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs psHp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs ps
 

Último

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

3 additional dpdk_theory(1)

  • 2. TRANSFORMING NETWORKING & STORAGE 2 Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm%20 Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the performance of Intel products, visit Intel Performance Benchmark Limitations All products, computer systems, dates and figures specified are preliminary based on current expectations, and are subject to change without notice. Celeron, Intel, Intel logo, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel SpeedStep, Intel XScale, Itanium, Pentium, Pentium Inside, VTune, Xeon, and Xeon Inside are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Intel® Active Management Technology requires the platform to have an Intel® AMT-enabled chipset, network hardware and software, as well as connection with a power source and a corporate network connection. With regard to notebooks, Intel AMT may not be available or certain capabilities may be limited over a host OS-based VPN or when connecting wirelessly, on battery power, sleeping, hibernating or powered off. For more information, see http://www.intel.com/technology/iamt. 64-bit computing on Intel architecture requires a computer system with a processor, chipset, BIOS, operating system, device drivers and applications enabled for Intel® 64 architecture. Performance will vary depending on your hardware and software configurations. Consult with your system vendor for more information. No computer system can provide absolute security under all conditions. Intel® Trusted Execution Technology is a security technology under development by Intel and requires for operation a computer system with Intel® Virtualization Technology, an Intel Trusted Execution Technology- enabled processor, chipset, BIOS, Authenticated Code Modules, and an Intel or other compatible measured virtual machine monitor. In addition, Intel Trusted Execution Technology requires the system to contain a TPMv1.2 as defined by the Trusted Computing Group and specific software for some uses. See http://www.intel.com/technology/security/ for more information. †Hyper-Threading Technology (HT Technology) requires a computer system with an Intel® Pentium® 4 Processor supporting HT Technology and an HT Technology-enabled chipset, BIOS, and operating system. Performance will vary depending on the specific hardware and software you use. See www.intel.com/products/ht/hyperthreading_more.htm for more information including details on which processors support HT Technology. Intel® Virtualization Technology requires a computer system with an enabled Intel® processor, BIOS, virtual machine monitor (VMM) and, for some uses, certain platform software enabled for it. Functionality, performance or other benefits will vary depending on hardware and software configurations and may require a BIOS update. Software applications may not be compatible with all operating systems. Please check with your application vendor. * Other names and brands may be claimed as the property of others. Other vendors are listed by Intel as a convenience to Intel's general customer base, but Intel does not make any representations or warranties whatsoever regarding quality, reliability, functionality, or compatibility of these devices. This list and/or these devices may be subject to change without notice. Copyright © 2015, Intel Corporation. All rights reserved.
  • 3. TRANSFORMING NETWORKING & STORAGE 3 Topics • DPDK Libraries introduction • DPDK Sample Applications • Load Balancing, packet scheduler libraries, packet distributor • Packet generating tools • DPDK virtualisation
  • 4. TRANSFORMING NETWORKING & STORAGE 4 DPDK Libraries
  • 5. TRANSFORMING NETWORKING & STORAGE 5 What is DPDK? Short Answer: The DPDK is a set of software libraries designed for high- speed packet processing
  • 6. TRANSFORMING NETWORKING & STORAGE 6 Data Plane Development Kit • Libraries for network application development on Intel Platforms • Speeds up networking functions • Enables user space application development • Facilitates both run-to-completion and pipeline models • Free, Open-sourced, BSD Licensed • Git: http://dpdk.org/git/dpdk • Scales from Intel Atom to multi-socket Intel Xeon architecture platforms and other architectures • About two dozen pre-built example applications EAL MALLOC MBUF MEMPOO L RING TIMER Core Libraries KNI POWER IVSHMEM Platform LPM EXACT MATCH ACL Classify E1000 IXGBE VMXNET3 IGB I40e VIRTIO Packet Access (PMD – Native & Virtual) ETHDEV XENVIRT PCAP RING METER SCHED QoS Intel® DPDK Sample Applications Linux Kernel User Space KNI IGB_UIO Customer Applications ISV Eco-System Applications 3rd Party NIC
  • 7. TRANSFORMING NETWORKING & STORAGE 7 DPDK Libraries and Drivers Poll Mode Drivers: DPDK includes Poll Mode Drivers for multiple Ethernet controllers which are designed to work without asynchronous, interrupt-based signaling mechanisms, which greatly speeds up the packet pipeline. Different Virtual interfaces supported as well – virtio, user space vHost, pcap, shared memory, etc. Memory Manager: Responsible for allocating objects in memory. Can provide memory blocks and object pools in huge page memory. It also provides an alignment helper to ensure that objects are padded to spread them equally on all DRAM channels. Buffer Manager: Reduces by a significant amount the time the operating system spends allocating and de-allocating buffers. DPDK pre-allocates fixed size buffers which are stored in memory pools. Queue Manager: Implements safe lockless queues, instead of using spinlocks, that allow different software components to process packets, while avoiding unnecessary wait times. Flow Classification: Provides an efficient mechanism to produce a hash based on tuple information so that packets may be placed into flows quickly for processing, thus greatly improving throughput.
  • 8. TRANSFORMING NETWORKING & STORAGE 8 The libraries/components (1) Library librte_eal Environment Abstraction Layer. Meant to hide system/OS specifics from “common” upper layers librte_malloc rte_malloc() - replacement for malloc(). Allows allocation of data structures backed by huge pages librte_mempool librte_mbuf Memory management: DPDK buffer pool management and packet buffer implementations librte_ring High speed ring for inter-core/process pointer passing librte_timer Timer routines librte_lpm Accelerated longest prefix match librte_hash Hash driven key-value exact match for tuple matching librte_acl Accelerated implementation of an Access Control List
  • 9. TRANSFORMING NETWORKING & STORAGE 9 The libraries/components (2) Library librte_meter Meter/mark library: Implements srTCM (RFC 2697) and trTCM RFC 2698) librte_sched Hierarchical traffic shaper in software librte_pmd* Packet Access “Poll” mode drivers librte_ether Generic Ethernet device abstraction – the DPDK PMD API librte_cmdline Command line parser library librte_distributor A work queue distributor librte_power Power management primitives librte_ivshmem Shared memory implementation for inter-VM communication KNI, librte_kni Kernel Network Interface – implements a kernel netdev for passing packets into the kernel from DPDK
  • 10. TRANSFORMING NETWORKING & STORAGE 10 DPDK Sample Applications
  • 11. TRANSFORMING NETWORKING & STORAGE 11 Build with Intel® DPDK Provided Sample Applications Test PMD CLI Core Cmpnts L2 Fwd IPv4 Reass IPv4 M’Cast IPv4 Frag Link Status QAT Hello World Linux Excptn Path Multi- Process Load Balancing Quota & W’marks QoS Metering QoS Schdling Green L3 Fwd Virt L3 Fwd IPv6 L3 Fwd IPv4 L3 Fwd KNI VLAN- based Filtering VMDq Timer DPDK • About two-dozen pre- built sample applications • Provide a great jump start for accelerating workloads with DPDK
  • 12. TRANSFORMING NETWORKING & STORAGE 12 Build with Intel® DPDK Provided Sample Applications • Test PMD application • Support for a variety of PMD driver cases • Support for Flow Director provided in the Intel® 82599 10 Gigabit Ethernet Controller • Test application • Support for core component tests • Sample applications • Command Line • Exception Path (into Linux* for packets using the Linux TUN/TAP driver) • Hello World • Integration with Intel® Quick Assist Technology drivers 1.0.0 and 1.0.1 on Intel® Communications Chipset 89xx Series C0 and C1 silicon. • Link Status Interrupt (Ethernet* Link Status Detection • IPv4 Fragmentation • IPv4 Multicast • IPv4 Reassembly • L2 Forwarding (supports virtualized and non-virtualized environments)
  • 13. TRANSFORMING NETWORKING & STORAGE 13 Build with Intel® DPDK Provided Sample Applications • L3 Forwarding (IPv4 and IPv6) • L3 Forwarding in a Virtualized Environment • L3 Forwarding with Power Management • QoS Scheduling • QoS Metering + Dropper • Quota & Watermarks • Load Balancing • Multi-process • Timer • VMDQ and DCB L2 Forwarding • Support VMDq for 1 GbE and 10 GbE NICs to demonstrate VLAN-based packet filtering • Kernel NIC Interface (with ethtool support) • Multi-process example using fork() to demonstrate application resiliency and recovery, including reattachment to and re-initialization of shared data structures where necessary
  • 14. TRANSFORMING NETWORKING & STORAGE 14 DPDK Skeleton App: basefwd Initialization • Initialize memory zones and pools • Initialize devices and device queues • Start the packet forwarding application Packet Reception (RX) • Poll devices’ RX queues and receive packets in bursts • Allocate new RX buffers from per queue memory pools to stuff into descriptors Packet Transmission (TX) • Transmit the received packets from RX • Free the buffers used to store the packets to send
  • 15. TRANSFORMING NETWORKING & STORAGE 15 DPDK Skeleton APP pseudo code int main(int argc, char **argv) { rte_eal_init(argc, argv); // initialize EAL rte_mempool_create(...); // buffers preallocation (NUMA aware) ... // initialize ports rte_eth_dev_configure(port_id, 1, 1, &port_conf); rte_eth_rx_queue_setup(port_id, queue, ...); rte_eth_tx_queue_setup(port_id, queue, ...); ... rte_eth_dev_start(portid); rte_eth_promiscuous_enable(portid); for(;;) { nb_rx = rte_eth_rx_burst(portid, queue, packets, MAX_PKT_BURST); // poll port ... rte_eth_tx_burst(portid, queue, packets, nb_rx); // send to port } }
  • 16. TRANSFORMING NETWORKING & STORAGE 16 Packet Distributor Sample Application
  • 17. TRANSFORMING NETWORKING & STORAGE 17 Problem Definition  Packet Distribution How to distribute packet flows across queues Packet Distributor • Directing flows to queues  Load Balancing How achieve an even balance of load on each core. Load Balancing • Even distribution of workload across cores INTEL CONFIDENTIAL Rx Port Classifier Queue 1 Queue 2 Queue 3 Queue n Queue 4 Rx Port Hash 60% 95% 5%99% Sched uler Rx Port 65% 65% 65%65%
  • 18. TRANSFORMING NETWORKING & STORAGE 18 • Manage 10G • Per Packet processing • Load Aware • Run to complete • Flow affinity • In order • Sample App • Any Hash • TX coalescing • QoS - N Statistical Averaging DPDK In- order distributor achieves balancing INTEL CONFIDENTIAL Hash 60% 95% 5%99% Rx Port Sched uler Rx Port 65% 65% 65%65%
  • 19. TRANSFORMING NETWORKING & STORAGE 19 In Order Packet Distributor New Intel® DPDK component usable in packet pipeline Works with each packet individually APIs to distribute a set of packets, used by the “distributor core” APIs to request packets, used by the “worker cores” Collect returned packets (or NULL) and coalesce for forwarding In order processing within a flow, identified by a tag DPDK run to complete target architecture Statistical balancing over N flows >> Workers TAG can be any Hash, Sample APP uses NIC RSS for example Distributor Worker Worker Worker Worker Worker Tags in use Input Set Tag RX Input Q Coalesce
  • 20. TRANSFORMING NETWORKING & STORAGE 20 Distributor Logic RX Current Flow in Worker Queue For Core Free Worker N N Send To Core Q < Max N Max is 8 Y Y
  • 21. TRANSFORMING NETWORKING & STORAGE 21 DPDK 2.0 DPDK Packet Re-Order
  • 22. TRANSFORMING NETWORKING & STORAGE 22 DPDK 2.0 – Packet Re-ordering Feature DPDK Packet Distributor unchanged since 1.7 Packet Re-ordering library and sample app new to 2.0 • Standalone sample application • Out of order packet processing on multiple cores • Improved performance on Packet Distributor application
  • 23. TRANSFORMING NETWORKING & STORAGE 23 DPDK Packet Re-order Worker Worker Worker Worker Worker Worker Worker Worker Rx Single Consumer Multi Producer Queue Multi Producer Single Consumer Queue Reorder & Tx
  • 24. TRANSFORMING NETWORKING & STORAGE 24 DPDK Packet Re-order Still a prototype – further investigation in progress • Need to further optimise No Hash value (e.g. RSS) used here (unlike Packet Distributor). Flows are mixed – absolute sequence # for reordering Prioritisation – not implemented in sample app • Could implement with multiple queues on ingress side
  • 25. TRANSFORMING NETWORKING & STORAGE 25 DPDK Packet Re-order Library – reorder block • API – insert packet, drain packet Currently, only 1 reorder buffer • Multiple buffers require more complex logic • It could be feasible, but not implemented (or prototyped) at this point. • Would be application responsibility – no plans to put in library
  • 26. TRANSFORMING NETWORKING & STORAGE 26 Load Distribution Summary Packet Distributor component Can achieve balancing due to statistical behaviour of traffic Single packet at a time, run to complete model Supports flow affinity Packet distributor has a set of defined behaviors, usage model by workers can vary DPDK 2.0 allow random allocation of packets and re-ordering using Packet Re-order sample app. Packet Re-order works on batches of packets.
  • 27. TRANSFORMING NETWORKING & STORAGE 27 DPDK-based Packet Generators Generate traffic without need for dedicated HW
  • 28. TRANSFORMING NETWORKING & STORAGE 28 SW Packet Generators Linux: • pktgen: Linux packet generator is a tool to generate packets at high speed in the kernel (limited by Linux kernel capability) • Netperf: benchmarkng tool for measuring networking performance (UDP/TCP) DPDK based: • MoonGen: fully scriptable high-speed packet generator built on DPDK and LuaJIT https://github.com/emmericp/MoonGen • Oscinato: https://code.google.com/p/ostinato/ DPDK accelerated: http://www.slideshare.net/pstavirs/dpdk-accelerated-ostinato • DPPD v017: https://01.org/intel-data-plane-performance-demonstrators/downloads • pktgen-dpdk: traffic generator http://dpdk.org/browse/apps/pktgen-dpdk
  • 29. TRANSFORMING NETWORKING & STORAGE 29 Pktgen-dpdk • It is capable of generating 10Gbit wire rate traffic with 64 byte frames. • It can act as a transmitter or receiver at line rate. • It has a runtime environment to configure, and start and stop traffic flows. • It can display real time metrics for a number of ports. • It can generate packets in sequence by iterating source or destination MAC, IP addresses or ports. • It can handle packets with UDP, TCP, ARP, ICMP, GRE, MPLS and Queue-in-Queue. • It can be controlled remotely over a TCP connection. • It is configurable via Lua and can run command scripts to set up repeatable test cases. • The software is fully available under a BSD licence.
  • 30. TRANSFORMING NETWORKING & STORAGE 30 Pktgen-dpdk (continued) • Pktgen-dpdk is freely available on www.dpdk.org • Instructions are provided with the package • Just a DPDK application • Can be used on virtual or physical network devices – like DPDK • More info at http://pktgen.readthedocs.org/en/latest/ Used in the hands on sessions in this course
  • 31. TRANSFORMING NETWORKING & STORAGE 31 Pktgen-dpdk (continued) • By default pktgen if configured with two ports will send packets from port 0 to port 1 – easy way to test performance pktgen-dpdk running in a VM with CentOS 7 on top of VirtualBox on a laptop
  • 32. TRANSFORMING NETWORKING & STORAGE 32 DPDK - Virtualisation
  • 33. TRANSFORMING NETWORKING & STORAGE 33 Intel® DPDK Virtualization Architecture NFV requires fast VM-to-VM communication: • L2 Switching – Support Traffic Mirroring (Pool, VLAN, Uplink and Downlink) between VMs using Niantic • Virtio PMD with Userspace vhost back-end • IVSHM support Virtual Machine Monitor (VMM) Virtual Machine (VM) Intel® Architecture Shared Memory (IVSHM) Intel® DPDK 10 GbE 82599 (SRIOV) L2 Switch vHost-net user kernel VF Virtio ivshme1000 1 2 VT-d Virtual Machine (VM) Intel® DPDK VF Virtio ivshme1000 Virtual Switch Intel® DPDK PF 3 VF VF PF 1 2 3
  • 34. TRANSFORMING NETWORKING & STORAGE 34 SR-IOV • Single Root I/O Virtualisation • Enables sharing of PCI resource between multiple VMs • NIC will have Physical Function driver (PF) • Also, can create multiple Virtual Function drivers (VF) • Can use PCI pass through to send VFs to guest VMs • PF can remain on host machine • VF driver effectively “bypasses” hypervisor • DPDK supports both PF and VF drivers • Requires VT-d support • Be sure to enable in BIOS
  • 35. TRANSFORMING NETWORKING & STORAGE 35 SR-IOV (continued) IA CPU NIC Linux OS Kernel space User space PF VF VF Guest VM Guest VM
  • 36. TRANSFORMING NETWORKING & STORAGE 36 Guest VM SR-IOV (continued) IA CPU NIC Linux OS Kernel space User space PF VF Guest VM VF
  • 37. TRANSFORMING NETWORKING & STORAGE 37 SR-IOV with DPDK • VF passed through to guest VM can be Linux driver • Same limitations as Linux PF driver • DPDK has VF driver also • Same advantages as DPDK PF driver • DPDK app in guest uses DPDK VF driver • Try with L2fwd sample application
  • 38. TRANSFORMING NETWORKING & STORAGE 38 SR-IOV mirroring Note: Niantic’s L2 switch is limited to10GbE, including mirrored traffic
  • 39. TRANSFORMING NETWORKING & STORAGE 39 Vhost interface • vhost-net Linux KVM para-virtualised interface on the guest VM • vhost is the backend to this interface on the host • Performance was slow – vhost is in Linux kernel • Context switch between user and kernel space • vhost userspace implementation • Combine this with DPDK virtio PMD in guest for best performance • See DPDK documentation and DPDK VHOST sample application for more information