[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: using intel i5 freqency governors



On 12/1/21 8:58 AM, Lee wrote:
The short story is that I have an Intel i3 windows 10 desktop with
cygwin installed and an Intel i5 debian desktop.  One of my scripts
takes about 10 minutes to run on the windows/i3 and 15 minutes on the
debian/i5!  ick

if i do
$ sudo cpupower frequency-set -g performance

then it takes about 10 minutes to run the script on the i5, **but**
the cpu frequency never drops down to power-saving mode when the
machine is idle - eg
$ sudo cpupower -c all frequency-info | grep 'call to kernel'
   current CPU frequency: 3.99 GHz (asserted by call to kernel)
   current CPU frequency: 3.95 GHz (asserted by call to kernel)
   current CPU frequency: 4.01 GHz (asserted by call to kernel)
   current CPU frequency: 3.91 GHz (asserted by call to kernel)
   current CPU frequency: 3.96 GHz (asserted by call to kernel)
   current CPU frequency: 4.00 GHz (asserted by call to kernel)

and more annoying, setting the frequency governor back to powersave
doesn't seem to drop the frequency all that much

$ sudo cpupower frequency-set -g  powersave
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5

$ sudo cpupower -c all frequency-info | egrep 'call to kernel|The governor'
                   The governor "powersave" may decide which speed to use
   current CPU frequency: 3.85 GHz (asserted by call to kernel)
                   The governor "powersave" may decide which speed to use
   current CPU frequency: 3.58 GHz (asserted by call to kernel)
                   The governor "powersave" may decide which speed to use
   current CPU frequency: 4.01 GHz (asserted by call to kernel)
                   The governor "powersave" may decide which speed to use
   current CPU frequency: 3.55 GHz (asserted by call to kernel)
                   The governor "powersave" may decide which speed to use
   current CPU frequency: 3.66 GHz (asserted by call to kernel)
                   The governor "powersave" may decide which speed to use
   current CPU frequency: 3.57 GHz (asserted by call to kernel)


How do I get the intel cpu "turbo boost" fully engaged when I'm
running my script and go back into power save mode when the machine is
idle?

Thanks
Lee


Which i3?  i5?  Debian?  Linux?


I assume your script is single-threaded (?).


I am unfamiliar with 'cpupower'. I use cpufreq-set(1) to set the governor and the Xfce panel applet "CPU Frequency Monitor" to monitor the CPU frequency and/or governor. The latter tool lets me choose a specific core, minimum, average, or maximum frequency.


My compute-bound single-threaded scripts cause the CPU frequency to increase to maximum on my quad-core i7:

2021-12-01 17:48:27 root@tinkywinky ~
# cat /etc/debian_version ; uname -a ; cpufreq-info -p
9.13
Linux tinkywinky 4.9.0-16-amd64 #1 SMP Debian 4.9.272-2 (2021-07-19) x86_64 GNU/Linux
800000 3300000 powersave


Perhaps your governor is somehow broken?


But, the best answer is to rewrite your script as a parallel program. The challenge is: what programming language? Shells can do simple parallelism via background tasks, if you can break up your script suitably. I have been beating my head against multi-threaded Perl for several years, but I do not recommend it. If you want a recent programming language designed for parallel programming, an obvious choice is Go. Erlang is older, very robust, and adds distributed programming, but the syntax is very different (Prolog based). I attempted Clojure, but never got off the ground. There are other choices.


David


Reply to: