Re: Eviction policies with persistence

2018-02-07 Thread Denis Magda
Thanks folks. I’ll improve the doc by 2.4 release: IGNITE-7645 - Clarify eviction policy documentation — Denis > On Feb 6, 2018, at 11:25 PM, Alexey Goncharuk > wrote: > > Denis, > > Yes, if there are no

Re: Eviction policies with persistence

2018-02-06 Thread Alexey Goncharuk
Denis, Yes, if there are no concurrent updates and there are no ongoing transactions preventing the entries to be evicted, then the whole page will be purged. 2018-02-07 0:23 GMT+03:00 Denis Magda : > Alexey, > > Let me understand this part because it’s still not crystal

Re: Eviction policies with persistence

2018-02-06 Thread Valentin Kulichenko
Guys, thanks for all the clarification, it becomes more clear now. I second Denis' question though. And I actually don't think that we need to rename anything here. The concept of eviction as "freeing up memory when a user hits the memory limit" makes sense to me with both persistence enabled and

Re: Eviction policies with persistence

2018-02-06 Thread Denis Magda
Alexey, Let me understand this part because it’s still not crystal clear to me: > Now as per the > eviction mechanism, it is both per-page and per-entry: first, we choose a > page which fits most for eviction, however, we cannot simply erase the page > because quite a lot of data structures are

Re: Eviction policies with persistence

2018-02-05 Thread Dmitry Pavlov
Hi Folks, Thank you for your replies! I've updated wiki according Lucas & Alexey's notes. Thank you! https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood#IgniteDurableMemory-underthehood-Pagereplacement(rotationwithdisk) I've named this section 'Page

Re: Eviction policies with persistence

2018-02-05 Thread Ivan Rakov
Guys, +1 for renaming "eviction" for PDS mode. I'd choose "page replacement" over "page swapping" for two reasons: 1) We already have "replace" metrics in DataRegionMetrics. The less we change existing namings, the better. 2) "Page swapping" term is common in operating systems, and that's why

Re: Eviction policies with persistence

2018-02-04 Thread Dmitry Pavlov
Hi Alex, Thank you for explanation. Do you mind if I copy this explanation to wiki page? Strongly +1 for new term for page replacement mechanism for PDS mode. I like 'page swapping' because it has analogue in operating systems. New term will also identify feature by class name PageEviction...

Re: Eviction policies with persistence

2018-02-04 Thread Alexey Goncharuk
Guys, To clarify the questions, I would like to reiterate over the mechanics of evictions and then suggest a renaming that should resolve such things in the future. First of all, Lucas is right - eviction policy only makes sense when native persistence is disabled because what it does is

Re: Eviction policies with persistence

2018-02-02 Thread Denis Magda
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

Re: Eviction policies with persistence

2018-02-02 Thread Lucas Beeler
Hi Guys, I agree with both Val and Dmitriy. Dmitriy is technically correct, but Val is also right that we should clean up the language. Here’s what I mean by "cleaning up the language": unless I’m missing something, eviction policy has no effect when Ignite persistence is enabled, because

Re: Eviction policies with persistence

2018-02-02 Thread Dmitry Pavlov
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

Re: Eviction policies with persistence

2018-02-01 Thread Valentin Kulichenko
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

Re: Eviction policies with persistence

2018-02-01 Thread Dmitry Pavlov
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).

Re: Eviction policies with persistence

2018-01-31 Thread Vyacheslav Daradur
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

Eviction policies with persistence

2018-01-31 Thread Valentin Kulichenko
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