SlideShare a Scribd company logo
1 of 14
Download to read offline
DPDK	Summit	- San	Jose	– 2017
Enhanced Memory
Management
#DPDKSummit
2
Challenges
u The	world	is	changing
u Adapt	to	varying	application	requirements
u Performance,	Security,	Footprint,	Robustness?
u Native,	Containers,	VMs,	Unikernels?
u x86,	ARM,	PowerPC,	…	?
u Linux,	BSD,	Windows,	…	?
u Abstract	complexities	of	the	environment	from	applications
u Different	environments	with	variable	ways	to	allocate/attach	to	memory
u Same	valid	for	other	resources	such	as	network	interfaces,	HW	accelerators	etc.
3
Current Limitations
u Static	hugepage memory	allocation	at	DPDK	initialization	time
u Dynamic	allocation	is	not	possible
u Memory	initialization	takes	a	long	time	(collecting,	mapping,	zeroing)
u DPDK	relies	on	physical	memory	information	(not	always	available)
u Physically	contiguous	segments	(allocation	failure	if	no	physically	contiguous	mem)
u PMDs	rely	on	physical	memory	for	DMA
u No	virtually	contiguous	memory	support
u No	support	for	memory	mapped	files,	shared	memory	segments,	
ivshmem,	ramfs etc.
4
Un-initializedmemoryDPDK memory
DPDK Today – Memory Initialization
u DPDK	grabs	all	required	hugepages and	fills	up	its	heap	during	initialization
u Everything	is	mapped	with	R/W	permissions	in	all	processes
Process
#1
Process
#2
Process
#3
R/W
5
1G
1G
1G
1G
1G
1G
1G
1G
DPDK Today – Multi-process Sequence
DPDK memory
Process
#1
Process
#2
memory allocated/used by Process #2
memory allocated/used by Process #1
DPDK
socket
0
Primary
Process
1) Primary	Proc	#1	and	Proc	#2	started
2) Proc	#1	inits memory,	Proc	#2	is	waiting
3) Primary	Proc	#1	releases	lock,
Proc	#2	attaches	to	DPDK	memory
4) Both	processes	start	allocating	memory	
at	the	same	time	(lock	contention)
Zzzz…
No Isolation!
No Memory Protection!
No fine grain control of object placement!
(except NUMA and page sizes)
6
Enhanced Memory Manager Framework
Hugepages
md_attach
Heap/mmap Shared Mem
Memory allocator manager
IVSHM
DPDK
Memory Domain
External Memory Plugin
Applications
md_reserve md_attach
Enhanced Memory Manager Framework
7
Proposal
u Both	DPDK	and	the	enhanced	memory	manager	are	used	by	applications
u Maintain	backward	compatibility
u Applications	could	directly	use	memdomain	APIs	to	get	required	memory	on	demand
u Extend	DPDK	to	support	external	memory	manager	plugins
u DPDK	would	be	a	user	of	memory	domain
u Enhanced	memory	manager	is	a	framework
u support	many	types	of	memory	allocators,	such	as	hugepages,	mmap/heap,	shared	
memory,	or	inter-vm	shared	memory
8
memdomain LocalMem {
type = exclusive
cpualias = “app_fg”
policy = on-demand
size {
huge_1G = 4GB
}
no_zero = true
}
Un-initialized memoryLocalMem[1] Localmem[3]
memdomain MainMem {
type = numa
cpualias = “all”
policy = static
size {
huge_4K = 128MB
huge_2M = 256MB
}
}
Named Memory Partitions - Feature
Process
#1
Process
#2
Process
#3
DPDK memory
R/W
R/O
LocalMem[2]MainMem
u DPDK/Apps	are	attaching	to	named	partitions	pools	(memdomains)
u Multiple	processes	can	attach	to	partitions	with	distinct	access	rights
u Processes/threads	can	attach	to	named	partitions	on-demand
9
4K/2M
1G
1G
1G
1G
1G
1G
1G
1G
Named Memory Partitions - Sequence
DPDK memory
Process
#1
memzones allocated/used by Process #2
memory allocated/used by Process #1
DPDK
Socket 0Primary
Process
1) Primary	Proc	#1	and	Proc	#2	started
2) Primary	Proc	#1	inits “MainMem”	partition
3) Proc	#2	awakes,	attaches	to	“MainMem”
4) Proc	#1	and	#2	attaches	to	“LocalMem”	
(allocates/maps	partition)	– no	zero	on	req.
5) Both	processes	start	allocating	memory	
within	their	own	partition	(no	contention)
Zzzz…
Process
#2
LocalMem[1]
DPDK
SocketId
1<<8
LocalMem[2]
DPDK
SocketId
2<<8Access Control!
Placement Control!
Isolation!
Memory Protection!
10
Named Memory Partitions - Possibilities
u Flexible	environment	specific	configuration
u Adapt	to	different	architectures,	e.g.	no	page-size	hard-coding	in	application
u Adopting	configuration	to	required	policy,	e.g.	Performance,	Security,	Footprint
u Performance	tuning	accelerated	by	publishing	different	configurations
u Access	control
u External	resource	manager	managing	the	resources	of	applications	running	in	
containers	or	VMs
u Memory	classification
u Creating	fast/medium/slow	partitions	on	x86	(zero	TLB	miss,	2M	huge,	4K)
u Physically	contiguous	memory	partition	only	for	DMA
11
Named Memory Partitions - Possibilities
u Virtual	address	space	control:
u Short	pointer	support	by	requesting	specific	virtual	address	range
u On	demand	static	or	dynamic	virtual	address	assignment
u Transparent	NUMA	awareness
u Each	process	requests	local	memory	partition	which	is	created	based	on	the	location	of	that	
instance
u Scale	up/down
u Allocate/Free	resources	on-demand	as	processes	start/stop
u Support	of	different	types	of	shared	memory	techniques
u Named	partition	for	Inter-container	or	Inter-VM	shared	memory	(global	namespace)
u etc.
12
Previous Work
DPDK Summit 2014 DPDK Userspace 2015
Questions?
Laszlo	Vadkerti
laszlo.vadkerti@ericsson.com
Jiangtao	Zhang
tom.zhang@ericsson.com
THANK YOU!

