[
https://issues.apache.org/jira/browse/IGNITE-13558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17402133#comment-17402133
]
Denis Chudov edited comment on IGNITE-13558 at 8/20/21, 11:11 AM:
------------------------------------------------------------------
I added RestorePartitionStateBenchmark into ignite-benchmarks module.
It shows significant difference on a node with non-uniform distribution of
partitions count in different cache groups between current version and this
optimization (both approaches). In the same time, none of approaches has an
advantage, as I expected.
PR with my implementation: [https://github.com/apache/ignite/pull/9243]
PR with alternative approach, task per partition:
[https://github.com/apache/ignite/pull/9327]
PR for tests of current version: [https://github.com/apache/ignite/pull/9334]
Partition restore times on teamcity:
||PR||Run 1||Run 2||Run 3||
|9243|_795ms_|_804ms_|_935ms_|
|9327|_941ms_|_750ms_|_769ms_|
|9334|_1s515ms_|_1s590ms_|_1s471ms_|
was (Author: denis chudov):
I added RestorePartitionStateBenchmark into ignite-benchmarks module.
It shows significant difference on a node with non-uniform distribution of
cache group sizes between current version and this optimization (both
approaches). In the same time, none of approaches has an advantage, as I
expected.
PR with my implementation: [https://github.com/apache/ignite/pull/9243]
PR with alternative approach, task per partition:
[https://github.com/apache/ignite/pull/9327]
PR for tests of current version: [https://github.com/apache/ignite/pull/9334]
Partition restore times on teamcity:
||PR||Run 1||Run 2||Run 3||
|9243|_795ms_|_804ms_|_935ms_|
|9327|_941ms_|_750ms_|_769ms_|
|9334|_1s515ms_|_1s590ms_|_1s471ms_|
> GridCacheProcessor should implement better parallelization when restoring
> partition states on startup
> -----------------------------------------------------------------------------------------------------
>
> Key: IGNITE-13558
> URL: https://issues.apache.org/jira/browse/IGNITE-13558
> Project: Ignite
> Issue Type: Improvement
> Components: persistence
> Reporter: Sergey Chugunov
> Assignee: Denis Chudov
> Priority: Major
> Time Spent: 3h
> Remaining Estimate: 0h
>
> GridCacheProcessor#restorePartitionStates method tries to employ striped pool
> to restore partition states in parallel but level of parallelization is down
> only to cache group per thread.
> It is not enough and not utilizes resources effectively in case of one cache
> group much bigger than the others.
> We need to parallel restore process down to individual partitions to get the
> most from the available resources and speed up node startup.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)