Example 2: Thread Pool Allocation for a 4-core CPU
Consider a thread pool allocation scenario for a 4-core CPU using PTC RV&S properties:
• mksis.concurrent.maxThreadsPerCPUCore is set to 14
• mksis.concurrent.commonPoolRatioInPercentage is set to 50%.
• mksis.concurrent.taskLimitForCommonPool is set to 256.
• mksis.concurrent.maxThreadsForAdditionalPool: is set to 0.
The allocation is done as follows with the above-mentioned configuration:
• Total number of threads used for concurrent processing: 4 * 14 = 56
• Total number of threads used by the Common Pool: 56/2 (50% allocation) = 28
All operations involving 256 or less items will be processed in a Common Pool. Additional Pools can use a maximum of 4 threads each. Hence, there will be 7 (28/4) additional pools for each operation having more than 256 items.