GD-Wheel: A Cost-Aware Replacement Policy for Key-Value Stores
Cox, Alan L.
Master of Science
Various memory-based key-value stores, such as Memcached and Redis, are used to speed up dynamic web applications. Specifically, they are used to cache the results of computations, such as database queries. Currently, these key-value stores use either LRU or an LRU approximation as the replacement policy for choosing a key-value pair to be evicted from the store. However, if the cost of recomputing cached values varies significantly, as in the RUBiS and TPC-W benchmarks, then neither of these replacement policies are the best choice. When deciding what key-value pair to replace, it can be advantageous to take the cost of recomputation into consideration. To that end, this thesis proposes a new cost-aware replacement policy, GD-Wheel, which seamlessly integrates recency of access and cost of recomputation. This thesis applies GD-Wheel to Memcached and evaluates its performance using the Yahoo! Cloud Serving Benchmark. The evaluation shows that GD-Wheel, when compared to LRU, greatly reduces the total recomputation cost, as well as the average and 99th percentile read access latency for the application.
Key-Value Store; Replacement Policy; Distributed System