You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Taras Ledkov (JIRA)" <ji...@apache.org> on 2017/04/10 15:10:42 UTC
[jira] [Commented] (IGNITE-3018) Cache affinity calculation is slow
with large nodes number
[ https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15963015#comment-15963015 ]
Taras Ledkov commented on IGNITE-3018:
--------------------------------------
Average count of primary partitions to migrate when one node leaves (test does about 100 topology changes).
NB: For pure-Rendezvous AF this value is 0.0.
For FairAF this value is <1.0
|| Nodes || Parts to migrate ||
| 2 | 13.8 |
| 3 | 13.4 |
| 4 | 18.1 |
| 6 | 17.5 |
| 8 | 16.8 |
| 10 | 19.4 |
| 64 | 26.3 |
| 100 | 6.1 |
| 200 | 3.8 |
| 300 | 3.9 |
| 400 | 2.7 |
| 500 | 0.6 |
| 600 | 1.8 |
> Cache affinity calculation is slow with large nodes number
> ----------------------------------------------------------
>
> Key: IGNITE-3018
> URL: https://issues.apache.org/jira/browse/IGNITE-3018
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Reporter: Semen Boikov
> Assignee: Yakov Zhdanov
> Labels: important
> Fix For: 2.0
>
> Attachments: 003.png, 004.png, 008.png, 016.png, 064.png, 100.png, 128.png, 200.png, 256.png, 400.png, 600.png, balanced.003.png, balanced.004.png, balanced.008.png, balanced.016.png, balanced.064.png, balanced.100.png, balanced.128.png, balanced.200.png, balanced.256.png, balanced.400.png, balanced.600.png
>
>
> With large number of cache server nodes (> 200) RendezvousAffinityFunction and FairAffinityFunction work pretty slow .
> For RendezvousAffinityFunction.assignPartitions can take hundredes of milliseconds, for FairAffinityFunction it can take seconds.
> For RendezvousAffinityFunction most time is spent in MD5 hash calculation and nodes list sorting. As optimization we can try to cache {partion, node} MD5 hash or try another hash function. Also several minor optimizations are possible (avoid unncecessary allocations, only one thread local 'get', etc).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)