Skip to content
Snippets Groups Projects

WIP: Allow bit-reproducible results with 1 main and 1 runner thread

Closed Ghost User requested to merge scheduler_determinism into master

A variety of mostly minor changes which allow reproducible results with a single runner. A couple one-line changes, where the original code is safe but hinders this goal, are enabled only by a DETERMINISTIC_SCHEDULE preprocessor flag. If you'd like to avoid preprocessor proliferation, these changes can be removed easily enough (but are probably worth documenting).

Resolves #58.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Ghost User Title changed from Allow bit-reproducible results with 1 main and 1 runner thread to WIP: Allow bit-reproducible results with 1 main and 1 runner thread

    Title changed from Allow bit-reproducible results with 1 main and 1 runner thread to WIP: Allow bit-reproducible results with 1 main and 1 runner thread

  • Should this be turned into an engine_policy ?

  • Author Contributor

    That's a nice idea, yes. Especially if (at another time, I'm not sure I can justify it right now) it were deterministic with more than just a single runner. I'll take a look at that. I also need to fix a deadlock due to a brain fart in scheduler_enqueue and check the performance is still OK.

  • My suggestions it mostly that we don't want to hinder the performance in the case where we have more than one threads and bit-reproducible results are not possible anyway.

  • Ghost User Added 10 commits:

    Added 10 commits:

    • 197f17a1...a7baf53d - 9 commits from branch master
    • b383d69e - Allow bit-reproducible results with 1 main and 1 runner thread
  • Ghost User Status changed to closed

    Status changed to closed

  • Author Contributor

    I'll close this for now. There's an occasional deadlock I need to fix, and I'd like to investigate the option of a deterministic scheduler with multiple runners for when consistency is more important than absolute performance.

Please register or sign in to reply
Loading