[jira] [Commented] (IGNITE-17524) Shutdown of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-08-12 Thread Arthur Naseef (Jira)


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

Arthur Naseef commented on IGNITE-17524:


Created a Pull Request: [https://github.com/apache/ignite/pull/10196]

The changes add another map that tracks service-name to service-info, and uses 
that map, in place of the existing linear search, for lookup.

> Shutdown of large numbers of servers slowed by linear lookup in 
> IgniteServiceProcessor
> --
>
> Key: IGNITE-17524
> URL: https://issues.apache.org/jira/browse/IGNITE-17524
> Project: Ignite
>  Issue Type: Improvement
>  Components: managed services
>Affects Versions: 2.13
>Reporter: Arthur Naseef
>Assignee: Arthur Naseef
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Cloned from IGNITE-17274.  That ticket addresses startup timing, and this one 
> addresses shutdown timing.
> Shutting down large numbers of services is slowed down by a linear lookup 
> that can be addressed by adding a map to perform the lookups.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17524) Shutdown of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-08-12 Thread Arthur Naseef (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-17524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arthur Naseef updated IGNITE-17524:
---
Fix Version/s: (was: 2.14)
  Description: 
Cloned from IGNITE-17274.  That ticket addresses startup timing, and this one 
addresses shutdown timing.

Shutting down large numbers of services is slowed down by a linear lookup that 
can be addressed by adding a map to perform the lookups.

  was:
Using a small POC, spinning up many servers is slow.  In addition, the startup 
time appears to be exponential.

Using timing measurements, found a linear lookup inside the 
IgniteServiceProcessor that is taking most of the time.

Replacing that linear lookup with a Map lookup, and maintaining the map, 
significantly speeds up the process, and startup time is now linear with the 
number of services started.

Note this was tested with 20K and 50K services on a 1-node ignite cluster.  
Timings against the stock 2.13.0 code come in at 30s for 20K and 250s for 50K 
services.  Modifying the linear lookup to use a Map, the timing come in at 8s 
for 20K and 14s for 50K services.

 


> Shutdown of large numbers of servers slowed by linear lookup in 
> IgniteServiceProcessor
> --
>
> Key: IGNITE-17524
> URL: https://issues.apache.org/jira/browse/IGNITE-17524
> Project: Ignite
>  Issue Type: Improvement
>  Components: managed services
>Affects Versions: 2.13
>Reporter: Arthur Naseef
>Assignee: Arthur Naseef
>Priority: Major
>
> Cloned from IGNITE-17274.  That ticket addresses startup timing, and this one 
> addresses shutdown timing.
> Shutting down large numbers of services is slowed down by a linear lookup 
> that can be addressed by adding a map to perform the lookups.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17524) Shutdown of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-08-12 Thread Arthur Naseef (Jira)
Arthur Naseef created IGNITE-17524:
--

 Summary: Shutdown of large numbers of servers slowed by linear 
lookup in IgniteServiceProcessor
 Key: IGNITE-17524
 URL: https://issues.apache.org/jira/browse/IGNITE-17524
 Project: Ignite
  Issue Type: Improvement
  Components: managed services
Affects Versions: 2.13
Reporter: Arthur Naseef
Assignee: Arthur Naseef
 Fix For: 2.14


Using a small POC, spinning up many servers is slow.  In addition, the startup 
time appears to be exponential.

Using timing measurements, found a linear lookup inside the 
IgniteServiceProcessor that is taking most of the time.

Replacing that linear lookup with a Map lookup, and maintaining the map, 
significantly speeds up the process, and startup time is now linear with the 
number of services started.

Note this was tested with 20K and 50K services on a 1-node ignite cluster.  
Timings against the stock 2.13.0 code come in at 30s for 20K and 250s for 50K 
services.  Modifying the linear lookup to use a Map, the timing come in at 8s 
for 20K and 14s for 50K services.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17274) Startup of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-07-05 Thread Arthur Naseef (Jira)


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

Arthur Naseef commented on IGNITE-17274:


Thank you for walking me through the update and the quick turn-around!

> Startup of large numbers of servers slowed by linear lookup in 
> IgniteServiceProcessor
> -
>
> Key: IGNITE-17274
> URL: https://issues.apache.org/jira/browse/IGNITE-17274
> Project: Ignite
>  Issue Type: Improvement
>  Components: managed services
>Affects Versions: 2.13
>Reporter: Arthur Naseef
>Assignee: Arthur Naseef
>Priority: Major
> Fix For: 2.14
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> Using a small POC, spinning up many servers is slow.  In addition, the 
> startup time appears to be exponential.
> Using timing measurements, found a linear lookup inside the 
> IgniteServiceProcessor that is taking most of the time.
> Replacing that linear lookup with a Map lookup, and maintaining the map, 
> significantly speeds up the process, and startup time is now linear with the 
> number of services started.
> Note this was tested with 20K and 50K services on a 1-node ignite cluster.  
> Timings against the stock 2.13.0 code come in at 30s for 20K and 250s for 50K 
> services.  Modifying the linear lookup to use a Map, the timing come in at 8s 
> for 20K and 14s for 50K services.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17274) Startup of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-06-29 Thread Arthur Naseef (Jira)


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

