[ https://issues.apache.org/jira/browse/IGNITE-13558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17402133#comment-17402133 ]
Denis Chudov commented on IGNITE-13558: --------------------------------------- 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: 2h 50m > 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)