Search Results for

    Show / Hide Table of Contents

    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.Cache.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.

    In This Article
    Back to top © 2015 - 2019 The Apache Software Foundation