Batch write to data pages

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Batch write to data pages

Pavel Pereslegin
Hello Igniters!

I'm working on implementing batch updates in PageMemory [1] to improve
the performance of batch operations. Details can be found in IEP-32
[2].

As the first step, I have prepared PR [3] with the implementation of
batch insertion of several data rows into the free list [4].

Performance increased by reducing the workload on the free list -
after acquiring a memory page, we can write several data rows before
putting the page into the free list. This approach is used in data
preloading. Preloader cannot lock multiple cache entries at once due
to possible deadlock with concurrent batch updates, so it pre-creates
batch of data rows in the page memory, and then sequentially
initializes the cache entries one by one.

Can someone review these changes?

[1] https://issues.apache.org/jira/browse/IGNITE-7935
[2] https://cwiki.apache.org/confluence/display/IGNITE/IEP-32+Batch+updates+in+PageMemory
[3] https://github.com/apache/ignite/pull/6364
[4] https://issues.apache.org/jira/browse/IGNITE-11584
Reply | Threaded
Open this post in threaded view
|

Re: Batch write to data pages

Mmuzaf
Pavel,

Thank you for your efforts!

I'll take a look, shortly.

On Fri, 14 Jun 2019 at 15:53, Pavel Pereslegin <[hidden email]> wrote:

>
> Hello Igniters!
>
> I'm working on implementing batch updates in PageMemory [1] to improve
> the performance of batch operations. Details can be found in IEP-32
> [2].
>
> As the first step, I have prepared PR [3] with the implementation of
> batch insertion of several data rows into the free list [4].
>
> Performance increased by reducing the workload on the free list -
> after acquiring a memory page, we can write several data rows before
> putting the page into the free list. This approach is used in data
> preloading. Preloader cannot lock multiple cache entries at once due
> to possible deadlock with concurrent batch updates, so it pre-creates
> batch of data rows in the page memory, and then sequentially
> initializes the cache entries one by one.
>
> Can someone review these changes?
>
> [1] https://issues.apache.org/jira/browse/IGNITE-7935
> [2] https://cwiki.apache.org/confluence/display/IGNITE/IEP-32+Batch+updates+in+PageMemory
> [3] https://github.com/apache/ignite/pull/6364
> [4] https://issues.apache.org/jira/browse/IGNITE-11584
Reply | Threaded
Open this post in threaded view
|

Re: Batch write to data pages

Pavel Pereslegin
Igniters,

Maxim Muzafarov and Anton Vinogradov reviewed my PR [1] for the task
described above [2],

Dmitriy Govorukhin, Alexey Goncharuk, please take a look at these changes.

Igniters, please, join the review. Your feedback is really appreciated.

[1] https://github.com/apache/ignite/pull/6364
[2] https://issues.apache.org/jira/browse/IGNITE-11584

пт, 14 июн. 2019 г. в 17:37, Maxim Muzafarov <[hidden email]>:

>
> Pavel,
>
> Thank you for your efforts!
>
> I'll take a look, shortly.
>
> On Fri, 14 Jun 2019 at 15:53, Pavel Pereslegin <[hidden email]> wrote:
> >
> > Hello Igniters!
> >
> > I'm working on implementing batch updates in PageMemory [1] to improve
> > the performance of batch operations. Details can be found in IEP-32
> > [2].
> >
> > As the first step, I have prepared PR [3] with the implementation of
> > batch insertion of several data rows into the free list [4].
> >
> > Performance increased by reducing the workload on the free list -
> > after acquiring a memory page, we can write several data rows before
> > putting the page into the free list. This approach is used in data
> > preloading. Preloader cannot lock multiple cache entries at once due
> > to possible deadlock with concurrent batch updates, so it pre-creates
> > batch of data rows in the page memory, and then sequentially
> > initializes the cache entries one by one.
> >
> > Can someone review these changes?
> >
> > [1] https://issues.apache.org/jira/browse/IGNITE-7935
> > [2] https://cwiki.apache.org/confluence/display/IGNITE/IEP-32+Batch+updates+in+PageMemory
> > [3] https://github.com/apache/ignite/pull/6364
> > [4] https://issues.apache.org/jira/browse/IGNITE-11584
Reply | Threaded
Open this post in threaded view
|

Re: Batch write to data pages

Pavel Pereslegin
Igniters,

Will someone else look at these changes [1]?

[1] https://github.com/apache/ignite/pull/6364
[2] https://issues.apache.org/jira/browse/IGNITE-11584

чт, 1 авг. 2019 г. в 18:53, Pavel Pereslegin <[hidden email]>:



>
> Igniters,
>
> Maxim Muzafarov and Anton Vinogradov reviewed my PR [1] for the task
> described above [2],
>
> Dmitriy Govorukhin, Alexey Goncharuk, please take a look at these changes.
>
> Igniters, please, join the review. Your feedback is really appreciated.
>
> [1] https://github.com/apache/ignite/pull/6364
> [2] https://issues.apache.org/jira/browse/IGNITE-11584
>
> пт, 14 июн. 2019 г. в 17:37, Maxim Muzafarov <[hidden email]>:
> >
> > Pavel,
> >
> > Thank you for your efforts!
> >
> > I'll take a look, shortly.
> >
> > On Fri, 14 Jun 2019 at 15:53, Pavel Pereslegin <[hidden email]> wrote:
> > >
> > > Hello Igniters!
> > >
> > > I'm working on implementing batch updates in PageMemory [1] to improve
> > > the performance of batch operations. Details can be found in IEP-32
> > > [2].
> > >
> > > As the first step, I have prepared PR [3] with the implementation of
> > > batch insertion of several data rows into the free list [4].
> > >
> > > Performance increased by reducing the workload on the free list -
> > > after acquiring a memory page, we can write several data rows before
> > > putting the page into the free list. This approach is used in data
> > > preloading. Preloader cannot lock multiple cache entries at once due
> > > to possible deadlock with concurrent batch updates, so it pre-creates
> > > batch of data rows in the page memory, and then sequentially
> > > initializes the cache entries one by one.
> > >
> > > Can someone review these changes?
> > >
> > > [1] https://issues.apache.org/jira/browse/IGNITE-7935
> > > [2] https://cwiki.apache.org/confluence/display/IGNITE/IEP-32+Batch+updates+in+PageMemory
> > > [3] https://github.com/apache/ignite/pull/6364
> > > [4] https://issues.apache.org/jira/browse/IGNITE-11584