vcpuperf output
I am trying to run vcpuperf to verify whether the CPU is being throttled and I ran into the following problem. The output of my last run is posted here.
[root@vertica-01-qa bin]# ./vcpuperf Compiled with: 4.1.2 20080704 (Red Hat 4.1.2-52)
Expected time on Core 2, 2.53GHz: ~9.5s
Expected time on Nehalem, 2.67GHz: ~9.0s
Expected time on Xeon 5670, 2.93GHz: ~8.0s
This machine's time:
CPU Time: 7.310000s
Real Time:7.320000s
Some machines automatically throttle the CPU to save power.
This test can be done in <100 microseconds (60-70 on Xeon 5670, 2.93GHz).
Low load times much larger than 100-200us or much larger than the corresponding high load time
indicate low-load throttling, which can adversely affect small query / concurrent performance.
This machine's high load time: 65 microseconds.
This machine's low load time: 329 microseconds.
[root@vertica-01-qa bin]# uname -r
2.6.32-431.3.1.el6.x86_64
It looks like the CPU is being throttled according to the above output. I have verified in the BIOS that its using the performance setting. Is there another place I should be checking the CPU or is this binary outdated and returning incorrect results?
[root@vertica-01-qa bin]# ./vcpuperf Compiled with: 4.1.2 20080704 (Red Hat 4.1.2-52)
Expected time on Core 2, 2.53GHz: ~9.5s
Expected time on Nehalem, 2.67GHz: ~9.0s
Expected time on Xeon 5670, 2.93GHz: ~8.0s
This machine's time:
CPU Time: 7.310000s
Real Time:7.320000s
Some machines automatically throttle the CPU to save power.
This test can be done in <100 microseconds (60-70 on Xeon 5670, 2.93GHz).
Low load times much larger than 100-200us or much larger than the corresponding high load time
indicate low-load throttling, which can adversely affect small query / concurrent performance.
This machine's high load time: 65 microseconds.
This machine's low load time: 329 microseconds.
[root@vertica-01-qa bin]# uname -r
2.6.32-431.3.1.el6.x86_64
It looks like the CPU is being throttled according to the above output. I have verified in the BIOS that its using the performance setting. Is there another place I should be checking the CPU or is this binary outdated and returning incorrect results?
0
Comments
The binary should be returning correct results. What it's doing is very simple -- it runs a bunch of computation, then sees how long it took.
This sounds like a problem with your computer's hardware or configuration. I would suggest asking around in the forum for your hardware vendor. You could also try posting more details here about your setup; no guarantees, but someone might be running something similar and have more information for you.
In addition to the BIOS, you could make sure that your Linux installation isn't configured to throttle CPUs automatically. This is distribution-dependent; most server distributions/installations won't do this, but installations targeted at desktops and laptops often have additional power-saving tools installed that work well in those environments but not so well on a server.
Adam
We have occasionally seen issues where an old/early BIOS release doesn't correctly manage some new power-management feature in a newly-released server. So the setting doesn't work as intended. The fix is usually a BIOS update.