More Related Content

What's hot

Accelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFAccelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFinside-BigData.com
 
Gluster as Block Store in Containers
Gluster as Block Store in ContainersGluster as Block Store in Containers
Gluster as Block Store in ContainersGluster.org
 
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Gluster.org
 
Ceph and Openstack in a Nutshell
Ceph and Openstack in a NutshellCeph and Openstack in a Nutshell
Ceph and Openstack in a NutshellKaran Singh
 
Performance optimization for all flash based on aarch64 v2.0
Performance optimization for all flash based on aarch64 v2.0Performance optimization for all flash based on aarch64 v2.0
Performance optimization for all flash based on aarch64 v2.0Ceph Community
 
Persistent Memory Development Kit (PMDK): State of the Project
Persistent Memory Development Kit (PMDK): State of the ProjectPersistent Memory Development Kit (PMDK): State of the Project
Persistent Memory Development Kit (PMDK): State of the ProjectIntel® Software
 
BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...
BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...
BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...Michal Němec
 
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...TomBarron
 
Disaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBDDisaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBDViswesuwara Nathan
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackOpenStack_Online
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstackopenstackindia
 
Red Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFSRed Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFSbipin kunal
 
Red Hat Gluster Storage - Direction, Roadmap and Use-Cases
Red Hat Gluster Storage - Direction, Roadmap and Use-CasesRed Hat Gluster Storage - Direction, Roadmap and Use-Cases
Red Hat Gluster Storage - Direction, Roadmap and Use-CasesRed_Hat_Storage
 
GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack StorageDeepak Shetty
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival GuideKernel TLV
 
CEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAY
CEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAYCEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAY
CEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAYCeph Community
 
