Hi Igniters!

I am working on implementing batch updates in PageMemory [1] to
improve the performance of preloader, datastreamer and putAll.

This task consists of two major related improvements:
1. Batch writing to PageMemory via FreeList - store several values at
once to single memory page.
2. Batch updates in BPlusTree (for introducing invokeAll operation).

I started to investigate the issue with batch updates in B+ tree, and
it seems that the concurrent top-down balancing algorithm (TD)
described in this paper [2] may be suitable for batch insertion of
keys into Ignite B+ Tree.
This algorithm uses a top-down balancing approach and allows to insert
a batch of keys belonging to the leaves having the same parent. The
negative point of top-down balancing approach is that the parent node
is locked when performing insertion/splitting in child nodes.

WDYT? Do you know other approaches for implementing batch updates in
Ignite B+ Tree?

[1] https://issues.apache.org/jira/browse/IGNITE-7935
[2] https://aaltodoc.aalto.fi/bitstream/handle/123456789/2168/isbn9512258951.pdf

Reply via email to