Arthur Naseef commented on IGNITE-17274:


The patch adds a new Map to track services by name, in addition to the original 
map that tracks the services by service-id.

Changes to the original map (get/put/...) updated to also update the new map.

Lookup by name now uses the map instead of a linear search of the original 
map's value set.

> Startup of large numbers of servers slowed by linear lookup in 
> IgniteServiceProcessor
> -
>
> Key: IGNITE-17274
> URL: https://issues.apache.org/jira/browse/IGNITE-17274
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.13
>Reporter: Arthur Naseef
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Using a small POC, spinning up many servers is slow.  In addition, the 
> startup time appears to be exponential.
> Using timing measurements, found a linear lookup inside the 
> IgniteServiceProcessor that is taking most of the time.
> Replacing that linear lookup with a Map lookup, and maintaining the map, 
> significantly speeds up the process, and startup time is now linear with the 
> number of services started.
> Note this was tested with 20K and 50K services on a 1-node ignite cluster.  
> Timings against the stock 2.13.0 code come in at 30s for 20K and 250s for 50K 
> services.  Modifying the linear lookup to use a Map, the timing come in at 8s 
> for 20K and 14s for 50K services.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17274) Startup of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-06-29 Thread Arthur Naseef (Jira)


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

Arthur Naseef commented on IGNITE-17274:


Pull request:

[https://github.com/apache/ignite/pull/10123]

 

> Startup of large numbers of servers slowed by linear lookup in 
> IgniteServiceProcessor
> -
>
> Key: IGNITE-17274
> URL: https://issues.apache.org/jira/browse/IGNITE-17274
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.13
>Reporter: Arthur Naseef
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Using a small POC, spinning up many servers is slow.  In addition, the 
> startup time appears to be exponential.
> Using timing measurements, found a linear lookup inside the 
> IgniteServiceProcessor that is taking most of the time.
> Replacing that linear lookup with a Map lookup, and maintaining the map, 
> significantly speeds up the process, and startup time is now linear with the 
> number of services started.
> Note this was tested with 20K and 50K services on a 1-node ignite cluster.  
> Timings against the stock 2.13.0 code come in at 30s for 20K and 250s for 50K 
> services.  Modifying the linear lookup to use a Map, the timing come in at 8s 
> for 20K and 14s for 50K services.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17274) Startup of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-06-29 Thread Arthur Naseef (Jira)


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

Arthur Naseef commented on IGNITE-17274:


POC code used to test:

[https://github.com/opennms-forge/distributed-scheduling-poc/]

 

Performance Notes:

[https://github.com/opennms-forge/distributed-scheduling-poc/wiki/Ignite-Startup-Performance]

 

Pull request is imminent.

> Startup of large numbers of servers slowed by linear lookup in 
> IgniteServiceProcessor
> -
>
> Key: IGNITE-17274
> URL: https://issues.apache.org/jira/browse/IGNITE-17274
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.13
>Reporter: Arthur Naseef
>Priority: Major
>
> Using a small POC, spinning up many servers is slow.  In addition, the 
> startup time appears to be exponential.
> Using timing measurements, found a linear lookup inside the 
> IgniteServiceProcessor that is taking most of the time.
> Replacing that linear lookup with a Map lookup, and maintaining the map, 
> significantly speeds up the process, and startup time is now linear with the 
> number of services started.
> Note this was tested with 20K and 50K services on a 1-node ignite cluster.  
> Timings against the stock 2.13.0 code come in at 30s for 20K and 250s for 50K 
> services.  Modifying the linear lookup to use a Map, the timing come in at 8s 
> for 20K and 14s for 50K services.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17274) Startup of large numbers of servers slowed by linear lookup in IgniteServiceProcessor

2022-06-29 Thread Arthur Naseef (Jira)
Arthur Naseef created IGNITE-17274:
--

 Summary: Startup of large numbers of servers slowed by linear 
lookup in IgniteServiceProcessor
 Key: IGNITE-17274
 URL: https://issues.apache.org/jira/browse/IGNITE-17274
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.13
Reporter: Arthur Naseef


Using a small POC, spinning up many servers is slow.  In addition, the startup 
time appears to be exponential.

Using timing measurements, found a linear lookup inside the 
IgniteServiceProcessor that is taking most of the time.

Replacing that linear lookup with a Map lookup, and maintaining the map, 
significantly speeds up the process, and startup time is now linear with the 
number of services started.

Note this was tested with 20K and 50K services on a 1-node ignite cluster.  
Timings against the stock 2.13.0 code come in at 30s for 20K and 250s for 50K 
services.  Modifying the linear lookup to use a Map, the timing come in at 8s 
for 20K and 14s for 50K services.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)