tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Concurrent trie-hash map



Hi,

I recently implemented thmap [1] -- a concurrent trie-hash map, combining
the elements of hashing and radix trie.  It is supports lock-free lookups
and concurrent inserts/deletes.  It is designed to be optimal as a general
purpose *concurrent* associative array [2][3].

I am going to import it under src/sys/net/npf, so it could be used by NPF.
However, there are various other areas in the kernel where it could improve
the performance significantly, e.g. in the network stack, 5-tuple mapping
to socket (in_pcb.c).  While I currently do not have plans to work in those
areas, if anybody would like to use it elsewhere, I can import thmap in the
src/sys/kern directory.  Let me know.

Thanks.


[1] https://github.com/rmind/thmap
[2] http://www.netbsd.org/~rmind/thmap_lookup_80_64bit_keys_intel_4980hq.svg
[3] http://www.netbsd.org/~rmind/thmap_insert_80_64bit_keys_intel_4980hq.svg

-- 
Mindaugas


Home | Main Index | Thread Index | Old Index