PDA

View Full Version : Measuring Turbo and MSR related information



Drwho?
09-09-2009, 11:20 AM
guys,

I see a lot of people using tools to measure performance information out of the MSR (Internal registers for performance measurement, like trash cache information, frequency measurement etc ...)

Be aware that when you do so, you want to be using only one program at a time. It is usually not a problem, because the programs usually program the MSR at start up, but recently, many program started to sample faster.
In the case of Turbo measurement tools, they have to be sampling faster, because they are measuring something over time. When you do so, tools will be programming the MSRs in parallele, and only one set of MSR is available for each core, so, you will be running into situation where the MSR are program by program A while program B is reading it ... :yepp:

MSRs are designed to measure information that are not application specific, they measure deep into the system and those registers are not "thread protected", they are design to measure the entire machine.

So, golden rule, and it is valid for every brand of CPU, if you use fast sampling MSR programs, make sure you run only one of them.
I checked, this is clearly documented into both processor brand documentations.

I hope it does clarify for some of you guys, and it help you to understand the details about how those too work.
for deeper information: http://www.intel.com/products/processor/manuals/index.htm
in Vol 3B, appendix B1, http://www.intel.com/Assets/PDF/manual/253669.pdf , the entire mecanism is explained.

if you are interested into knowing more about this MSRs, please download the free evaluation of vTune, and ready the documentation, I am always here to help if you need... help yourself, become an expert!

Francois

poke349
09-09-2009, 11:50 AM
Interesting...

Though I won't be going that route for a while...

unclewebb
09-09-2009, 01:04 PM
Thanks for that Drwho?

I've seen more than one screen shot with a wide variety of monitoring software all trying to sample the same MSR registers at the same time and then beating up on the programs (or the programmers) for writing crappy software.

I agree, find a single monitoring program you like and stick with it.

i7 Turbo is only sampling the internal high performance timers once per second per thread so I don't think it is overloading or over sampling any processor that is running at 3 GHz and its results seem to be consistent and accurate.

Drwho?
09-10-2009, 10:01 AM
Let's see if people become reasonable... :)

Francois

W1zzard
09-11-2009, 10:19 PM
software developers should just get together and define a mutex for msr access .. we did that several years back for video cards and smbus and noone every complained since