Enum DataPageEvictionMode
Memory page eviction mode. Only data pages, that store key-value entries, are eligible for eviction. The other types of pages, like index or system pages, are not evictable.
Namespace: Apache.Ignite.Core.Configuration
Assembly: Apache.Ignite.Core.dll
Syntax
public enum DataPageEvictionMode : int
Fields
Name | Description |
---|---|
Disabled | Eviction is disabled. |
Random2Lru | Activates Random-2-LRU algorithm which is a scan resistant version of Random-LRU. This algorithm differs from Random-LRU only in a way that two latest access timestamps are stored for every data page. At the eviction time, a minimum between two latest timestamps is taken for further comparison with minimums of other pages that might be evicted. LRU-2 outperforms LRU by resolving "one-hit wonder" problem - if a data page is accessed rarely, but accidentally accessed once, its protected from eviction for a long time. |
RandomLru | Random-LRU algorithm. Once a memory region defined by a memory policy is configured, an off-heap array is allocated to track last usage timestamp for every individual data page. The size of the array equals to MaxSize / PageSize. When a data page is accessed, its timestamp gets updated in the tracking array. The page index in the tracking array equals to pageAddress / MaxSize. When some pages need to be evicted, the algorithm randomly chooses 5 indexes from the tracking array and evicts a page with the latest timestamp. If some of the indexes point to non-data pages (index or system pages) then the algorithm picks other pages. |