Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-911

Partitioned Search test coverage: Round-robin part thread activation

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Major Major
    • Future
    • 7.3.0.Final
    • optaplanner-core
    • 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.

              Unassigned Unassigned
              jlocker Jiří Locker (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: