Friday, July 3, 2015

Notes about "Scaling Memcache at Facebook" paper (NSDI 2013)


Paper link: https://www.usenix.org/conference/nsdi13/technical-sessions/presentation/nishtala

1. memcached can reduce the latency. Memcached is a in-memory key-value store. It is similar to a cache. When there is a hit, the data just return from memory. When miss, the web server can go back to slow path by using SQL query which hit disk.

2. They provide a "lease" feature to reduce the work load and solve following two problem:
stale sets and thundering herds.. Thundering herds is a hot key which is read and written many times in a short time. By lease a token to client, memcached can refuse the writes if it is too frequently. (Btw, google file system has a "lease" concept too, which is used to discover failure servers).

3. The memcache is scaled from single cluster, to single region, to multiple regions.  They have different issues in different scale sizes. The main challenge is huge data, that is billions of requests per second, trillions of items and  a billion users around the world.

No comments: