  We optimize hierarchies of Time-to-Live (TTL) caches under random network
delays. A TTL cache assigns individual eviction timers to cached objects that
are usually refreshed upon a hit where upon a miss the object requires a random
time to be fetched from a parent cache. Due to their object decoupling
property, TTL caches are of particular interest since the optimization of a
per-object utility enables service differentiation. However, state-of-the-art
exact TTL cache optimization does not extend beyond single TTL caches,
especially under network delays. In this paper, we leverage the object
decoupling effect to formulate the non-linear utility maximization problem for
TTL cache hierarchies in terms of the exact object hit probability under random
network delays. We iteratively solve the utility maximization problem to find
the optimal per-object TTLs. Further, we show that the exact model suffers from
tractability issues for large hierarchies and propose a machine learning
approach to estimate the optimal TTL values for large systems. Finally, we
provide numerical and data center trace-based evaluations for both methods
showing the significant offloading improvement due to TTL optimization
considering the network delays.
