Example 1: Thread Pool Allocation for an 8-core CPU
Consider a thread pool allocation scenario for an 8-core CPU using PTC RV&S properties:
mksis.concurrent.maxThreadsPerCPUCore is set to 16.
mksis.concurrent.commonPoolRatioInPercentage is set to 50%.
mksis.concurrent.taskLimitForCommonPool is set to 100.
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: 8 * 16 = 128
Total number of threads used by the Common Pool: 128/2 (50% allocation) = 64
All operations involving 100 or less items will be processed in a Common Pool. Additional Pools can use a maximum of 8 threads each. Hence, there will be 8 (64/8) additional pools for each operation having more than 100 items.
Was this helpful?