Hpc to OpenStack: Our journey
Hpc to OpenStack: Our journeyHpc to OpenStack: Our journey
Hpc to OpenStack: Our journeyArif Ali
 
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph StorageRed Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph StorageRed_Hat_Storage
 

What's hot (20)

OmniXtend
OmniXtendOmniXtend
OmniXtend
 
Accelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFAccelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oF
 
Gluster as Block Store in Containers
Gluster as Block Store in ContainersGluster as Block Store in Containers
Gluster as Block Store in Containers
 
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
 
Ceph and Openstack in a Nutshell
Ceph and Openstack in a NutshellCeph and Openstack in a Nutshell
Ceph and Openstack in a Nutshell
 
Performance optimization for all flash based on aarch64 v2.0
Performance optimization for all flash based on aarch64 v2.0Performance optimization for all flash based on aarch64 v2.0
Performance optimization for all flash based on aarch64 v2.0
 
Persistent Memory Development Kit (PMDK): State of the Project
Persistent Memory Development Kit (PMDK): State of the ProjectPersistent Memory Development Kit (PMDK): State of the Project
Persistent Memory Development Kit (PMDK): State of the Project
 
BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...
BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...
BlackStor - World's fastest & most reliable Cloud Native Software Defined Sto...
 
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
 
Disaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBDDisaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBD
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
 
Introduction to Internet of Things
Introduction to Internet of ThingsIntroduction to Internet of Things
Introduction to Internet of Things
 
Red Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFSRed Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFS
 
Red Hat Gluster Storage - Direction, Roadmap and Use-Cases
Red Hat Gluster Storage - Direction, Roadmap and Use-CasesRed Hat Gluster Storage - Direction, Roadmap and Use-Cases
Red Hat Gluster Storage - Direction, Roadmap and Use-Cases
 
GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack Storage
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival Guide
 
CEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAY
CEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAYCEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAY
CEPH DAY BERLIN - CEPH MANAGEMENT THE EASY AND RELIABLE WAY
 
Hpc to OpenStack: Our journey
Hpc to OpenStack: Our journeyHpc to OpenStack: Our journey
Hpc to OpenStack: Our journey
 
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph StorageRed Hat Storage Day New York - What's New in Red Hat Ceph Storage
Red Hat Storage Day New York - What's New in Red Hat Ceph Storage
 

Similar to LF_DPDK17_Enhanced Memory Management

You will get DBA Jobs If You Learn What is Storage System, Hurry Up!
You will get DBA Jobs If You Learn What is Storage System, Hurry Up!You will get DBA Jobs If You Learn What is Storage System, Hurry Up!
You will get DBA Jobs If You Learn What is Storage System, Hurry Up!raima sen
 
WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014
WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014 WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014
WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014 Chris Almond
 
Secondary storage
Secondary storageSecondary storage
Secondary storageAmni Muin
 
Classification of memory hierarchy in system unit
Classification of memory hierarchy in system unitClassification of memory hierarchy in system unit
Classification of memory hierarchy in system unitDeepjyoti Talukdar
 
MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...
MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...
MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...Dell EMC World
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - Storage
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - StorageUnderstanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - Storage
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - Storageyaminohime
 
"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012
"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012
"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012Darpan Dinker
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsTony Nguyen
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsYoung Alista
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsJames Wong
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsFraboni Ec
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsHoang Nguyen
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsLuis Goldster
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsHarry Potter
 
Uc14 chap03
Uc14 chap03Uc14 chap03
Uc14 chap03ayahye
 

Similar to LF_DPDK17_Enhanced Memory Management (20)

You will get DBA Jobs If You Learn What is Storage System, Hurry Up!
You will get DBA Jobs If You Learn What is Storage System, Hurry Up!You will get DBA Jobs If You Learn What is Storage System, Hurry Up!
You will get DBA Jobs If You Learn What is Storage System, Hurry Up!
 
WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014
WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014 WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014
WANdisco Non-Stop Hadoop: PHXDataConference Presentation Oct 2014
 
Secondary storage
Secondary storageSecondary storage
Secondary storage
 
Classification of memory hierarchy in system unit
Classification of memory hierarchy in system unitClassification of memory hierarchy in system unit
Classification of memory hierarchy in system unit
 
Data storage csc
Data storage cscData storage csc
Data storage csc
 
notes2 memory_cpu
notes2 memory_cpunotes2 memory_cpu
notes2 memory_cpu
 
computer storage
computer storagecomputer storage
computer storage
 
MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...
MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...
MT48 A Flash into the future of storage….  Flash meets Persistent Memory: The...
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - Storage
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - StorageUnderstanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - Storage
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 3 - Storage
 
Solid state drive
Solid state driveSolid state drive
Solid state drive
 
"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012
"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012
"Achieving Flash Memory's Full Potential" @ Flash Memory Summit 2012
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Uc14 chap03
Uc14 chap03Uc14 chap03
Uc14 chap03
 
Uc14 chap03
Uc14 chap03Uc14 chap03
Uc14 chap03
 

More from LF_DPDK

LF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to EventdevLF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to EventdevLF_DPDK
 
LF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitchLF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitchLF_DPDK
 
LF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDKLF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDKLF_DPDK
 
LF_DPDK17_DPDK support for new hardware offloads
LF_DPDK17_DPDK support for new hardware offloadsLF_DPDK17_DPDK support for new hardware offloads
LF_DPDK17_DPDK support for new hardware offloadsLF_DPDK
 
LF_DPDK17_DPDK's best kept secret – Micro-benchmark performance tests
LF_DPDK17_DPDK's best kept secret – Micro-benchmark performance testsLF_DPDK17_DPDK's best kept secret – Micro-benchmark performance tests
LF_DPDK17_DPDK's best kept secret – Micro-benchmark performance testsLF_DPDK
 
LF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK
 
LF_DPDK17_DPDK Membership Library
LF_DPDK17_DPDK Membership LibraryLF_DPDK17_DPDK Membership Library
LF_DPDK17_DPDK Membership LibraryLF_DPDK
 
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...LF_DPDK
 
LF_DPDK17_testpmd: swissknife for NFV
LF_DPDK17_testpmd: swissknife for NFVLF_DPDK17_testpmd: swissknife for NFV
LF_DPDK17_testpmd: swissknife for NFVLF_DPDK
 
LF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNG
LF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNGLF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNG
LF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNGLF_DPDK
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK
 
LF_DPDK17_DPDK on Microsoft Azure
LF_DPDK17_DPDK on Microsoft AzureLF_DPDK17_DPDK on Microsoft Azure
LF_DPDK17_DPDK on Microsoft AzureLF_DPDK
 
LF_DPDK17_VPP Host Stack
LF_DPDK17_VPP Host StackLF_DPDK17_VPP Host Stack
LF_DPDK17_VPP Host StackLF_DPDK
 
LF_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICsLF_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICsLF_DPDK
 
LF_DPDK17_rte_security: enhancing IPSEC offload
LF_DPDK17_rte_security: enhancing IPSEC offload LF_DPDK17_rte_security: enhancing IPSEC offload
LF_DPDK17_rte_security: enhancing IPSEC offload LF_DPDK
 
LF_DPDK17_Enabling hardware acceleration in DPDK data plane applications
LF_DPDK17_Enabling hardware acceleration in DPDK data plane applicationsLF_DPDK17_Enabling hardware acceleration in DPDK data plane applications
LF_DPDK17_Enabling hardware acceleration in DPDK data plane applicationsLF_DPDK
 
LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...
LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...
LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...LF_DPDK
 
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...LF_DPDK
 
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...LF_DPDK
 
LF_DPDK17_Technical Roadmap
LF_DPDK17_Technical RoadmapLF_DPDK17_Technical Roadmap
LF_DPDK17_Technical RoadmapLF_DPDK
 

More from LF_DPDK (20)

