ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@apache.org>
Subject Re: Eviction policies with persistence
Date Fri, 02 Feb 2018 22:03:13 GMT
Dmitriy,

I’m surprised to hear that Random-LRU works at the entry level when Ignite persistence is
off. Frankly, this section confuses a lot:
https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood#IgniteDurableMemory-underthehood-Entryeviction
<https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood#IgniteDurableMemory-underthehood-Entryeviction>

While it was assumed that the entry-based eviction works only for on-heap caches:
https://apacheignite.readme.io/docs/evictions <https://apacheignite.readme.io/docs/evictions>

Alex G., please chime in and clarify the misunderstanding.

—
Denis

> On Feb 2, 2018, at 4:01 AM, Dmitry Pavlov <dpavlov.spb@gmail.com> wrote:
> 
> Hi Val,
> 
> I think it is quite accurate because eviction in case PDS enabled or not
> has quite different purposes.
> 
> 1. Let us consider PDS enabled and page eviction occurs. First of all it is
> page based eviction, but not entry-based. Actually data is not removed, but
> only written to disk. We can address this page later by ID.
> PDS eviction is primarily the replacement of pages from memory to page on
> disk. This eviction policy should ensure the maximum performance of the
> solution in the future. There is no data removal from grid in this case.
> And Ignite does not allow users to configure the policy. If benchmarks show
> that a change in policy results in increased performance, then we can
> switch policy.
> 
> 2. Entry-based eviction (if there is no persistence is available) is
> slithly different. User will need to reload data into grid in case entry is
> evicted but required in cache. In that case Ignite provides selection of
> policies.
> 
> Sincerely,
> Dmirtiy Pavlov
> 
> 
> 
> чт, 1 февр. 2018 г. в 22:24, Valentin Kulichenko <
> valentin.kulichenko@gmail.com>:
> 
>> Guys,
>> 
>> Thanks for responses. But I still fail to understand how it affects a user.
>> 
>> Are you saying that with persistence enabled Random-LRU is always used
>> regardless of what is specified in pageEvictionMode, while in in-memory
>> only scenario we can also utilize Random-2-LRU for eviction? Is this
>> accurate? Are there any other differences?
>> 
>> -Val
>> 
>> On Thu, Feb 1, 2018 at 5:01 AM, Dmitry Pavlov <dpavlov.spb@gmail.com>
>> wrote:
>> 
>>> Hi Vyacheslav,
>>> 
>>> Yes, this is right, but for now PDS page based eviction uses Random-LRU,
>>> not Random-2-LRU. Something may be changed in future Ignite releases, but
>>> now Random-LRU is used. I am going to research if there is some room for
>>> improvements in this aspect (e.g. IGNITE-7507 recenly found).
>>> 
>>> If clean page is evicted, nothing really happends. If dirty page is
>> evicted
>>> from region during checkpointing process run, page is stored in file
>> before
>>> eviction
>>> 
>>> Some info about this can be found in
>>> https://cwiki.apache.org/confluence/display/IGNITE/
>>> Ignite+Durable+Memory+-+under+the+hood#IgniteDurableMemory-
>>> underthehood-Pagebasedeviction
>>> 
>>> Sincerely,
>>> Dmitriy Pavlov
>>> 
>>> чт, 1 февр. 2018 г. в 9:53, Vyacheslav Daradur <daradurvs@gmail.com>:
>>> 
>>>> Hi Valentin,
>>>> 
>>>> As far as I know, when persistence is enabled and Ignite can't
>>>> allocate new page-memory in the memory segment, then Ignite
>>>> automatically evict some data from RAM to PDS using Random-2-LRU
>>>> eviction algorithm. And there are no mechanisms to evict entries out
>>>> when PDS is enabled.
>>>> 
>>>> I'll be glad if I am not right and someone will correct me because, as
>>>> Ignite user, I can't use PDS only as RAM disk replication for the use
>>>> case in my project.
>>>> 
>>>> 
>>>> On Thu, Feb 1, 2018 at 3:53 AM, Valentin Kulichenko
>>>> <valentin.kulichenko@gmail.com> wrote:
>>>>> Folks,
>>>>> 
>>>>> On "Eviction Policies" documentation page [1] we have the following
>>>> callout:
>>>>> 
>>>>>> Configured eviction policy has no effect if Ignite persistence is
>>>> enabled
>>>>>> Note that if Ignite Persistence is enabled, then the page-based
>>>> evictions
>>>>> have no effect because the oldest pages will be purged from memory
>>>>> automatically.
>>>>> 
>>>>> This really confuses me. Why is there a difference in how data is
>>> evicted
>>>>> from memory depending on having disk enabled or not? And how does
>>>> eviction
>>>>> work with persistence enabled then?
>>>>> 
>>>>> Does anyone can clarify?
>>>>> 
>>>>> [1] https://apacheignite.readme.io/docs/evictions
>>>>> 
>>>>> -Val
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Best Regards, Vyacheslav D.
>>>> 
>>> 
>> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message