Skip to content

Add support to minimize noise from system #140

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions