Hyperbolic Caching: Flexible Caching for Web Applications
https://www.usenix.org/conference/atc17/technical-sessions/presentation/blankstein
Last updated
https://www.usenix.org/conference/atc17/technical-sessions/presentation/blankstein
Last updated
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