rr-debugger / rr-debugger/rr

Make rr's scheduler more sophisticated

Open
#800 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.7k
Forks
662
Avg merge
2d 3h
Merged PRs (30d)
2

Description

With the exception of strict priority classes, rr's scheduler is about as simple as it could be. One way to improve things is with #799.

Another, potentially complementary, way is to make rr's scheduler more sophisticated. OS schedulers are pretty much a solved problem on the research side. State of the art is HFSC and derivatives (linux does something related called CFS), at least as of a few years ago. It's relatively simple to implement and would let rr's scheduler behave more like linux's. This might improve perf or perceived responsiveness on recorder workloads.

We would want this to be the default, but also allow rr to have another mode where it scheduled using random or directed heuristics, for bug finding.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading issue #799 and reviewing rr's current scheduler behavior. Research HFSC, CFS, and the existing random or directed scheduling needs described here. Done means a more sophisticated scheduler is the default while an alternate mode remains available for bug-finding heuristics.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
devtools, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.