DPACC Acceleration
Progress and Demonstration
DPDK on Axxia ARM hardware for DPACC
Keith Wiles, Intel Corp
Magnus Karlsson, Intel Corp
Demo of DPDK on ARM
Using Axxia ARM hardware with
DPDK to get the best performance
What is the demonstration?
• The goal of the demo is to show DPDK running on ARM
hardware with good performance
• We have ported DPDK to the Axxia ARMv7 hardware
and integrated the Axxia SoC hardware
• The demo shows that DPDK is similar in performance to
the native SoC environment
10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 3
DPDK ported to ARM, why?
• DPDK was ported to ARM hardware to demonstrate how
portable DPDK is to any platform
• The port only took a few days to get running on the Axxia
platform (not optimized yet)
• Next few days we integrated the Axxia SoC drivers
• Demonstrating DPDK was easy and quick to run on any
platform
• Plus DPDK on ARM hardware shows performance similar to
the native SoC application
10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 4
How the port of DPDK was done
• DPDK contains infrastructure to add different platforms in the EAL layer
– A new platform was created for ARMv7 that used generic C built-ins or ARM assembly code
to support platform specific functions
• DPDK also supports virtual PCAP based PMDs and test applications
– Using them, the port could be validated easily and quickly
• Addition of a virtual PMD is straight forward for DPDK
– A new virtual PMD was added to create Ethernet devices abstracting Axxia ports
– DPDK’s APIs could be supported by using Axxia specific SDK calls underneath
• No change was done in any sample/test application of DPDK to run them using the new Axxia
PMD
10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 5
6
DPDK on Axxia Environment
Ethernet	Switch
Axxia_Eth0
00:00:55:16:00:00
Axxia_Eth1
00:00:55:16:00:01
DPDK	
l2fwd
Linux	Machine Axxia	Hardware
Data	traffic
Axxia	
l2fwdDPDK	packet	generator	
application	to	send	and	
receive	packets	of	two	
flows	on	one	port	to	
measure	latencies
Eth1
02:00:00:00:00:01
Flow 0 – Traverses via DPDK
SMAC – 02:00:00:00:00:01
DMAC – 00:00:55:16:00:01
SMAC – 00:00:55:16:00:00
DMAC – 02:00:00:00:00:01
SMAC – 00:00:55:16:00:01
DMAC – 02:00:00:00:00:01
SMAC – 02:00:00:00:00:01
DMAC – 00:00:55:16:00:00
Flow 1 – Traverses via Axxia SDK
P0 P1 P2
10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 6
DPDK	based	packet	generator	and	receiver	
applications,	which	also	computes	latency
Graph of DPDK compared to Axxia Native SoC software
10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 7
Summary
• The goal was to show DPDK does not add any overhead in
performance compared to a native acceleration SDK
• We created a ARMv7 port, which we have pushed up stream to
DPDK.org
– The port needs to be optimized,but the port shows we still
obtain good performance compared to a native design
• The effort for the ARMv7 port and the comparison of two
systems was a reasonable amount of time (couple of months)
• Integrating to ARM and a vendor SDK for DPDK provides good
performance and minimum overhead
10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 8
DPDK on ARM for DAPCC
Questions?
Answers: 42 or 47 take your pick J
Thank you for Attending!

DPACC Acceleration Progress and Demonstration

  • 1.
    DPACC Acceleration Progress andDemonstration DPDK on Axxia ARM hardware for DPACC Keith Wiles, Intel Corp Magnus Karlsson, Intel Corp
  • 2.
    Demo of DPDKon ARM Using Axxia ARM hardware with DPDK to get the best performance
  • 3.
    What is thedemonstration? • The goal of the demo is to show DPDK running on ARM hardware with good performance • We have ported DPDK to the Axxia ARMv7 hardware and integrated the Axxia SoC hardware • The demo shows that DPDK is similar in performance to the native SoC environment 10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 3
  • 4.
    DPDK ported toARM, why? • DPDK was ported to ARM hardware to demonstrate how portable DPDK is to any platform • The port only took a few days to get running on the Axxia platform (not optimized yet) • Next few days we integrated the Axxia SoC drivers • Demonstrating DPDK was easy and quick to run on any platform • Plus DPDK on ARM hardware shows performance similar to the native SoC application 10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 4
  • 5.
    How the portof DPDK was done • DPDK contains infrastructure to add different platforms in the EAL layer – A new platform was created for ARMv7 that used generic C built-ins or ARM assembly code to support platform specific functions • DPDK also supports virtual PCAP based PMDs and test applications – Using them, the port could be validated easily and quickly • Addition of a virtual PMD is straight forward for DPDK – A new virtual PMD was added to create Ethernet devices abstracting Axxia ports – DPDK’s APIs could be supported by using Axxia specific SDK calls underneath • No change was done in any sample/test application of DPDK to run them using the new Axxia PMD 10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 5
  • 6.
    6 DPDK on AxxiaEnvironment Ethernet Switch Axxia_Eth0 00:00:55:16:00:00 Axxia_Eth1 00:00:55:16:00:01 DPDK l2fwd Linux Machine Axxia Hardware Data traffic Axxia l2fwdDPDK packet generator application to send and receive packets of two flows on one port to measure latencies Eth1 02:00:00:00:00:01 Flow 0 – Traverses via DPDK SMAC – 02:00:00:00:00:01 DMAC – 00:00:55:16:00:01 SMAC – 00:00:55:16:00:00 DMAC – 02:00:00:00:00:01 SMAC – 00:00:55:16:00:01 DMAC – 02:00:00:00:00:01 SMAC – 02:00:00:00:00:01 DMAC – 00:00:55:16:00:00 Flow 1 – Traverses via Axxia SDK P0 P1 P2 10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 6 DPDK based packet generator and receiver applications, which also computes latency
  • 7.
    Graph of DPDKcompared to Axxia Native SoC software 10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 7
  • 8.
    Summary • The goalwas to show DPDK does not add any overhead in performance compared to a native acceleration SDK • We created a ARMv7 port, which we have pushed up stream to DPDK.org – The port needs to be optimized,but the port shows we still obtain good performance compared to a native design • The effort for the ARMv7 port and the comparison of two systems was a reasonable amount of time (couple of months) • Integrating to ARM and a vendor SDK for DPDK provides good performance and minimum overhead 10/30/15 DPACC Acceleration demonstrationwith DPDK on ARM 8
  • 9.
    DPDK on ARMfor DAPCC Questions? Answers: 42 or 47 take your pick J
  • 10.
    Thank you forAttending!