LF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to EventdevLF_DPDK17_Event Adapters - Connecting Devices to Eventdev
LF_DPDK17_Event Adapters - Connecting Devices to Eventdev
 
LF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitchLF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitch
 
LF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDKLF_DPDK17_ OpenVswitch hardware offload over DPDK
LF_DPDK17_ OpenVswitch hardware offload over DPDK
 
LF_DPDK17_DPDK support for new hardware offloads
LF_DPDK17_DPDK support for new hardware offloadsLF_DPDK17_DPDK support for new hardware offloads
LF_DPDK17_DPDK support for new hardware offloads
 
LF_DPDK17_DPDK's best kept secret – Micro-benchmark performance tests
LF_DPDK17_DPDK's best kept secret – Micro-benchmark performance testsLF_DPDK17_DPDK's best kept secret – Micro-benchmark performance tests
LF_DPDK17_DPDK's best kept secret – Micro-benchmark performance tests
 
LF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus Router
 
LF_DPDK17_DPDK Membership Library
LF_DPDK17_DPDK Membership LibraryLF_DPDK17_DPDK Membership Library
LF_DPDK17_DPDK Membership Library
 
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...
 
LF_DPDK17_testpmd: swissknife for NFV
LF_DPDK17_testpmd: swissknife for NFVLF_DPDK17_testpmd: swissknife for NFV
LF_DPDK17_testpmd: swissknife for NFV
 
LF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNG
LF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNGLF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNG
LF_DPDK17_Make DPDK's software traffic manager a deployable solution for vBNG
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
 
LF_DPDK17_DPDK on Microsoft Azure
LF_DPDK17_DPDK on Microsoft AzureLF_DPDK17_DPDK on Microsoft Azure
LF_DPDK17_DPDK on Microsoft Azure
 
LF_DPDK17_VPP Host Stack
LF_DPDK17_VPP Host StackLF_DPDK17_VPP Host Stack
LF_DPDK17_VPP Host Stack
 
LF_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICsLF_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICs
 
LF_DPDK17_rte_security: enhancing IPSEC offload
LF_DPDK17_rte_security: enhancing IPSEC offload LF_DPDK17_rte_security: enhancing IPSEC offload
LF_DPDK17_rte_security: enhancing IPSEC offload
 
LF_DPDK17_Enabling hardware acceleration in DPDK data plane applications
LF_DPDK17_Enabling hardware acceleration in DPDK data plane applicationsLF_DPDK17_Enabling hardware acceleration in DPDK data plane applications
LF_DPDK17_Enabling hardware acceleration in DPDK data plane applications
 
LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...
LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...
LF_DPDK17_Serverless DPDK - How SmartNIC resident DPDK Accelerates Packet Pro...
 
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
 
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
 
LF_DPDK17_Technical Roadmap
LF_DPDK17_Technical RoadmapLF_DPDK17_Technical Roadmap
LF_DPDK17_Technical Roadmap
 

