Efficiency-optimal
Caches the objects with the highest request rate per unit size, whatever the provider: the largest aggregate hit rate.
(Cache) Congestion Control
∗ These authors contributed equally to this work.
Step 1 · Simple Example
A cache keeps copies of content close to users. A request for an object in the cache is a hit, served locally and fast. Otherwise it is a miss: the object comes from the provider’s distant origin server, slower and usually paid for by the provider.
A content provider, such as a video service, has a catalogue of objects (e.g. video chunks). Here three providers share a cache with 4 slots, one object per slot.
The request rate of each object is shown under each object.
Shared cache · 4 slots
What is shown: the cache holds the four most-requested objects. 39 of 48 req/min are hits, but provider C gets none. Who should get the cache?
Step 2 · The trade-off
Click an object to add it to the cache or remove it. Two numbers update:
Shared cache · 4 slots
An object can occupy the cache only a fraction of the time; its hit rate equals that fraction.
Step 3 · The model
Step 4 · The policies
A policy decides what the cache keeps.
Caches the objects with the highest request rate per unit size, whatever the provider: the largest aggregate hit rate.
Least Recently Used, as in real caches: on a miss, insert the object; when full, evict the one requested longest ago.
The most efficient allocation with equal net values: the largest common target h* whose minimum footprints fit in the cache together; each provider caches its most popular objects.
The paper’s controller. On each request it adjusts the object’s TTL (time-to-live: how long it stays cached) from request feedback, as congestion control does: a little longer if more cache time is worth its space, half as long if not. It approximates Fairness-optimal.
Step 5 · The experiment
It starts at the paper’s good case (§6): 20 providers with 50 equal-size objects each, a cache for 20% of all objects, 100 requests per second in total.
Two popularity distributions shape the requests: across providers (request volume Λi; provider 1 is the busiest) and within each catalogue (the same for all). Each gives rank r a share:
At the paper’s two settings, the good case and the bad case (§5: 1000 providers × 1 object), the page shows the values reported in the paper. Other settings are computed with the paper’s model: not paper results.
| Policy | Aggregate hit rate | Net-value CoV |
|---|
Net-value CoV (coefficient of variation): standard deviation / mean of the provider net values; 0 = all equal.
Computed with the paper’s model
Computed with the paper’s model
Provider 1