9 ms·
A lot of impressive tricks here to get a memcached fast path into the kernel using ebpf. They focused only on short keys and values, only on UDP, used a simple
by eloff 5y ago
A lot of impressive tricks here to get a memcached fast path into the kernel using ebpf.
They focused only on short keys and values, only on UDP, used a simple hash table with no collision algorithm, and still had to split the code into 7 ebpf programs.
Quite an achievement though, I didn't think it was possible.
Also it seems udp memcached is not popular and hasn't been optimized well - it uses a single socket and spends a lot of time fighting for the kernel lock on that socket. Both the authors and Facebook patched memcached to get around that bottleneck. It's surprising that hasn't yet found its way upstream.
- fulafel 5y agoI wonder what explains the 10x speedup with patched memcached, vs the locking showing up as only 17.68% in the non-patched profile, in the 8 thread case. (disclaimer: didn't read the whole paper, maybe they explain it).