Recently uploaded

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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
[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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Recently uploaded (20)

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 ...
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
[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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

LF_DPDK17_Enhanced Memory Management

  • 1. DPDK Summit - San Jose – 2017 Enhanced Memory Management #DPDKSummit
  • 2. 2 Challenges u The world is changing u Adapt to varying application requirements u Performance, Security, Footprint, Robustness? u Native, Containers, VMs, Unikernels? u x86, ARM, PowerPC, … ? u Linux, BSD, Windows, … ? u Abstract complexities of the environment from applications u Different environments with variable ways to allocate/attach to memory u Same valid for other resources such as network interfaces, HW accelerators etc.
  • 3. 3 Current Limitations u Static hugepage memory allocation at DPDK initialization time u Dynamic allocation is not possible u Memory initialization takes a long time (collecting, mapping, zeroing) u DPDK relies on physical memory information (not always available) u Physically contiguous segments (allocation failure if no physically contiguous mem) u PMDs rely on physical memory for DMA u No virtually contiguous memory support u No support for memory mapped files, shared memory segments, ivshmem, ramfs etc.
  • 4. 4 Un-initializedmemoryDPDK memory DPDK Today – Memory Initialization u DPDK grabs all required hugepages and fills up its heap during initialization u Everything is mapped with R/W permissions in all processes Process #1 Process #2 Process #3 R/W
  • 5. 5 1G 1G 1G 1G 1G 1G 1G 1G DPDK Today – Multi-process Sequence DPDK memory Process #1 Process #2 memory allocated/used by Process #2 memory allocated/used by Process #1 DPDK socket 0 Primary Process 1) Primary Proc #1 and Proc #2 started 2) Proc #1 inits memory, Proc #2 is waiting 3) Primary Proc #1 releases lock, Proc #2 attaches to DPDK memory 4) Both processes start allocating memory at the same time (lock contention) Zzzz… No Isolation! No Memory Protection! No fine grain control of object placement! (except NUMA and page sizes)
  • 6. 6 Enhanced Memory Manager Framework Hugepages md_attach Heap/mmap Shared Mem Memory allocator manager IVSHM DPDK Memory Domain External Memory Plugin Applications md_reserve md_attach Enhanced Memory Manager Framework
  • 7. 7 Proposal u Both DPDK and the enhanced memory manager are used by applications u Maintain backward compatibility u Applications could directly use memdomain APIs to get required memory on demand u Extend DPDK to support external memory manager plugins u DPDK would be a user of memory domain u Enhanced memory manager is a framework u support many types of memory allocators, such as hugepages, mmap/heap, shared memory, or inter-vm shared memory
  • 8. 8 memdomain LocalMem { type = exclusive cpualias = “app_fg” policy = on-demand size { huge_1G = 4GB } no_zero = true } Un-initialized memoryLocalMem[1] Localmem[3] memdomain MainMem { type = numa cpualias = “all” policy = static size { huge_4K = 128MB huge_2M = 256MB } } Named Memory Partitions - Feature Process #1 Process #2 Process #3 DPDK memory R/W R/O LocalMem[2]MainMem u DPDK/Apps are attaching to named partitions pools (memdomains) u Multiple processes can attach to partitions with distinct access rights u Processes/threads can attach to named partitions on-demand
  • 9. 9 4K/2M 1G 1G 1G 1G 1G 1G 1G 1G Named Memory Partitions - Sequence DPDK memory Process #1 memzones allocated/used by Process #2 memory allocated/used by Process #1 DPDK Socket 0Primary Process 1) Primary Proc #1 and Proc #2 started 2) Primary Proc #1 inits “MainMem” partition 3) Proc #2 awakes, attaches to “MainMem” 4) Proc #1 and #2 attaches to “LocalMem” (allocates/maps partition) – no zero on req. 5) Both processes start allocating memory within their own partition (no contention) Zzzz… Process #2 LocalMem[1] DPDK SocketId 1<<8 LocalMem[2] DPDK SocketId 2<<8Access Control! Placement Control! Isolation! Memory Protection!
  • 10. 10 Named Memory Partitions - Possibilities u Flexible environment specific configuration u Adapt to different architectures, e.g. no page-size hard-coding in application u Adopting configuration to required policy, e.g. Performance, Security, Footprint u Performance tuning accelerated by publishing different configurations u Access control u External resource manager managing the resources of applications running in containers or VMs u Memory classification u Creating fast/medium/slow partitions on x86 (zero TLB miss, 2M huge, 4K) u Physically contiguous memory partition only for DMA
  • 11. 11 Named Memory Partitions - Possibilities u Virtual address space control: u Short pointer support by requesting specific virtual address range u On demand static or dynamic virtual address assignment u Transparent NUMA awareness u Each process requests local memory partition which is created based on the location of that instance u Scale up/down u Allocate/Free resources on-demand as processes start/stop u Support of different types of shared memory techniques u Named partition for Inter-container or Inter-VM shared memory (global namespace) u etc.
  • 12. 12 Previous Work DPDK Summit 2014 DPDK Userspace 2015