NVM cache replacement policy #120
-
I had a question regarding the replacement policy of NVM cache. When an item in NVM cache is accessed, it is moved to DRAM. Does this leave a copy of that item in NVM? If it does leave a copy then how does it make space for the evicted item from DRAM that has to be admitted? Furthermore, how does it make a difference to select FIFO or LRU? Since after every hit the item is being moved to DRAM, the order of items evicted would be the same in LRU and FIFO. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
On access, an item is promoted to DRAM from NVM. The NVM copy stays in NVM. Eventually when an item is evicted from DRAM, we check whether or not it is "clean" (i.e. does it have a copy in NVM). If it's clean, we will not evict it to nvm cache again since it's already present. See architecture guide: https://cachelib.org/docs/Cache_Library_Architecture_Guide/hybrid_cache#item-allocation-and-eviction
Item in NvmCache still age out in some order. FIFO or LRU in Navy governs the how these items eventually are evicted out of NvmCache. A frequently accessed item will stay in NvmCache for longer with a LRU policy compared to FIFO. |
Beta Was this translation helpful? Give feedback.
On access, an item is promoted to DRAM from NVM. The NVM copy stays in NVM. Eventually when an item is evicted from DRAM, we check whether or not it is "clean" (i.e. does it have a copy in NVM). If it's clean, we will not evict it to nvm cache again since it's already present. See architecture guide: https://cachelib.org/docs/Cache_Library_Architecture_Guide/hybrid_cache#item-allocation-and-eviction
Item in NvmCache still age out in some order. FIFO or LRU in Navy governs the how these items eventually are evicted out of NvmCache. A frequently accessed item will stay in NvmCache for longer with a LRU policy compared to FIFO.