Accurate Methods For Benchmarking Hardware? 5
"Before all of you SW types out there get all defensive. You'll have to prove to me how the benchmark software is not affected by the entire system. Even between to identically configured systems, there will still be some amount of random error incurred by the OS's management of the system. On top of that, when trying to evaluate a particular subsystem's performance, you cannot show how other subsystems are affecting that performance. For instance, when moving large chunks of data in and out of memory to measure memory performance, how can you prove that no other part of the system is stealing bandwidth? How do you know that the AGP or HDD drivers aren't moving data as well? In addition, since a lot of performance differences are controlled by low level OS drivers and BIOS configurations, how do you know that you are truly measuring the memory performance, and not how well the OS drivers are optimized? BIOS can also play a big part. There have been many cases where performance increases with a new BIOS version because better chipset settings where used. This can be viewed best when two boards with identical chipsets are compared, and one performs better than the other, sometimes significantly. For the above mentioned article, one can ask if the results are skewed by the use of custom Micron OS improvements required to support their Samurai chipset? The conclusion, IMHO, is that benchmarks should be viewed as overall system measurments, even if they are designed to measure a specific part of the system.
The best way to measure a hardware subsystem like the memory channel, is to sit down a simulate transactions based on the published electrical timing specs provided by the vendors. Since these memory busses have very specific protocols, you can critically evaluate the performance based on how well the protocol performs under specific theoretical circumstances. I.E choose a specific amount of data to transfer, and then show how well the two different protocols can move the data. You can then tweak the parameters to find the best settings. In doing so, you can show, down to the picosecond, which protocol can move data the fastest without interference from the rest of the system. However, this all has to be done in a theoretical situation, independent of OS & SW.
By adding the rest of the overall system and the OS which can both steal uncontrolled bandwidth, you are actually yeilding suspect results. Let the flames fly, but what are your thoughts on this? Has anyone seen a hardware/electrical timing comparison between RDRAM and DDR?"
But aren't we interested in real world results? (Score:3)
Obviously, the most useful benchmarks would then provide detailed information on the entire configuration, possibly contrasting various configurations to point out slight differences that arise because of hardware, operating system and the like.
In the case you mention, I'd be extremely interested in knowing how DDR and Rambus work with different operating systems or different motherboards. And I'd be interested in seeing the differences with different types of applications. Most useful would be details on WHY the differences arise. Of course, that brings us full circle, back to the hardware details that you are interested in.
Best way to benchmark . . . (Score:1)
Re:But aren't we interested in real world results? (Score:2)
Basically, Andy Kleen made a patch he believed would slightly improve performance and posted some bechmarks he came up with. Linus asked for some real benchmarks in a user mode situation. Andy replied
to which Linus countered
For better or for worse, the real world is the one we live in.
Benchmark OS (Score:1)
Not reading
Could it be the.. (Score:1)