numerodix / emcache

memcached in rust
MIT License
53 stars 6 forks source link

Idea: use Relativistic Hash Tables #1

Open stereobooster opened 8 years ago

stereobooster commented 8 years ago

As of now implementation use LinkedHashTable, which is Double Linked List plus HashMap, which in turn is Robin Hood Hash Table.

How about to try to implement Relativistic Hash Tables which suppose to handle concurency much better.

Quote from paper

Applying this algorithm to memcached removes a scalability limit for get requests, allowing memcached to scale linearly and service up to 46% more requests per second.


Other interesting papers to explore:

Alternatives:

Malloc:

denji commented 7 years ago

Malloc: scalloc, llalloc, jemalloc, hoard, tcmalloc, ptmalloc2, tbbmalloc_proxy, supermalloc