ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Pereslegin (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-11584) Implement batch insertion of new cache entries in FreeList to improve rebalancing
Date Mon, 10 Jun 2019 13:25:00 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-11584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Pavel Pereslegin updated IGNITE-11584:
--------------------------------------
    Description: 
Main goals:
 * Implement batch insert operation into FreeList - insert several data rows at once
 * Use batch insertion in the preloader

  

Implementation notes:
 # Preloader cannot lock multiple cache entries at once, because this may lead to a deadlock
with concurrent batch updates. Therefore, it pre-creates batch of data rows in the page memory,
and then sequentially initializes the cache entries one by one.
 # Batch writing of data rows into data pages uses the free list as usual because other approaches
increase memory fragmentation (for example, using only "reuse" or "most free" buckets).
 # Eviction tracker assumes that only data pages with "heads" of fragmented data row are tracked,
so all other fragments of large data row should be written on separate data pages (without
other data rows which may cause page tracking).

  was:
Main goals:
 * Implement batch insert operation into FreeList - insert several data rows at once
 * Use batch insertion in the preloader

 

 

Implementation notes:
 # Preloader cannot lock multiple cache entries at once, because this may lead to a deadlock
with concurrent batch updates. Therefore, it pre-creates batch of data rows in the page memory,
and then sequentially initializes the cache entries one by one.
 # Batch writing of data rows into data pages uses the free list as usual because other approaches
increase memory fragmentation (for example, using only "reuse" or "most free" buckets).
 # Eviction tracker assumes that only data pages with "heads" of fragmented data row are tracked,
so all other fragments of large data row should be written on separate data pages (without
other data rows which may cause page tracking).


> Implement batch insertion of new cache entries in FreeList to improve rebalancing
> ---------------------------------------------------------------------------------
>
>                 Key: IGNITE-11584
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11584
>             Project: Ignite
>          Issue Type: Sub-task
>    Affects Versions: 2.7
>            Reporter: Pavel Pereslegin
>            Assignee: Pavel Pereslegin
>            Priority: Major
>              Labels: iep-32
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Main goals:
>  * Implement batch insert operation into FreeList - insert several data rows at once
>  * Use batch insertion in the preloader
>   
> Implementation notes:
>  # Preloader cannot lock multiple cache entries at once, because this may lead to a deadlock
with concurrent batch updates. Therefore, it pre-creates batch of data rows in the page memory,
and then sequentially initializes the cache entries one by one.
>  # Batch writing of data rows into data pages uses the free list as usual because other
approaches increase memory fragmentation (for example, using only "reuse" or "most free" buckets).
>  # Eviction tracker assumes that only data pages with "heads" of fragmented data row
are tracked, so all other fragments of large data row should be written on separate data pages
(without other data rows which may cause page tracking).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message