Skip to content

Add support to minimize noise from system #140

@smarr

Description

@smarr

ReBench should steer the user more aggressively to a setup that is more likely to avoid measuring noise.
Much of the currently observed noise seems a mistake on my part.

After Infinity got shutdown, I did not migrate and actually lost the scripts setting no_turbo and the performance settings on the current benchmark machine. An attempt to recreate the script is below. Another issue is that --without-nice creeped into the benchmark setting, probably because I didn't have sudo on the machine initially.

So, to make things less dependent on my remembering things, a PR should:

  • be more aggressive about use of nice, i.e., document consequences (more noise, more invocations needed), and try whether nice can be used even when flag is given and output a warning when it's available.

  • check @charig's branch whether we can lift any changes here: master...reactorlabs:PowerManagement

    • set min/max frequency (/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq, /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq, /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies) (not used, because it does not seem to force frequency on the system I am using)
  • look at https://github.com/intel/CommsPowerManagement and see whether we can use/borrow things

    • a tool to manipulate the various details in the sys file system
  • check @vext01's Krun for whether simple things are worth borrowing (cc @ltratt), e.g.:

  • report problematic settings at beginning and end of run so they are visible to the user, and a reminder to myself that something is going wrong

  • remove flag for not using nice and combine it into a setting which needs to be set in the configuration to disable attempts to reduce noise

  • for artifacts, we need a "reviewer-friendly" mode, which gives them information about the expected quality of data, but, does not make them think things are broken

  • the changes made should be stored as environmental details, and reported to ReBenchDB

set -x

echo Disable Turboboost
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

echo Current cpu governor settings
for i in {0..23}
do
  cat /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor
done

for i in {0..23}
do
  #cpufreq-set -c $i -g powersave
  cpufreq-set -c $i -g performance
  # powersave is the original setting
done

TODOs

Further Notes

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    To do

    Status

    📋 Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions