Slashdot Mirror


PCMark Memory Benchmark Favors GenuineIntel

javy_tahu writes "A review by Ars Technica disclosed that PCMark 2005 Memory benchmark favors GenuineIntel CPUID. A VIA Nano CPU has had its CPUID changed from the original VIA to fake GenuineAMD and GenuineIntel. An improvement of, respectively, 10% and 47% of the score was seen. The reasons of this behavior of FutureMark product are not yet known."

91 of 298 comments (clear)

  1. Money by TheRealMindChild · · Score: 5, Insightful

    The reasons of this behavior of FutureMark product are not yet known

    Easy. Intel paid them to make it that way.

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    1. Re:Money by Shadow+Wrought · · Score: 5, Funny

      Yep. They increased the L2 Cash size.

      --
      If brevity is the soul of wit, then how does one explain Twitter?
    2. Re:Money by SimonGhent · · Score: 5, Interesting

      Easy. Intel paid them to make it that way.

      If anyone can come up with a better explanation I'd be interested to hear it.

      --
      simon
    3. Re:Money by Lord_Frederick · · Score: 4, Insightful

      Even if this is an unintentional error, they have certainly lost some credibility.

    4. Re:Money by ArcherB · · Score: 5, Informative

      Easy. Intel paid them to make it that way.

      If anyone can come up with a better explanation I'd be interested to hear it.

      TFA offers the following:

      At the very least, this suggests some incredibly sloppy coding on Futuremark's part, as the company may be enabling or disabling CPU optimizations based on a processor's vendor name in CPUID instead of actually checking CPUID for SIMD support. In this case, PCMark 2005's memory subsystem test doesn't appear to be aware that Nano supports SSE2 and SSE3, and is instead running a decidedly less-optimized code path. There are two factors, however, that make this explanation a bit difficult to swallow.

      First, there's the issue of timing. PCMark 2005 was released (obviously) in 2005, and was obviously coded with an eye towards supporting current and future processors. This is standard operating procedure for Futuremark, which always builds benchmarks designed to last for at least a year, and often two. VIA's C5N-T (Nehemiah) core may have only supported MMX and 3DNow!, but the C7 launched in 2005, and that processor supported SSE2 and SSE3 from day one. Even if proper extension support wasn't built into the first version of PCM2K5, we tested version 1.2.0, and that patch was released on or around 11-29-2006.

      Second, there's the issue of performance when Nano is identified as AuthenticAMD. If performance between the AMD and Intel CPUIDs was identical, there wouldn't really be a story here, but it isn't, and that's curious. Futuremark could plausibly argue that VIA's C3/C7 processors weren't exactly on the radar back in 2004-2005, but AMD and K8 certainly were, and K8 launched with full SSE and SSE2 support, with SSE3 added in 2005.

      There's more, but I don't want to quote the entire article.

      --
      There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
    5. Re:Money by Chrisq · · Score: 4, Funny

      It is just what you'd expect with "Intel" inside ..... even inside another manufacturer's processor!

    6. Re:Money by Chrisq · · Score: 4, Funny

      Easy. Intel paid them to make it that way.

      If anyone can come up with a better explanation I'd be interested to hear it.

      OK, far-fetched it maybe but what if VIA paid them to do it so that the expose would generate a lot of free advertising and ram home the information that the Nano is faster.

      Alternatively the US military could have engineered it to distract us from the possibility that they are working for aliens and have files full of UFO data on their systems. Gosh, i'd better hack in and take a look....

    7. Re:Money by ShieldW0lf · · Score: 5, Insightful

      Moral of the story is, when you're dealing with code like this, where it has the capacity to influence who receives billions of dollars and who doesn't, well, you can't trust it if it's closed source and not subject to public scrutiny.

      Closed source test suites cannot be trusted, shouldn't even be considered by potential purchasers, and have been misleading the public for years and years. This is mute evidence to the fact.

      --
      -1 Uncomfortable Truth
    8. Re:Money by Eponymous+Cowboy · · Score: 5, Informative

      I'll give 10:1 odds that Futuremark simply compiled their benchmark with Intel's C++ compiler.

      I wrote a detailed explanation back in 2005 about how the Intel C++ compiler generates separate code paths for memory operations to make AMD processors appear significantly slower, and how you can trick the compiled code into believing your AMD processor is an Intel one to see incredibly increased performance. See this article for additional details.

      --
      It's hard for thee to kick against the pricks.
    9. Re:Money by JamesP · · Score: 4, Interesting

      Yes, I remember that...

      But why would icc make AMD better than "no name" beats me.

      --
      how long until /. fixes commenting on Chrome?
    10. Re:Money by DrWho42 · · Score: 2, Insightful

      If the authors of this benchmark test were competent they would have written the code for low-level tests like memory bandwidth in assembly language, so compiler choice would not impact them.

    11. Re:Money by Kamokazi · · Score: 4, Insightful

      And this is partly why I generally ignore benchmark scores, and look at real-world performance. It's possible for the benchmark or the hardware being benchmarked to 'cheat' or at least behave very differently and produce bogus scores. If i'm looking for a new video card, I don't look at 3DMark scores, I look at framerates in games that I play (or that use the same engine). If I'm looking for a CPU, I'll look at RAR compression times or video encoding speeds. If I'm looking for a storage solution at work, I look at file copy speeds of similar file quantities and sizes, or I/O performance of a similar database.

      --
      As our way of thanking you for your positive contributions to Slashdot, you are eligible to disable Slashdot 2.0.
    12. Re:Money by Anonymous Coward · · Score: 5, Funny

      Mods, while you're at it, mod me +5 insightful for pointing out that the parent post was modded +4 insightful for pointing out that its parent was redunant...

    13. Re:Money by clickclickdrone · · Score: 5, Insightful

      This is just a classic example of amateur (poster) vs professional (Intel dev team).

      Writes an (anonymous) Intel representative.

      --
      I want a list of atrocities done in your name - Recoil
    14. Re:Money by Fumus · · Score: 5, Interesting

      What I don't get is why game developers don't release freeware benchmark versions of their engines.
      Saying that a config has 9000 points is pretty much useless. Saying that it gets an average of 40FPS in the UT3 benchmark at high details, and 1680x1050 is much more informative.

      Unfortunately, this also is a little bit more complicated, and as we know everything simpler is more popular with the dumb masses.

    15. Re:Money by CastrTroy · · Score: 2, Interesting

      That's what I would think they are doing. If you write a processor benchmark in C, you don't really know what it gets assembled into, you don't know if it's actually even using the SSE/SSE2/SSE3 optimizations. It's hard to know what path the program is taking unless you only give it one path. You'll still get some discrepancies between processors that don't support the same features, because the one that doesn't support SSE will take longer than the one that does, but at least you won't show one processor being faster, when it should in all senses be the same.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    16. Re:Money by SirShmoopie · · Score: 3, Insightful

      Ok then, point me to an open source benchmarking program that's as complete, and I'll use it.

      Might it just be that they got the software done as cheaply as possible, marked it as ready for release as soon as they could, and never bothered to fix what was obviously a glaring flaw?

      Anyway, as an open source developer myself I don't really buy this 'open source will always be better' deal. It can only be better if the project is fortunate enough to attract quality coders and designers. There are a lot more open source programs then there are highly skilled programmers willing and able to work on them.

    17. Re:Money by ShieldW0lf · · Score: 3, Insightful

      It doesn't have to be complicated. I can see a business case for a few large game developers to collaborate on creating a modular open source test suite that would allow a user to load, run and score game-based benchmarks. The modules themselves wouldn't have to be open source for it to be effective in gauging the performance of this game on this hardware. Then, if Intel pays the publisher a fortune to make this game run faster on their hardware than the others, that wouldn't corrupt the integrity of the test, just the game.

      --
      -1 Uncomfortable Truth
    18. Re:Money by CastrTroy · · Score: 2, Informative

      You have to still be pretty careful when looking at game benchmark scores. ATI has cheated before with popular games. I wouldn't put it past a lot of companies.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    19. Re:Money by Goaway · · Score: 4, Insightful

      What I don't get is why game developers don't release freeware benchmark versions of their engines.

      Because that would require a non-trivial amount of work for no substantive payoff?

    20. Re:Money by Cheesey · · Score: 2, Interesting

      Fine, testing is one reason for two code paths; you want to make sure the generated code works on all x86 CPUs, but you don't want to thoroughly test on all of them. But that means that icc isn't suitable for compiling benchmarks. because different code is being run depending on the CPUID. The comparison is not a fair test; you have two variables (the code and the CPU) instead of one (the CPU).

      Two questions:

      - Why didn't Intel tell benchmark writers not to use icc? Obviously the results will be unfair if an Intel CPU is being compared against a non-Intel CPU, and Intel will be accused of cheating.

      - Why not call the memcpy in the C library instead of doing a one-byte-at-a-time memcpy? Amateur coding? Or professional evilness masquerading as incompetence?

      --
      >north
      You're an immobile computer, remember?
    21. Re:Money by Fumus · · Score: 2, Interesting

      Non-trivial amount of work? If they already have a demo of the game ready (and they bloody should. no demos IMO result in more people pirating the game to 'try it out') I doubt a big effort is needed to make a floating-camera benchmark and some scripted effects.

    22. Re:Money by LarsG · · Score: 3, Insightful

      And why would Intel's compiler emit code that is not x86-compliant? Code should look at cpuid feature bits, not "GenuineIntel".

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
    23. Re:Money by Anonymous Coward · · Score: 5, Insightful

      Here, sir, is the Internet, which you have won fair and square.

    24. Re:Money by xerxesVII · · Score: 2, Insightful

      Too bad that just mentioning Larry the goddamned cable guy should undo any funny you are trying to give recognition to.

      --
      "We shall grapple with the ineffable, and see if we may not eff it after all." - Douglas Adams
    25. Re:Money by SanityInAnarchy · · Score: 4, Insightful

      Ok then, point me to an open source benchmarking program that's as complete, and I'll use it.

      glxgears.

      Seriously, when they are changing the results based on the vendor name, it makes any result suspect -- which makes it pretty much useless as a benchmark. At least with glxgears, while it may not be a particularly accurate benchmark, it's at least guaranteed to be fair.

      Anyway, as an open source developer myself I don't really buy this 'open source will always be better' deal.

      That's not the point of this exercise.

      Open source will not always make a better game, or a better office suite, or even a better text editor.

      But there are some kinds of software which you need to trust, and which are difficult to verify without the source. Benchmarks are one example. SSH clients are another. For these, I would not even consider a proprietary version -- it's not about features or relative quality; open source is a necessity.

      --
      Don't thank God, thank a doctor!
    26. Re:Money by Bert64 · · Score: 4, Interesting

      If your benchmark tool is going to use multiple code paths, then they should be configurable, so that you can benchmark different systems both using the same code and more optimal code. That way you'd get an idea of how much speedup various features provide.

      As an example, john the ripper's SSE2 support for cracking DES - on a core2 the SSE2 version is considerably faster and compiling the C version never comes anywhere close regardless of compiler and flags, but on an AMD compiling the generic C code with appropriate flags and a modern version of gcc produces slightly faster code.

      Running the SSE2 ver on a 2.3ghz core2 quad achieves about 2mil c/s per core, while a 2.3ghz amd phenom yields about 1.6, but compiling the C source with various flags and gcc versions makes amd slightly faster, while the core2 is nowhere close.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    27. Re:Money by Anonymous Coward · · Score: 2, Interesting

      Intel crossed the line when they made their compiler do optimizations based on the CPU vendor-ID "GenuineIntel" instead of the CPU feature-flags.

      The feature-flags are what Intel documented as the correct way to check if advanced features are supported by the CPU.

      And that is why our shop won't use Intel's ICC compiler.

    28. Re:Money by Goaway · · Score: 5, Insightful

      "Everything I don't know how to do is easy!"

    29. Re:Money by Some_Llama · · Score: 2, Insightful

      pcmark had credibility? These are the guys who make 3dmark right? the program that gives you a "score" that in no way reflects how your system will actually perform IRL?

      I don't know anyone who takes these as a serious benchmark.. just recently a friend and I ran 3dmark2008 (2007/) against both of our machines.. his won.. but when we ran actual game benchmarks (like the built in ones for crysis and quake4) mine beat his soundly. Go figure.. he had an Intel, i have an AMD.

    30. Re:Money by Splab · · Score: 2, Insightful

      Because the drivers will be optimized for these tests, rather than the game - they did it before, they will do it again (Nvidia and ATI sure wasn't above it).

    31. Re:Money by Skuld-Chan · · Score: 2, Insightful

      I've never worked in game development, but I know at other software companies I worked for anything that went out the door (no matter how small - whether it was paid for or not) to the consuming public had to have gone through a full QA cycle which took weeks - especially for apps that were available in more than one language.

      The reason for this is simple - if its crap (even if its free) you lose goodwill with the customer. For paid for applications doubly so because you may lose money on sales.

  2. GenuineIntel by Plantain · · Score: 5, Funny

    I'm a GenuineIntel, mod me 47% higher!

    --
    No, but I did throw granola at a deaf person once
    1. Re:GenuineIntel by Metorical · · Score: 5, Funny

      People running Intel can get Score: 7.35, Funny?

    2. Re:GenuineIntel by despe666 · · Score: 4, Funny

      If it's an intel processor doing the math, then yes

    3. Re:GenuineIntel by MSG · · Score: 2, Funny

      On the internet, no one can tell that you're a VIA Nano!

  3. Money? by IWantMoreSpamPlease · · Score: 3, Insightful

    Seems obvious, but follow the money trail, does PCMark get backing from Intel?

    --
    So rise up, all ye lost ones, as one, we'll claw the clouds.
  4. Compiler Optimization? by dlgeek · · Score: 2, Insightful

    A VIA Nano CPU has had its CPUID changed from the original VIA to fake GenuineAMD and GenuineIntel. An improvement of, respectively, 10% and 47% of the score was seen.

    It sounds to me like this could possibly be explained by some kind of conditional optimization that the compiler puts in for various chips, to take advantage of differences in their designs that can improve performance.

    Then again, probably not.

    1. Re:Compiler Optimization? by Plantain · · Score: 3, Insightful

      This could all be explained if they compiled with something silly like ICC

      http://www.theinquirer.net/en/inquirer/news/2005/07/13/intel-compiler-nobbles-amd-chips-claim

      --
      No, but I did throw granola at a deaf person once
    2. Re:Compiler Optimization? by k_187 · · Score: 2, Interesting

      Exactly, what happens when you run an AMD chip under both IDs? or an Intel? If the Intel optimizations are faster on all three, then there might be a problem, as it stands the via chip might just benefit more from the Intel optimizations than the AMD ones.

      --
      11 was a racehorse
      12 was 12
      1111 Race
      12112
    3. Re:Compiler Optimization? by mikeabbott420 · · Score: 4, Insightful

      Code that only used SSE3 or some such on the basis of the CPU ID might explain it but conspiracy is more fun to believe. Lies, Damn Lies and Benchmarks.

      --
      This program was made possible by a grant from the Ultra-Humanite, and viewers like you.
    4. Re:Compiler Optimization? by neokushan · · Score: 4, Insightful

      In all likelihood, this probably IS the case, but that still goes a long way to discredit Futuremark as it shows their benchmarks were certainly NOT fairly tested.

      --
      +1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill
    5. Re:Compiler Optimization? by MBCook · · Score: 4, Insightful

      You can't. That's why it was discovered now. Intel and AMD don't let you change the CPUID results on their CPUs. Via DOES let you change it. (You could hack the benchmark to change the checks, but then your results are invalid because you changed the benchmark code)

      Either way, that's not an excuse. As Ars points out, if it is just checking for something like SSE2 the Nano has that. If you want to make an optimized code path it should be based on if a feature is reported as present or not, not who made the CPU.

      It's just really REALLY fishy.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    6. Re:Compiler Optimization? by brunascle · · Score: 3, Insightful

      Exactly, what happens when you run an AMD chip under both IDs? or an Intel?

      As TFA mentions, we cant test it. AMD and Intel lock the CPUIDs on their chips. VIA doesnt. I do think AMD should do some testing in-house though, as I'm sure they could change the CPUID themselves. Though I wouldnt be surprised if they'd already tried this long ago. I know I would have. And if there were major discrepancies, we probably would have heard about it by now.

    7. Re:Compiler Optimization? by Anonymous Coward · · Score: 2, Insightful

      Yeah, except that ICC Intel optimizations frequently improve AMD scores as well (over generic optimizations). Not always as much as it helps Intel processors, but it does help some.

    8. Re:Compiler Optimization? by afidel · · Score: 5, Informative

      CPUID can be intercepted so it shouldn't be a big deal to grab the call and return whatever you want.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    9. Re:Compiler Optimization? by lastchance_000 · · Score: 3, Informative
    10. Re:Compiler Optimization? by poot_rootbeer · · Score: 2, Insightful

      It sounds to me like this could possibly be explained by some kind of conditional optimization that the compiler puts in for various chips, to take advantage of differences in their designs that can improve performance.

      I suppose it's possible that a VIA chip running code optimized for what the benchmark believes is an Intel CPU might perform better than the same chip running the benchmark's unoptimized code path, but as I understand it the VIA Nano is pretty entry-level; any optimizations present in it should probably be available to most CPUs across the market.

      Perhaps the unoptimized code is exceptionally sub-optimal, which is itself a way to skew results to make the Genuine* results look better.

    11. Re:Compiler Optimization? by harrkev · · Score: 2, Insightful

      If you're *really* out to test performance (and need that performance) you *will* optimize on a clock count basis and to know that, you have to know the implementation specifics of *the* processor you're on.

      Because, as we all know, real applications do this. Winzip has different code paths for different processors, as well as Office, and Photoshop, right?

      In real life, you do things in the fastest GENERIC way possible. If SSE should make it faster, check for the existence of SSE, and then use it. If SSE not present, fall back to MMX. That is what REAL applications do in REAL life. What good does a theoretical bandwidth do if no software actually uses it?

      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
    12. Re:Compiler Optimization? by omnipresentbob · · Score: 2, Insightful

      Which would explain why AMD only got a 10% boost and GenuineIntel a 47%?

  5. Possible semi-benign explaination? by davidwr · · Score: 5, Insightful

    This definitely requires clarification from the creator of the benchmark.

    It is possible that the benchmark uses the CPUID to change how the benchmark works, for example, to work around known flaws in a given chip. If this is the case, then the problem is not "omyghoshitplaysfavorites" but rather lack of full disclosure that the benchmarks are not directly comparable across different chips. In the most benign scenario, this could be someone at the benchmark creator's shop forgetting to tell the documentation team. This is still a very serious issue, but it's not fraud.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Possible semi-benign explaination? by SimonGhent · · Score: 2, Interesting

      That's an insightful explanation, but IMO the benchmark is then only valid is the operating systems people use make the same allowances for the different chips.

      One thing that doesn't seen to have been investigated is the permutations of the test - marking an Intel chip as a VIA, etc. If the differences are the same drop in performance as the improvement in marking a VIA as an Intel then your explanation has effectively been disproved.

      --
      simon
    2. Re:Possible semi-benign explaination? by MadKeithV · · Score: 3, Insightful

      But nothing changes in the CPU operation if you only change the reported CPUID. In the best case that means the 3DMark developers have spent a lot more optimizing for Intel specifically, applying a number of techniques that would have been just as valid for an AMD or VIA processor. They spent that effort without bothering to check the effect on the AMD and VIA specific paths, thus they did not get the same treatment as intel.
      And that's simply Intel favoritism.

  6. Re:Do I understand this correctly? by chalkyj · · Score: 4, Informative

    Is this like changing the user agent in a browser?

    Pretty much, yes.

  7. MMX/SMD Extensions by Cassini2 · · Score: 4, Insightful

    Could it be that FutureMark uses the GenuineIntel and AMD flags to enable processor specific extensions? and then does a whole bunch of math with those extensions and never bothers to check the result?

    This would indicate some really terrible code on FutureMarks part, and VIA should be flagging those op-codes as illegal op-codes, but it might be possible that something like this could happen. It is even possible that the CPUID checks are duplicated in some library somewhere that actually gets the correct code sequence right, and the main FutureMark code disables the advanced functions of the library whenever the GenuineIntel and AMD flags are missing. Thus FutureMark may feature both code sequences that work and those that don't, and the resulting incompatibilities are what causes the issues.

    1. Re:MMX/SMD Extensions by AcidPenguin9873 · · Score: 4, Informative

      The thing is, the x86 CPUID instruction gives you many different things in EAX/EBX/ECX/EDX depending on what you put into EAX before you execute it. The "GenuineIntel"/"AuthenticAMD" strings are what you get when you put 0 in EAX. When you put 1 in EAX, you get various feature bits in ECX and EDX, such as support for SSE/SSE2/SSE3. Any code worth its salt will base any decisions on those feature bits from CPUID function 1, not on the string you get from CPUID function 0.

  8. Why are they using a benchmark they can't read? by Ed+Avis · · Score: 4, Insightful

    Why would you even consider running a benchmark program you don't have source code for and cannot compile yourself? (If you are worried about random compiler differences messing up the results, you can check an MD5 sum of the final binary against the published one, but it is important that you can reproduce the binary from source and you can read the source to find out what it does.)

    If compilers like ICC cripple their code depending on CPUID, that will just lead all manufacturers to set CPUID to GenuineIntel, just as moronic websites (with help from Microsoft) ensured that all browsers call themselves 'Mozilla'.

    --
    -- Ed Avis ed@membled.com
  9. Benchmark by Rinisari · · Score: 3, Insightful

    Well, PC Mark 2005 is no longer good for testing processors against processors of another maker, i.e. only good for intra-AMD, etc.

  10. That should be AuthenticAMD... by LiquidFire_HK · · Score: 4, Informative

    That should be AuthenticAMD, not GenuineAMD.

    But that would be expecting editors to actually, you know, edit.

  11. Re:Additional instructions by CTho9305 · · Score: 4, Informative

    The CPUID instruction provides feature bits that software should use to determine which instructions are available. Using the vendor string is not a reasonable way of detecting the presence/absence of instruction set extensions like SSE.

  12. Numerology. by cp.tar · · Score: 3, Funny

    V+I+A == 224
    G+e+n+u+i+n+e == 715;
    Genuine+A+M+D == 925
    Genuine+I+n+t+e+l == 1223

    The bigger the number, the faster the processor. And you get 20% extra when you pass 1000.

    --
    Ignore this signature. By order.
    1. Re:Numerology. by cp.tar · · Score: 2, Funny

      its AuthenticAMD, not GenuineAMD

      Do not want! Ur in my numerologiez, ruining my calculationz!

      --
      Ignore this signature. By order.
  13. Closed Source Benchmarks? by bill_mcgonigle · · Score: 2, Insightful

    It sounds to me like this could possibly be explained by some kind of conditional optimization that the compiler puts in for various chips, to take advantage of differences in their designs that can improve performance.

    People are trusting closed-source benchmarks? Well, golly gee, who'd'a thunk there'd be errors, oversights, or shenanigans?

    If this was used for anything more than entertainment value, any methodical person would have at least compared multiple closed-source benchmarks. If that proved to be inappropriately favoring a vendor, then, OK, start calling 'conspiracy', but this just sounds like an error in a tool that was never validated.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:Closed Source Benchmarks? by Sir_Lewk · · Score: 5, Funny

      Obviously the only real benchmark is bogomips.

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
  14. CPUIDs by bestinshow · · Score: 4, Interesting

    VIA's is "CentaurHauls"
    AMD's is "AuthenticAMD"
    Intel's is "GenuineIntel"

    There's no "VIA" nor is there "GenuineAMD".

    Clearly PCMark2005 is buggy (at the best) and cannot be used to compare different CPU families in this test. At the worst it is intentionally flawed, and shouldn't be used at all.

    It's a shame that not one VIA Nano review benchmarked the built-in Padlock functionality. Not one OpenSSL benchmark.

  15. Am I missing something? by clickclickdrone · · Score: 3, Insightful

    It's a 3+ year old benchmark being let loose on 2008 vintage CPU's and making mistakes on it's optimisations. I wouldn't expect anything else. It's going to have a 3 year old view on the kind of things these CPUs can do and will act accordingly.

    --
    I want a list of atrocities done in your name - Recoil
  16. The more obvious answer by WindBourne · · Score: 2, Interesting

    The benchmarks is looking at the ID and making assumptions. These benchmarks run on Windows. So another possibility is that MS does an optimization that few know about. Any of these are plausible. Simplest answer should rule until proof shown otherwise; Bad assumptions made in OS or program.

    --
    I prefer the "u" in honour as it seems to be missing these days.
  17. Careful fraud could be much harder to spot by tucuxi · · Score: 2, Insightful

    If I were an evil fraudster at PCMark, paid for Intel to deliver worse scores to rivals, I would make sure that these rivals had no easy way of uncovering the fraud. Testing for an ID looks much more like bad code paths than like "sneaky fraud".

    There is no shortage of alternative quirks that can be used to see whether a given processor belongs to one family or another. Should enough of these quirks be combined, it would be *very* hard to discover an evil-related cause.

    Of course, choosing the 'bad' path given an ID may just be blatant enough to provide plausible deniability for the developers that "messed up". However, being a firm proponent of Hanlon's Razor, I would rather call it a bug than a "sponsored feature".

    On the other hand, kudos to the guys at Ars who thought of changing the ID and, when the numbers did not add up, make further tests to nail down the argument. Instead of just forgetting about the problem and performing a "review as usual", which would have doubtlessly required less effort. Yay for inquisitive hacker - reviewers.

  18. troll? really? mod up again! by Albert+Sandberg · · Score: 2, Interesting

    you got a point there which is important to the discussion, if the source is closed, how can we know if the test is fair?

    1. Re:troll? really? mod up again! by bigstrat2003 · · Score: 2, Insightful

      The same exact way you know if the test is fair if the source is open. The vast majority of us are trusting someone at some point along the line. News flash: 90% of the computer users in the world aren't programmers! They don't look at open source code to make sure they can trust it, they ask someone they consider to be a trusted source, who has earned that status by being reliable in the past. It doesn't matter if that trusted person is someone you know personally, some random dude on the internet, or a vendor.

      Contrary to the claims of OSS proponents, the code isn't really more trustworthy if it's open, because not all of us are programmers. If we were (hell, even if most of us were), that'd be true. As things are, though, closed source is only slightly less trustworthy than open source.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    2. Re:troll? really? mod up again! by deanoaz · · Score: 5, Insightful

      >>> Contrary to the claims of OSS proponents, the code isn't really more trustworthy if it's open, because not all of us are programmers. If we were (hell, even if most of us were), that'd be true. As things are, though, closed source is only slightly less trustworthy than open source.

      I disagree. At this point there is controversy. It will be explained by the vendor and people will have to either accept the explanation or not.
      If it were open source, the facts of how the code behaves could be determined by third parties and publicized. We wouldn't have to take anyone's word for it.

      --
      If 'the people' in Amendment 2 are 'the state' then Amendments 1, 2, 4, 9, and 10 benefit the state, not you.
    3. Re:troll? really? mod up again! by Dr_Barnowl · · Score: 4, Insightful

      $randomInternetDude

      If the source is open, you have multiple samples of $randomInternetDude to choose from. And it's not really random either. More like $internetDudeWithUnhealthyInterestInGameEngineProgramming, who I would expect to know a thing or two.

      And you can always learn enough to verify it for yourself, if you have the source.

      Better than trusting $corporatePrMan, anyway.

    4. Re:troll? really? mod up again! by bigstrat2003 · · Score: 3, Insightful

      Random in the sense of not knowing the person and how much you can trust them. So, to rephrase myself, $unknownInternetDude. He probably knows a thing or two, but then, so do the people who wrote this software, so that isn't really a factor. And I absolutely am not willing to trust $unknownInternetDude without a good reason. For all I know, that person is also $trojanAuthorOfDoom. It's just as unwise to trust him as it is to trust $corporatePrMan.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    5. Re:troll? really? mod up again! by asmussen · · Score: 4, Insightful

      The problem with this argument is that with open source software, you don't just have to trust a single random guy for your information. When the source is open, it is often the case that MANY people in the online community will examine the code, and through discussion there emerges a consensus which is far more reliable than the opinion of just one random guy. That isn't to say that the community as a whole is never wrong, but it's vastly more trustworthy and reliable than just some $randomInternetDude.

      --
      Shawn Asmussen
    6. Re:troll? really? mod up again! by Schmendr1ck · · Score: 2

      To expand on the parent's argument:

      With closed proprietary software, you get your information from one person/company (with a vested interest in convincing you to buy their product), and you have limited information that can be used to verify their claims.

      With open source, you get information from a community of users and developers. But more importantly, OSS source code is available to be looked at by anyone at any time - including you or a programmer that you trust. This alone strongly discourages behind-the-scenes trickery; it's too easy to get caught.

      It's not about trusting a particular random person or group of people - it's about having the information to verify that software does what it claims to do.

    7. Re:troll? really? mod up again! by Haeleth · · Score: 2, Insightful

      You're missing the point.

      With proprietary software, you only get one entity to assure you it's legit, and that's the vendor. If the vendor is a trojan author of doom, you're screwed.

      With open-source software, you get many people looking to see if there's anything sneaky going on. Since you have multiple samples, your result is more likely to be accurate. If one or more of them are trojan authors of doom, then it doesn't really matter, because the honest ones can spot and point out the malicious code.

    8. Re:troll? really? mod up again! by Anonymous Coward · · Score: 2, Insightful

      I trust neither, unless previously proven trustworthy. If either side's explanation is reasonable, then that's an indicator that they might be trustworthy, however, I won't believe either side's explanation without some sort of evidence to back it up.

      Yes, and the whole point of this argument that you are stubbornly failing to see is that with open source code, that evidence is easy to find and easy to produce.

      Closed source code:

      Random Internet guy: $PRODUCT is broken.
      Vendor: Oh no it isn't.
      10 Random Internet guy: Oh yes it is.
      Vendor: Oh no it isn't.
      GOTO 10

      Open source code:

      Random Internet guy: $PRODUCT is broken. Look at line 314 of hard_stuff.cpp -- it's checking the wrong variable!
      Vendor: Oops.

    9. Re:troll? really? mod up again! by NitroWolf · · Score: 2, Informative

      By whom? Someone trustworthy? Mathematics? You're clutching at straws there, dude.

      Uh, prior experience. Isn't that obvious? I don't have to trust someone to use their stuff. For example, I don't trust the people who put cracks up on gamecopyworld.com, necessarily... I just don't care. I use their stuff even though I don't trust them, and they could theoretically build up trust over time.

      The point is not that open-source is inherently more trustworthy than closed source, it's that an open-source vendor who claimed that their code could do something it couldn't do would lose credibility.
      Closed-source products give the vendor "credibility through obscurity", i.e. something for nothing.

      Uh... any vendor who claims their product does something it can't loses credibility. And when they claim they can do something that they can, in fact, do, they gain it. This is all very elementary, and has nothing to do with closed or open source.

      I have to think you are trolling, because I can't possibly believe that someone that's capable of typing on a keyboard can be so inept and unable to discern the difference between the level of trustworthiness on a given topic when an unrelated sample of the population gives it a thumbs up and a single vendor gives it a thumbs up.

      There's a reason science and statistic gathering uses random swaths of the population for information gathering. It provides a fairly accurate sample of the whole. Using a single data point, rarely, if ever, provides an accurate depiction of a larger system.

      When you accept the consensus of 1000 unrelated programmers who have no coinciding agenda nor any stake in the product succeeding or failing, you have a much more unbiased and therefore a much more likely to be accurate assessment of the code.

      When you accept what a single company tells you about their code, which they have an agenda (to sell more software) and a stake in the outcome/product success (to make more money), you automatically have a less accurate assessment and a HUGE bias in the assessment. You are likely to get a very inaccurate assessment of the code.

      The fact that you can't discern the difference between the two is evidence of mental retardation or trolling. Since you don't seem to write like someone with a metal handicap, I'm going to go with trolling. So stop.

    10. Re:troll? really? mod up again! by WNight · · Score: 2, Insightful

      Because software isn't religion. There's a right answer and a wrong answer. You prove things.

      Even if you can't look at a three-line code sample and follow the logic (which I doubt - if you tried) people could write a demonstration of the flaw in, for example, Ruby, which you could cut and paste into another browser window and run on someone else's computer so you didn't need to worry about trojans.

      If this was legit the code would look like this

      CPUID = get_cpu_id
      [...]
      case CPUID
          when 'Intel' ; enable_SSE2
          when 'AMD' ; enable_SSE
          else ; enable_nothing
      end

      Seriously, that's how complex it should look.

      With some searching even a non-programmer could find that simply by searching for strings like SSE and the logic should be fairly clear.

    11. Re:troll? really? mod up again! by NitroWolf · · Score: 2, Insightful

      Wow. Just wow. "I don't agree with you, so you must be trolling," is really rude, even for the internet. Consider not posting any more if you can't handle people who disagree with you.

      It's not the fact that I disagree with you, it's the fact that you are wrong. It's not an opinion, it's a fact. Therefore, you are trolling or are mentally handicapped, because you are no longer ignorant, since you've been informed you are wrong by a number of different people.

      I noticed you completely skipped over the part about how science and statistics are gathered. I put that there for a reason. It's to enlighten you to the fact that there IS A REASON wide swaths of random people are polled, and not just one or two people. It's because IT IS MORE ACCURATE.

      Furthermore, if all it takes for something to be trustworthy is for a lot of people to endorse it, then I'd believe a hell of a lot of things, many of them conflicting. Christianity, atheism, evolution, creationism, old music is better, new music is better... the list could extend for a very long time. Trustworthiness is based on past results. Nothing more, nothing less. One company can be just as trustworthy as the entire Internet, and the entire Internet can be just as untrustworthy as one company.

      It doesn't take a lot of people, it takes a lot of people who are experts in the field AND have no vested interest in the outcome. Everything you cite has lots of people who either not and expert, have a vested interest in the outcome, or BOTH.

      Trustworthiness is not based solely on past results. Trustworthiness is a product of verification and honesty. In the context we are talking about, it's also based on interests. The company in question has a vested interest in certain results, therefore their "conclusions" for those results should be automatically suspect if they confirm their claims. People skew reported data all the time, sometimes on purpose, sometimes not... but it happens, and it happens a lot. The same thing happens with companies/corporations (though usually it's on purpose).

      you automatically have a less accurate assessment

      Bull. You may still have a very accurate assessment, that's why you get someone who you trust to check it over for you. It may happen that you trust the company making the product, it may happen that you trust your brother who works on the Linux kernel in his spare time. The important thing is that you get the information verified by a trustworthy source, not whether or not it comes from the vendor or someone independent.

      How? How do you get someone you trust to check it over for you? I, you, your LInux kernel buddy doesn't have access to the code. How does he check it for you?

      It's kinda funny, since you claim to want someone to check it for you that is expressly NOT the company involved. This is why I know you're trolling, now. You agree, you just want to get a rise out of people by being an idiot.

      Good luck with that.

    12. Re:troll? really? mod up again! by Endo13 · · Score: 2, Insightful

      That's ALL you ever have, from ANYONE! Hell, if that's your reason for not trusting, I damn well hope you don't trust anyone at all. Anyone you know can only give you their own word that they will continue to be trustworthy in the future. That's what trust is!!

      No, you're wrong. That's not all you ever have. You completely missed the most important part: "All you have is their own word." See that? That means there is no else to vouch for them. That's what closed source is. When it's open source, you have a whole fucking lot more than just their own word. You also have the word of every other person who has the capability to read and understand the code. If one of them is lying, you can bet another of them will raise a big stink about it. And that's totally ignoring the fact that a closed-source software vendor always has incentive to present their software more favorably than they should. It's their own product, only they know the details, a they're always going to be favorably biased towards it. It should be an understood fact that a closed source vendor will always lie about their software as much as they can get away with. And they can get away with quite a bit. You can't get away with any lying at all with open source.

      --
      There is no -1 Disagree mod. Slashdot.org/faq defines mod options. USE IT.
  19. And here's the code: by Ihlosi · · Score: 2, Funny

    if(cpuid == "GenuineIntel")
    {
    Run_really_fast();
    }
    else if(cpuid == "AuthenticAMD")
    {
    Run_no_so_fast();
    }
    else
    {
    Run_slow();
    }

    1. Re:And here's the code: by Pink+Fandango · · Score: 2, Funny

      aren't those the startup lines of Vista?

    2. Re:And here's the code: by Ihlosi · · Score: 4, Funny
      aren't those the startup lines of Vista?

      No way. Vista doesn't even _try_ to run fast on any hardware.

  20. Re:Do I understand this correctly? by Tom9729 · · Score: 4, Insightful

    That's a pretty good analogy.

    If Futuremark is indeed enabling CPU features based upon the CPUID, then this situation is a lot like the webpages that render incorrectly in Firefox unless the user agent is set to Internet Explorer.

  21. Moronic or Corrupt? by OmniGeek · · Score: 5, Insightful

    Does it really matter whether the cause was "incredibly sloppy coding" or "Intel bribed them?" Either way, their benchmark cannot be trusted, and trustworthiness is ESSENTIAL for a benchmark. If anyone pays serious attention to this (which, having read TFA, it seems to merit), then FutureMark is toast.

    --

    "My strength is as the strength of ten men, for I am wired to the eyeballs on espresso."
  22. Re:Do I understand this correctly? by enoz · · Score: 5, Funny

    GenuineIntel/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1

    I can already feel the speed!

  23. Pick me, pick me! by pxc · · Score: 3, Informative

    The Phoronix Test Suite.

    It's Linux only, but a CPU that performs better on Linux will perform better on Windows.

  24. Agree; but could we formalize auditing more? by KWTm · · Score: 3, Interesting

    The problem with this argument is that with open source software, you don't just have to trust a single random guy for your information. When the source is open, it is often the case that MANY people in the online community will examine the code, and through discussion there emerges a consensus which is far more reliable than the opinion of just one random guy. That isn't to say that the community as a whole is never wrong, but it's vastly more trustworthy and reliable than just some $randomInternetDude.

    I agree with you.

    I was wondering if there is some way we can get code audited by the community on a more formal basis, perhaps with a bounty system and a reputation system, so that one might donate to get the KDE4 code audited by me ($10), or some KDE contributor ($300), or Linus Torvalds ($10000). Then these people could develop a formal reputation system, like + or - votes on SourceforgeAuditVoting.org. They'd use their PGP signature to sign the audits.

    Or something. I would view this as the next phase of the open source economy. Eventually companies might hire people with good reputations, to audit their own intra-company code.

    --
    404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
    [GPG key in journal]
  25. "optimized" benchmark is no benchmark! by KWTm · · Score: 2, Insightful

    Ok, here is what _might_ have happened perfectly legitimately and with no bad intent: When the benchmark was originally written, someone took his time to carefully write optimized code for the Intel, AMD and Via processors at that time. When running on a Via processor, the benchmark executes the code that ran fastest on a Via processor in 2005. When running on an AMD processor, it executes the code that ran fastest on an AMD processor in 2005, and so on.

    I'll give you credit for coming with a scenario that replaces malice with a heaping dose of incompetence. If what you say is true, then that's not a benchmark at all. After all, you're not comparing the same things; for all you know, you're comparing the skill of the programmer at writing for the VIA processor with the skill of the programmer at writing for the AMD processor.

    You might as well write a benchmark to see how long it takes for various processors to divide 4195835.0 by 3145727.0 and come up with 1.333739068902037589! (Note: The correct answer is 1.333820449136241002.)

    --
    404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
    [GPG key in journal]
  26. Sorry, what are you talking about? by p3d0 · · Score: 2, Insightful

    It's not a call, it's an instruction. Are you talking about intercepting it with virtualization? Or are you talking about modifying the benchmark code?

    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....