[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-04-12 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15965729#comment-15965729
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 4/12/17 12:25 PM:


Patch without balancer: [PR1779|https://github.com/apache/ignite/pull/1779]
Branch {{ignite-3018}}
Waits for TC 
[results|http://195.239.208.174/project.html?projectId=IgniteTests=projectOverview_IgniteTests=pull%2F1779%2Fhead]


was (Author: tledkov-gridgain):
Patch without balancer: [PR1779|https://github.com/apache/ignite/pull/1779]
Branch {{ignite-3018}}

> 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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-04-12 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15965729#comment-15965729
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 4/12/17 12:24 PM:


Patch without balancer: [PR1779|https://github.com/apache/ignite/pull/1779]
Branch {{ignite-3018}}


was (Author: tledkov-gridgain):
Patch without balancer: [PR1779|https://github.com/apache/ignite/pull/1779]

> 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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-04-11 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15964431#comment-15964431
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 4/11/17 6:36 PM:
---

Tables below contains average count of partitions to rebalance (new assignment 
contains a node that doesn't exist in the previous assignment)
(2 backups, 1024 partitions)
|| Nodes ||  Fair (total) || Fair (parts on stable nodes)   
  ||Rendezvous (total)||Rendezvous (parts on stable nodes)||
| *3*  | 988.3|397.2 | 729.3 |  459.3 |
| *4*  | 790.7|563.1 | 638.3 |  392.3 |
| *6*  | 408.3|243.8 | 447.0 |  257.9 |
| *8*  | 322.8|195.8 | 380.2 |  235.7 |
| *10* | 270.8|156.2 | 314.1 |  194.7 |
| *64* | 47.2 |31.2  | 135.1 |  149.9 |

(2 backups, 10240 partitions)
|| Nodes ||  Fair (total) || Fair (parts on stable nodes)   
  ||Rendezvous (total)||Rendezvous (parts on stable nodes)||
| *100* | 324.7| 184.4| 570.5|425.1|
| *200* | 157.6| 96.6 | 769.1|692.6|
| *300* | 114.7| 62.3 | 935.7|285.9|
| *400* | 79.2 | 44.4 | 336.3|318.4|
| *500* | 63.0 | 34.9 | 277.3|256.7|
| *600* | 54.0 | 30.1 | 175.8|142.7|



was (Author: tledkov-gridgain):
Tables below contains average count of partitions to rebalance (new assignment 
contains a node that doesn't exist in the previous assignment)
(2 backups, 1024 partitions)
|| Nodes ||  Fair (total) || Fair (parts on stable nodes)   
  ||Rendezvous (total)||Rendezvous (parts on stable nodes)||
| *3*  | 988.3|397.2 | 729.3 |  459.3 |
| *4*  | 790.7|563.1 | 638.3 |  392.3 |
| *6*  | 408.3|243.8 | 447.0 |  257.9 |
| *8*  | 322.8|195.8 | 380.2 |  235.7 |
| *10* | 270.8|156.2 | 314.1 |  194.7 |
| *64* | 47.2 |31.2  | 135.1 |  149.9 |

(2 backups, 10240 partitions)
|| Nodes ||  Fair (total) || Fair (parts on stable nodes)   
  ||Rendezvous (total)||Rendezvous (parts on stable nodes)||
| *100* | 324.7| 184.4| 570.5|425.1|
| *200* | 157.6| 96.6 | 547.2|692.6|
| *300* | 114.7| 62.3 | 935.7|285.9|
| *400* | 79.2 | 44.4 | 336.3|318.4|
| *500* | 63.0 | 34.9 | 277.3|256.7|
| *600* | 54.0 | 30.1 | 175.8|142.7|


> 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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-04-11 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15964431#comment-15964431
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 4/11/17 6:33 PM:
---

Tables below contains average count of partitions to rebalance (new assignment 
contains a node that doesn't exist in the previous assignment)
(2 backups, 1024 partitions)
|| Nodes ||  Fair (total) || Fair (parts on stable nodes)   
  ||Rendezvous (total)||Rendezvous (parts on stable nodes)||
| *3*  | 988.3|397.2 | 729.3 |  459.3 |
| *4*  | 790.7|563.1 | 638.3 |  392.3 |
| *6*  | 408.3|243.8 | 447.0 |  257.9 |
| *8*  | 322.8|195.8 | 380.2 |  235.7 |
| *10* | 270.8|156.2 | 314.1 |  194.7 |
| *64* | 47.2 |31.2  | 135.1 |  149.9 |

(2 backups, 10240 partitions)
|| Nodes ||  Fair (total) || Fair (parts on stable nodes)   
  ||Rendezvous (total)||Rendezvous (parts on stable nodes)||
| *100* | 324.7| 184.4| 570.5|425.1|
| *200* | 157.6| 96.6 | 547.2|692.6|
| *300* | 114.7| 62.3 | 935.7|285.9|
| *400* | 79.2 | 44.4 | 336.3|318.4|
| *500* | 63.0 | 34.9 | 277.3|256.7|
| *600* | 54.0 | 30.1 | 175.8|142.7|



was (Author: tledkov-gridgain):
Tables below contains average count of partitions to rebalance (new assignment 
contains a node that doesn't exist in the previous assignment)
(2 backups, 1024 partitions)
|| Nodes ||  Fair  ||Rendezvous (balanced)||
| *3*  | 988.3 | 729.3 |
| *4*  | 790.7 | 638.3 |
| *6*  | 408.3 | 447.0 |
| *8*  | 322.8 | 380.2 |
| *10* | 270.8 | 314.1 |
| *64* | 47.2  | 135.1 |

(2 backups, 10240 partitions)
|| Nodes ||  Fair  ||Rendezvous (balanced)||
| *100* | 324.7| 570.5|
| *200* | 157.6| 547.2|
| *300* | 114.7| 935.7|
| *400* | 79.2 | 336.3|
| *500* | 63.0 | 277.3|
| *600* | 54.0 | 175.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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-04-11 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15964431#comment-15964431
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 4/11/17 2:19 PM:
---

Tables below contains average count of partitions to rebalance (new assignment 
contains a node that doesn't exist in the previous assignment)
(2 backups, 1024 partitions)
|| Nodes ||  Fair  ||Rendezvous (balanced)||
| *3*  | 988.3 | 729.3 |
| *4*  | 790.7 | 638.3 |
| *6*  | 408.3 | 447.0 |
| *8*  | 322.8 | 380.2 |
| *10* | 270.8 | 314.1 |
| *64* | 47.2  | 135.1 |

(2 backups, 10240 partitions)
|| Nodes ||  Fair  ||Rendezvous (balanced)||
| *100* | 324.7| 570.5|
| *200* | 157.6| 547.2|
| *300* | 114.7| 935.7|
| *400* | 79.2 | 336.3|
| *500* | 63.0 | 277.3|
| *600* | 54.0 | 175.8|



was (Author: tledkov-gridgain):
Tables below contains average count of partitions to rebalance (new assignment 
contains a node that doesn't exist in the previous assignment)
(2 backups, 1024 partitions)
|| Nodes ||  Fair  ||Rendezvous ||
| *3*  | 988.3 | 729.3 |
| *4*  | 790.7 | 638.3 |
| *6*  | 408.3 | 447.0 |
| *8*  | 322.8 | 380.2 |
| *10* | 270.8 | 314.1 |
| *64* | 47.2  | 135.1 |

(2 backups, 10240 partitions)
|| Nodes ||  Fair  ||Rendezvous ||
| *100* | 324.7| 570.5|
| *200* | 157.6| 547.2|
| *300* | 114.7| 935.7|
| *400* | 79.2 | 336.3|
| *500* | 63.0 | 277.3|
| *600* | 54.0 | 175.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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-04-10 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15963015#comment-15963015
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 4/10/17 7:23 PM:
---

Average count of primary partitions to migrate when one node leaves (test does 
about 100 topology changes, AF configured with 1K partitions).
NB: For pure-Rendezvous AF this value is 0.0.
For FairAF this value  <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  |



was (Author: tledkov-gridgain):
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  <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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-03-28 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15943316#comment-15943316
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 3/28/17 11:54 AM:


TC 
[results|http://195.239.208.174/project.html?projectId=IgniteTests=projectOverview_IgniteTests=pull%2F1647%2Fhead]

Tests results are OK with me. I don't see significant difference of the tests 
results between the master branch and the patch.


was (Author: tledkov-gridgain):
Waits for TC 
[results|http://195.239.208.174/project.html?projectId=IgniteTests=projectOverview_IgniteTests=pull%2F1647%2Fhead]

> 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: Taras Ledkov
> 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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-03-27 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15926181#comment-15926181
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 3/27/17 12:09 PM:


Core review with partitions balancer: 
[IGNT-CR-137|http://reviews.ignite.apache.org/ignite/review/IGNT-CR-137]


was (Author: tledkov-gridgain):
Core review with partitions balancer: 
[IGNT-CR-116|http://reviews.ignite.apache.org/ignite/review/IGNT-CR-116]

> 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: Taras Ledkov
> 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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-02-22 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15878234#comment-15878234
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 2/22/17 1:49 PM:
---

Chi^2 test:

|| Nodes ||  Fair   ||  Rendezvous (old)||   FastRendezvous   ||
|*5* | 0.04 | 0.003618|  0.002531 |
|*64*| 0.00 | 0.063599| 0.077637  |
|*100*   | 0.001740 | 0.113892| 0.115036  |
|*128*   | 0.00 | 0.121094| 0.125732  |
|*200*   | 0.004028 | 0.203918| 0.216888  |
|*256*   | 0.00 | 0.248535| 0.269531  |
|*300*   | 0.020813 | 0.280594| 0.287460  |
|*400*   | 0.037598 | 0.361847| 0.396179  |
|*500*   | 0.010895 | 0.501083| 0.504898  |
|*600*   | 0.071167 | 0.589584| 0.617050  |



was (Author: tledkov-gridgain):
Chi^2 test:

|| Nodes ||  Fair   ||  Rendezvous (old)||   FastRendezvous   ||
|*5*  | 0.002531 | 0.003618|  0.002531  |
|*64*| 0.077637 | 0.063599| 0.077637  |
|*100*   | 0.115036 | 0.113892| 0.115036  |
|*128*   | 0.125732 | 0.121094| 0.125732  |
|*200*   | 0.216888 | 0.203918| 0.216888  |
|*256*   | 0.269531 | 0.248535| 0.269531  |
|*300*   | 0.287460 | 0.280594| 0.287460  |
|*400*   | 0.396179 | 0.361847| 0.396179  |
|*500*   | 0.504898 | 0.501083| 0.504898  |
|*600*   | 0.617050 | 0.589584| 0.617050  |






















> 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
> Fix For: 2.0
>
> Attachments: 003.png, 064.png, 100.png, 128.png, 200.png, 300.png, 
> 400.png, 500.png, 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)


[jira] [Comment Edited] (IGNITE-3018) Cache affinity calculation is slow with large nodes number

2017-02-17 Thread Taras Ledkov (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15871804#comment-15871804
 ] 

Taras Ledkov edited comment on IGNITE-3018 at 2/17/17 1:04 PM:
---

[~yzhdanov], [~sboikov] , please review the 
[patch|https://github.com/apache/ignite/pull/684].


was (Author: tledkov-gridgain):
[~yzhdanov], please review the 
[patch|https://github.com/apache/ignite/pull/684].

> 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: Taras Ledkov
> Fix For: 2.0
>
> Attachments: 003.png, 064.png, 100.png, 128.png, 200.png, 300.png, 
> 400.png, 500.png, 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)