Hello,
We are running Ignite cluster on bare metal on a relatively high core count
machine (4x10 cores 20 threads), and looking some of the thread pool
initialization code:
(IgnitionEx.java)
sysExecSvc = new IgniteThreadPoolExecutor(
"sys",
cfg.getIgniteInstanceName(),
cfg.getSystemThreadPoolSize(),
cfg.getSystemThreadPoolSize(),
DFLT_THREAD_KEEP_ALIVE_TIME,
new LinkedBlockingQueue<Runnable>(),
GridIoPolicy.SYSTEM_POOL);
Notice that the core thread pool size is equals to the max thread pool
settings, which is by default same as the number of CPU cores. And in our
cases, we won't be reusing any threads until we have enough request coming in
to fill 80 threads. Also, we might want to tune the thread keep alive time to
improve thread reuse.
We would like to propose to change ignite so that users can configure the core
thread pool size in these Ignite thread pools. What is the best way to expose
these parameters for user to modify?
Would the ignite dev team prefer exposing individual core thread size and
others (ie. cfg.get/setSystemThreadPoolCoreSize(),
cfg.get/setSystemThreadPoolKeepAliveTime(), ..) or should we use a thread pool
configuration object? (e.g.
cfg.getSystemThreadPoolConfiguration(ThreadPoolConfiguration config) where
ThreadPoolConfiguration has get and set methods for core thread pool size, etc)?
Sunny Chan
Senior Lead Engineer, Executive Services
D +852 2600 8907 | M +852 6386 1835 | T +852 2600 8888
5/F, One Island East, 18 Westlands Road, Island East, Hong Kong
[:1. Social Media Icons:CLSA_Social Media
Icons_linkedin.png]<https://hk.linkedin.com/company/clsa>[:1. Social Media
Icons:CLSA_Social Media
Icons_twitter.png]<https://twitter.com/clsainsights?lang=en>[:1. Social Media
Icons:CLSA_Social Media
Icons_youtube.png]<https://www.youtube.com/channel/UC0qWp_lLnOcRYmBlCNQgZKA>[:1.
Social Media Icons:CLSA_Social Media
Icons_facebook.png]<https://www.facebook.com/clsacommunity/>
clsa.com<https://www.clsa.com/>
Insights. Liquidity. Capital.
[CLSA_RGB]<https://www.clsa.com/member>
A CITIC Securities Company
The content of this communication is intended for the recipient and is subject
to CLSA Legal and Regulatory Notices.
These can be viewed at https://www.clsa.com/disclaimer.html or sent to you upon
request.
Please consider before printing. CLSA is ISO14001 certified and committed to
reducing its impact on the environment.