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)