DPDK	Summit	- San	Jose	– 2017
SafetyOrange
#DPDKSummit
#DPDKSummit
An	experiment	on	a	backpack-size	DPDK	
development	and	test	environment
andras.kovacs@ericsson.com
laszlo.vadkeri@ericsson.com
3#DPDKSummit
Objectives
u Demonstrate	that	our	infrastructure	can	eliminate	the	packet	processing	
impacts	of	virtualization
u PoC of	‘virtual	router	on	a	pendrive’	for	portability	and	demo	purposes
u Free	yet	powerful	packet	generator	(Pktgen-DPDK)
u Efficient	and	affordable	standalone	DPDK	environment	(personal	PoD)
u PCIe bifurcation	for	our	use	case	(increase	port	density)
4#DPDKSummit
The hardware
u Mini-ITX	motherboard	(6.7”	x	6.7”)
u Intel	low-power	Xeon	CPU	(14c/28t)
u 32Gbyte	memory	(4	channels)
u PCIe riser	splitter	for	PCIe bifurcation
u 2	x	X710	NICs	(both	in	4x10G	mode)
u NFC	S4	Mini	case	(4.3	liter	/	1.14	gallon)
http://nfc-systems.com/s4-mini/
5#DPDKSummit
PCIe bifurcation
“The	ability	to	support	multiple	PCIe devices	using	a	single	PCIe slot”
u E.g.	Intel	Niantic	(X520)	and	Fortville	(X710)	cards	use	only	x8	PCI-E	lanes
u If	the	motherboard	supports	it	then	a	x16	PCIe can	be	split	into	x8x8	slots	
(or	even	further…	x4x4x4x4)
u Port	density	can	be	increased	(even	to	oversubscription)
6#DPDKSummit
Test setups
Traffic
Generator
8x10G
user
Forwarding
Plane
Control
Plane
Control
Plane
Forwarding
Plane
Traffic
Generator
2x1G
control
8x10G
user
7
Previous Work
DPDK Summit 2014 DPDK Userspace 2015
8#DPDKSummit
The layer that makes it all possible
u Abstraction	layer	for	environment	independence
u Memory	management	forged	to	make	best	use	of	x86	architecture
u Predictable	high	performance	and	low	latency
u High	Availability	enhancements
u Runs	both	native	and	virtualized	mode
9#DPDKSummit
Finetuning
u Ability	to	remap	all	CPU	resources.	Allows	easy	adaptation	to	environment	specific	HT	
sibling	mappings.	Can	also	be	utilized	to	change	the	CPU	resources	dedicated	to	IO	/	
forwarding	/	application	packet	processing	etc.
Background
I/O (load balance)
Execution Unit
0
14
132 3 4 5 6 7 8 9 10 11 121
15 2716 17 18 19 20 21 22 23 24 25 26
0 1 132 3 4 5 6 7 8 9 10 11 12
14 15 2716 17 18 19 20 21 22 23 24 25 26
u Tuned	CPU	allocation	after	initial	measurements	and	bottlenecks	identified	
(simple	reconfiguration)
10#DPDKSummit
Pktgen-DPDK sample
10G ports 13Mpps
79.1Gbps
740byte packets
...
11#DPDKSummit
Power consumption
● Measured	with	a	Kill-A-Watt	P4400.01	at	the	wall
● 35W idle	(half	of	a	dual	socket	blade	with	2x	E5-2620v3	(6c/12ht))
● 99W	with	2BG/4IO/22EU	without	traffic
● 111W max	at	highest	load	(range	of	a	desktop	replacement	notebook)
12#DPDKSummit
Thank	you!

LF_DPDK17_SafetyOrange - a tiny server class multi-purpose box with DPDK