ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@apache.org>
Subject Re: Page Memory behavior with default memory policy
Date Tue, 18 Apr 2017 00:46:32 GMT

If a memory region is not expandable can we calculate the size of the default one automatically
rather than setting it to predefined value like 1 GB, 512 MB, etc. ?

For instance, when a node is being started it finds out how much RAM is available and requests
70-80% of it for the default memory region usage. This should help us avoid this usability
issue caused by the fact that we hard code the size.


> On Apr 17, 2017, at 2:24 PM, Dmitriy Setrakyan <dsetrakyan@apache.org> wrote:
> Sergey,
> What prevents us from making MemoryPolicy expandable? For example, why not
> allocate another 1GB, when user runs out of memory? In my view, this would
> make our memory policies a lot more usable.
> D.
> On Mon, Apr 17, 2017 at 2:42 AM, Sergey Chugunov <sergey.chugunov@gmail.com>
> wrote:
>> Hello Denis,
>> There is a small piece of documentation in *MemoryConfiguration *class,
>> although I think it should be moved to *MemoryPolicyConfiguration *and
>> detailed a lot.
>> I'm going to write some documentation soon about validation rules that are
>> applied to memory policies configuration (there are some restrictions about
>> reserved name, default memory policy name and so on). I'll let you know
>> when it is done.
>> About your question: MemoryPolicy offheap regions were never supposed to be
>> expandable. If user uses default MemoryPolicy (which in fact doesn't have
>> any eviction algorithm configured) he/she will get OutOfMemory error when
>> default size is exhausted.
>> This OOM behavior was left intentionally to be consistent with the previous
>> behavior as configuring some default eviction policy on default
>> MemoryPolicy may lead to data loss and it is better to communicate wrong
>> memory configuration to user even with OOM than silently drop some cached
>> values.
>> Thanks,
>> Sergey.
>> On Mon, Apr 17, 2017 at 12:01 AM, Denis Magda <dmagda@apache.org> wrote:
>>> Guys,
>>> I’ve been working on the documentation for page memory [1]. The doc is
>>> still in progress and it will be more profound with code snippets and
>>> pictures int the end, so don’t pay to the fact that it mostly consists of
>>> dry text only.
>>> So, the question is different. Presently, javadoc part is useless (and
>>> will be written by me as well) and it’s not clear what’s the default
>>> behavior of the page memory that has only one memory policy (default)
>> that
>>> instantiates a single memory region. Looking at the code I see that the
>>> default police creates 1 GB region that should be expandable because the
>>> policy doesn’t define an eviction algorithm. It means that if my app goes
>>> beyond 1 GB then the page memory will take more memory from an OS. Is my
>>> understanding correct?
>>> [1] https://apacheignite.readme.io/docs/page-memory <
>>> https://apacheignite.readme.io/docs/page-memory>
>>> —
>>> Denis

View raw message