-
Story
-
Resolution: Unresolved
-
Major
-
7.3.0.Final
-
NEW
-
NEW
The current approach to distributing work to multiple CPU cores is to assign each PartitionSolver to a dedicated thread. It means that for N partitions there is N threads. In cases where N is higher that CPU count, user has the option to limit the number of threads that are active in a single point of time by setting runnablePartThreadLimit.
When it's not possible for all partition threads to be working at the same time, it is important to prevent partition starving by forcing active threads to do a regular check and yield to allow blocked threads to become active. According to documentation, partition threads to be allowed to become active in round-robin fashion.
It would be nice to have a test that checks partition starving prevention and round-robin activation. This test might also check that the runnablePartThreadLimit is not exceeded.
- relates to
-
PLANNER-919 Round-robin part thread activation doesn't work due to an unfair semaphore
- Resolved