> 在 2015年11月30日,下午11:04,Maxim Uvarov <maxim.uva...@linaro.org> 写道: > > On 11/30/2015 11:18, HePeng wrote: >> Hi, Maxim, >> How is everything going, about the ring? > > > Hello Peng, > > We need to take a look it it's possible to rewrite your hash implementation > to odp queues api instead of odp ring. > That will allow to use hw queues accelerators for hash. > > Maxim.
Hi Maxim, The ring structure in cuckoo hash is just a buffer storing the “key” address. The hash table stores all the keys. In this implementation, it is the hash table itself which maintains the memory of all the keys. When add a new key, the hash table will firstly allocate an“index” of the key using the ring, and when delete a key, the hash table will recycle the “index” of the key into the ring. All in all, this ring is like a free slots buffer storing all the free indexes. In my opinion, (while I did not do this in hardware), the ring is not a critical data structure in the scenario of hash table matching, because only when table update happens, the hash table will need to use the ring. Unless you use the hash table in a write-heavy scenario, and this hardware queue can help you to ease the lock contention in multi-core. So my opinion is that, 1) yes, we can use the queue to replace the ring, as long as the queue can be large enough to hold all the hash entries. 2) But I do not think it is a critical optimization. _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp