3 ms·
It's for networking apps where scaling is typically achieved by shared-nothing multi-threading making use of the receive-side-scaling feature of NICs. Incoming
by scaramanga 6y ago
It's for networking apps where scaling is typically achieved by shared-nothing multi-threading making use of the receive-side-scaling feature of NICs.
Incoming packets are hashed by their 5-tuple and divided among CPUs and a thread is capturing traffic on each CPU and works independently of the others.
Edit: so the answer is that the question if thread safety isn't addressed, since it doesn't arise in the intended use-case. But I'm sure it could be added with per-bucket locking since it is based on cuckoo hash.
- jsnell 6y agoSpecifically, here's the system the hash table was developed for: https://www.usenix.org/conference/atc18/presentation/andre https://www.usenix.org/conference/atc18/presentation/andre So yes, very much a system architecture with no locking or sharing.