Memcached is a commonly used lightweight key-value store, often used as a cache for pre-rendered page elements and session data in web applications.
Seastar memcached is a high-performance implementation of the standard memcache protocol for modern hardware.
All servers are running on Linux.
Designed for high throughput
While memached alone is a relatively simple workload, in typical server deployments a majority of CPU time for memcached servers is consumeed in the OS networking stack and in complex locking among threads.
Seastar applications use a shared-nothing model that shard all requests onto individual cores. Seastar runs one application thread per core, and depends on explicit message passing, not shared memory between threads. This design avoids slow, unscalable lock primitives and cache bounces.
Memory allocation designed for multicore
Unlike conventional OS and C library memory management, the Seastar memory allocator is:
NUMA-aware, not relying on kernel heuristics
core-local, for very high performance if malloc and free are paired on the same core
partitioned each core gets its own memory pool
supports integrated reclaim, where the allocator can directly request the application to release some memory when needed
The result is an unbeatable memcache implementation. Use fewer cloud resources for this important “commodity” service, and have room to scale for the future.