Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rt(threaded): basic self-tuning of injection queue #5720

Merged
merged 25 commits into from
Jun 1, 2023

Commits on May 24, 2023

  1. rt(threaded): basic self-tuning of injection queue

    Each multi-threaded runtime worker prioritizes pulling tasks off of its
    local queue. Every so often, it checks the injection (global) queue for
    work submitted there. Previously, "every so often," was a constant
    "number of tasks polled" value. Tokio sets a default of 61, but allows
    users to configure this value.
    
    If workers are under load with tasks that are slow to poll, the
    injection queue can be starved. To prevent starvation in this case, this
    commit implements some basic self-tuning. The multi-threaded scheduler
    tracks the mean task poll time using an exponentially-weighted moving
    average. It then uses this value to pick an interval at which to check
    the injection queue.
    
    This commit is a first pass at adding self-tuning to the scheduler.
    There are other values in the scheduler that could benefit from
    self-tuning (e.g. the maintenance interval). Additionally, the
    current-thread scheduler could also benfit from self-tuning. However, we
    have reached the point where we should start investigating ways to unify
    logic in both schedulers. Adding self-tuning to the current-thread
    scheduler will be punted until after this unification.
    carllerche committed May 24, 2023
    Configuration menu
    Copy the full SHA
    df96c16 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2023

  1. fix loom tests

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    b7af661 View commit details
    Browse the repository at this point in the history
  2. fix build on MSRV

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    e93894b View commit details
    Browse the repository at this point in the history
  3. fix clippy

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    987d081 View commit details
    Browse the repository at this point in the history
  4. avoid tuning in loom tests

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    6db32b2 View commit details
    Browse the repository at this point in the history
  5. add a test

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    2e59745 View commit details
    Browse the repository at this point in the history
  6. try increasing loom scope

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    9ff9218 View commit details
    Browse the repository at this point in the history
  7. Revert "try increasing loom scope"

    This reverts commit 9ff9218.
    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    073412b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d07794e View commit details
    Browse the repository at this point in the history
  9. fix warnings

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    266a11d View commit details
    Browse the repository at this point in the history
  10. fmt

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    d91022d View commit details
    Browse the repository at this point in the history
  11. tweak test

    carllerche committed May 25, 2023
    Configuration menu
    Copy the full SHA
    034096b View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. try again

    carllerche committed May 26, 2023
    Configuration menu
    Copy the full SHA
    0dc2b8f View commit details
    Browse the repository at this point in the history
  2. try again

    carllerche committed May 26, 2023
    Configuration menu
    Copy the full SHA
    e3ab179 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4350c47 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    616a9ca View commit details
    Browse the repository at this point in the history
  5. try again

    carllerche committed May 26, 2023
    Configuration menu
    Copy the full SHA
    0bb5765 View commit details
    Browse the repository at this point in the history
  6. try again

    carllerche committed May 26, 2023
    Configuration menu
    Copy the full SHA
    eb4a7d3 View commit details
    Browse the repository at this point in the history
  7. tweak ci

    carllerche committed May 26, 2023
    Configuration menu
    Copy the full SHA
    b9eee6a View commit details
    Browse the repository at this point in the history

Commits on May 27, 2023

  1. Configuration menu
    Copy the full SHA
    c1784a9 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2023

  1. apply feedback

    carllerche committed May 30, 2023
    Configuration menu
    Copy the full SHA
    1bb42a9 View commit details
    Browse the repository at this point in the history
  2. tweak tuning

    carllerche committed May 30, 2023
    Configuration menu
    Copy the full SHA
    c5d5fe9 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2023

  1. try again

    carllerche committed May 31, 2023
    Configuration menu
    Copy the full SHA
    5d4c19f View commit details
    Browse the repository at this point in the history
  2. try again

    carllerche committed May 31, 2023
    Configuration menu
    Copy the full SHA
    da2a153 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    297099e View commit details
    Browse the repository at this point in the history