[dpdk-users] DPDK hash table dynamic growth
Fu, Qiaobin
qiaobinf at bu.edu
Mon Apr 17 19:44:55 CEST 2017
Thanks @Alex and @Stephen for pointing these valuable materials to me!
Maybe it’s better that I can clarify my scenarios more. Actually, we are using RSS (source + destination IP) to distribute packets, so we are maintaining one hash table per lcore (thread), and there is no need for synchronization issue in our case. If there are more solutions, please let me know. I will compare the solutions, and pick up the best suitable one.
Best,
Qiaobin
On Apr 17, 2017, at 1:30 PM, Alex Kiselev <kiselev99 at gmail.com<mailto:kiselev99 at gmail.com>> wrote:
I would take a look at:
1) http://preshing.com/20160201/new-concurrent-hash-maps-for-cpp/
2) https://github.com/efficient/libcuckoo
3)
http://high-scale-lib.cvs.sourceforge.net/viewvc/high-scale-lib/high-scale-lib/org/cliffc/high_scale_lib/NonBlockingHashMap.java?view=markup
https://www.youtube.com/watch?v=HJ-719EGIts
https://www.youtube.com/watch?v=WYXgtXWejRM
But there is a catch, none of them is written in C.
2017-04-17 19:54 GMT+03:00 Stephen Hemminger <stephen at networkplumber.org>:
On Mon, 17 Apr 2017 15:47:59 +0000
"Fu, Qiaobin" <qiaobinf at bu.edu> wrote:
Hello,
Currently, I am using the hash library to handle network flows defined as source and destination IP addresses. I need to find a way to alleviate memory pressure when the table is full. However, after some research, I didn’t find any hints on the dynamic growth in the hash library. Could anyone point me some hints on this? Thanks.
Best,
Qiaobin
If you need growing hash table, I recommend the lock-free hash table in the Linux userspace RCU library;
rather than the more limited DPDK one.
--
--
Kiselev Alexander
More information about the users
mailing list