CAMP: A Cost Adaptive Multi-Queue Eviction Policy for Key-Value Stores

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Ghandeharizadeh, Shahram, Irani, Sandy, Lam, Jenny, Yap, Jason
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866915003039219712
author Ghandeharizadeh, Shahram
Irani, Sandy
Lam, Jenny
Yap, Jason
author_facet Ghandeharizadeh, Shahram
Irani, Sandy
Lam, Jenny
Yap, Jason
contents Cost Adaptive Multi-queue eviction Policy (CAMP) is an algorithm for a general purpose key-value store (KVS) that manages key-value pairs computed by applications with different access patterns, key-value sizes, and varying costs for each key-value pair. CAMP is an approximation of the Greedy Dual Size (GDS) algorithm that can be implemented as efficiently as LRU. In particular, CAMP's eviction policies are as effective as those of GDS but require only a small fraction of the updates to an internal data structure in order to make those decisions. Similar to an implementation of LRU using queues, it adapts to changing workload patterns based on the history of requests for different key-value pairs. It is superior to LRU because it considers both the size and cost of key-value pairs to maximize the utility of the available memory across competing applications. We compare CAMP with both LRU and an alternative that requires human intervention to partition memory into pools and assign grouping of key-value pairs to different pools. The results demonstrate CAMP is as fast as LRU while outperforming both LRU and the pooled alternative. We also present results from an implementation of CAMP using Twitter's version of memcached.
format Preprint
id arxiv_https___arxiv_org_abs_2411_01246
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle CAMP: A Cost Adaptive Multi-Queue Eviction Policy for Key-Value Stores
Ghandeharizadeh, Shahram
Irani, Sandy
Lam, Jenny
Yap, Jason
Databases
Data Structures and Algorithms
Performance
Cost Adaptive Multi-queue eviction Policy (CAMP) is an algorithm for a general purpose key-value store (KVS) that manages key-value pairs computed by applications with different access patterns, key-value sizes, and varying costs for each key-value pair. CAMP is an approximation of the Greedy Dual Size (GDS) algorithm that can be implemented as efficiently as LRU. In particular, CAMP's eviction policies are as effective as those of GDS but require only a small fraction of the updates to an internal data structure in order to make those decisions. Similar to an implementation of LRU using queues, it adapts to changing workload patterns based on the history of requests for different key-value pairs. It is superior to LRU because it considers both the size and cost of key-value pairs to maximize the utility of the available memory across competing applications. We compare CAMP with both LRU and an alternative that requires human intervention to partition memory into pools and assign grouping of key-value pairs to different pools. The results demonstrate CAMP is as fast as LRU while outperforming both LRU and the pooled alternative. We also present results from an implementation of CAMP using Twitter's version of memcached.
title CAMP: A Cost Adaptive Multi-Queue Eviction Policy for Key-Value Stores
topic Databases
Data Structures and Algorithms
Performance
url https://arxiv.org/abs/2411.01246