The basic idea is to apply Belady's OPT algorithm in a cascaded fashion.
We start with the highest cache level, , and apply OPT to the request
sequence
, assuming a single cache scenario.
We note the misses from
with their timestamps and prepare another request sequence,
, for the lower cache
.
We repeat the same process at
, in turn generating
.
This is performed for each level and we keep a count of hits obtained at every level.
In other words,
and
, where
is a trace of the misses
when OPT is applied to the given request stream and cache size.
Once each level has learned its , all cache levels can operate
together replicating the result in real-time. Since this can be done practically, this policy by definition serves as the lower bound for the offline
optimal along any performance metric. Note that OPT-LB does not require any demotions
or reloads from disks. Even though OPT-LB does not guarantee exclusivity of caches, we experimentally confirm that OPT-LB is indeed
a very close lower bound for offline optimals for both average response time and
inter-cache bandwidth usage in multi-level caches.