Gokul Soundararajan wrote:
Hi all,

I'm implementing a new replacement algorithm (clock-pro) for the CacheManager.
In this algorithm, there is a concept of a history item. Basically, after an
eviction, the algorithm remembers the page id for some time. I was wondering on
how this affects the semantics of create().

Just to refresh, in Clock, create() creates a new entry and adds to the cache.
But, it throws an exception if the cache already contains the item. In my
implementation, the new item may not exist, exist, or exist as a history item.
Should I throw an exception if I find it as a history item?

If I am interpreting it right, the "history" is an internal datastructure to the cache implementation for help with replacement
decisions.  Given that I would say that create() symantics should not
change, and that the internal implementation of clock-pro somehow
manages the "history" internal without exposing it to the cache
user.

At this point do you have a writeup of the replacement algorithm you
are implementing?

Thanks,

Gokul




Reply via email to