4 ms·
Useful summary. Made me want to read about the ghost cache. The cache layout is: Probationary 10% + Traditional 90% (of memory). The idea is that most items a
by gridspy 3y ago
Useful summary. Made me want to read about the ghost cache. The cache layout is:
Probationary 10% + Traditional 90% (of memory).
The idea is that most items are not requested again prior to dropping out of probationary and so don't take up space and process in the Traditional Cache.
Some infrequently used items however would remain inside the Traditional cache but never make it through the probationary cache. So a small "ghost" cache is used to specifically detect these items rejected from the Probationary cache.
Next time we go to fetch a ghost item they go directly into the Traditional cache. The ghost cache is just storing metadata (pointers essentially).
- firstlink 3y agoWhat's the eviction rule from the ghost cache, though? Does it share an eviction queue with the Traditional cache?
- gridspy 3y agoIt is the same size as the traditional cache, but it is also a FIFO. Naturally it doesn't need to worry about tracking access, since the moment the ghost cache is "hit" the relevant memory location is loaded into the traditional cache and the ghost cache entry becomes irrelevant. So I guess that means the ghost cache could just be a queue.
- ramses0 3y agoSo a “bypass probation” ID-only queue.