How do you calculate DPDK mempool requirements?
Dylan Baros
dcbaros at utexas.edu
Mon Dec 5 18:32:40 CET 2022
How do you figure out what settings need to be used to correctly configure
a DPDK mempool for your application?
Specifically using rte_pktmbuf_pool_create():
- n, the number of elements in the mbuf pool
- cache_size
- priv_size
- data_room_size
EAL arguments:
- n number of memory channels
- r number of memory ranks
- m amount of memory to preallocate at startup
- in-memory no shared data structures
- IOVA mode
- huge-worker-stack
My setup:
- 2 x Intel Xeon Gold 6348 CPU @ 2.6 Ghz
- 28 cores per socket
- Max 3.5 Ghz
- Hyperthreading disabled
- Ubuntu 22.04.1 LTS
- Kernel 5.15.0-53-generic
- Cores set to performance governor
- 4 x Sabrent 2TB Rocket 4 Plus in RAID0 Config
- 128 GB DDR4 Memory
- 10 1GB HugePages (Can change to what is required)
- 1 x Mellanox ConnectX-5 100gbe NIC
- 31:00.0 Ethernet controller: Mellanox Technologies MT27800 Family
[ConnectX-5]
- Firmware-version: 16.35.1012
- UDP Source:
- 100 gbe NIC
- 9000 MTU Packets
- ipv4-udp packets
Will be receiving 10GB/s UDP packets over a 100gbe link. Right now trying
to get it working for 2GB/s to a single queue.
Reviewed the DPDK Programmers guide:
https://doc.dpdk.org/guides/prog_guide/mempool_lib.html Also searched
online but the resources seem limited. Would appreciate any help or a push
in the right direction.
Sincerely,
DB
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/users/attachments/20221205/82089938/attachment.htm>
More information about the users
mailing list