Hyperbolic Caching: Flexible Caching for Web Applications
https://www.usenix.org/conference/atc17/technical-sessions/presentation/blankstein
Presentation



Multi-tier data center
Cache tier: e.x. redis or memcache
Properties: web-like request pattern, various item cost, item expiration and so on










Number of accesses: Frequency captures independent draws property of workloads
Time since i entered cache: Addresses problem of LFU by measuring relative popularity

Item requests: A A B C C
t = 1: pr(A) = 1
t = 2: pr(A) = 1
t = 3: pr(A) = 2/3, pr(B) = 1
t = 4, pr(A) = 2/4, pr(B) = 1/2, pr(C) = 1
t = 5, pr(A) = 2/5, pr(B) = 1/3, pr(C) = 2/2 = 1

Static workload

caching as a service company
16 applications with cache sizes chosen by the application developers
Only a few which Hyperbolic performs worse


item costs
CPU / DB load: experience a miss, cause the item is the result of the join rather than simple look up

GreedyDual
Incorporating cost into LRU



Stress one of the backend and measure tail latency
Tracking costs per item and per class
Load one of the backend, takes time to adjust to the knowledge --> spike in latency that is not experienced by per-class


Last updated
Was this helpful?