Originally posted by: victorjj
we are considering to buy a system with an AMD Opteron 2384 processor. We want to conduct some experiments with dynamic voltage frequency scaling (DVFS).
It seems the chips supports DVFS per core, so one core can be running at frequency X and the other core can do it at frequency Y. However, we are not sure how to access all the actuators to change frequency/voltage.
If I remember correctly, no Opteron has the ability to dynamically alter its core voltage independently of other cores. There are two voltages in the chip, one for all of the cores, L1, and L2 cache, and then another for the L3 cache and memory controller. The older 65 nm Opterons (model 2360/8360 and lower-numbered, 2 MB L3 cache) had the ability to alter the clock speed of each core independently of each other, but that feature was slightly buggy, especially under Windows, and was removed in the 45 nm Opterons like the 2384 you want to get. The speed of all cores go up and down together, just like in the older single- and dual-core Opterons.
Is cpufreq from Linux kernel supporting this?
Yes. The powernow-k8 module is the relevant kernel module, or at least it is on the single-socket equivalents (Phenom II X4) I have used.
I could only find support for K8 microarchitectures and a patch to read the temperatures for K10 microarchitecture (e.g., Opteron 2384). However, we are not sure whether is it possible to perform DVFS for K10 microarchitecture using cpufreq. Does anyone know anything about this? Any plans to support K10 in cpufreq?
At the very least, there is at least some K10 support in cpufreq. I have a Phenom II X4 unit I am working on that runs Debian Linux at the moment and its CPU speed and voltage scale up and down with load, governed by the powernow-k8 cpufreq driver. The silicon in the Phenom II X4 is the same as your Opteron 2384, so it should work similarly.