Next: Promoting Hits Upwards
Up: The PROMOTE Technique
Previous: Achieving Exclusivity
While DEMOTE uses an additional bandwidth-intensive operation
(DEMOTE: similar to a page WRITE),
PROMOTE uses a boolean bit, called
, that is passed along with every READ reply, and
helps to decide which cache should own the page.
The
is set to true when a READ reply is first formed (cache hit or disk read) and
set to false in the READ reply when some cache decides to keep (own) it.
A READ reply with a false
implies that a lower cache has
already decided to own the page and the page should not be cached at the higher
levels.
When a cache receives a READ reply with a true
, the cache gets to decide whether to keep (own) the page locally or ``promote" it upwards.
At each cache level PROMOTE maintains a separate
value, which is the probability with which that cache will promote a page upwards.
If a cache decides to own the page (Lines 18-22), it changes the
to false in the reply and maintains a copy of the page locally.
In all other cases, a READ reply is simply forwarded to the higher cache with the
value unchanged,
and any local copy of the data is deleted from the cache.
The highest cache has
, implying that it always owns a page that it receives with a true
. A page received with a false
, implying that the page is already owned by a lower cache, is merely discarded
upon returning it to the application.
Next: Promoting Hits Upwards
Up: The PROMOTE Technique
Previous: Achieving Exclusivity
root
2008-01-08