Why technical forum discussions don’t work

Although I am primarily technically and scientifically oriented, I am also somewhat intrigued by human behaviour and social values. I have discussed such topics before, and I would like to revisit the ‘tech-savvy’ issue, in light of the recent AMD Bulldozer developments.

The Dunning-Kruger effect

I think the basis of it all can be found in what is known as the Dunning-Kruger effect. It basically means that people don’t know enough about a subject to realize how much they don’t know. As a result, they assume that others cannot know much more than them either. So they overestimate their own knowledge, and at the same time, they underestimate the knowledge of others.

Especially people from backward cultures, where authority and social hierarchy are over-valued (such as the USA) seem to have a lot of trouble behaving in a forum discussion. Namely, in a forum discussion, people are generally anonymous (or at least: people are strangers to one another), so there is no established social hierarchy. You don’t know what education other people have, what professional experience they have, or anything like that. Even if someone is an expert in their field (a legitimate authority in real life), they are often not acknowledged as such by others (because of the Dunning-Kruger effect). Since these communities are often global, even if you would try to explain what experience you have, it often does not mean much to others (they are not familiar with the universities and companies in your country. So unless you work for one of the few big multinationals, they are not likely to acknowledge your level of knowledge and experience. If they never heard of your university or company, it can’t be any good).

There is only one hierarchy on most online discussion platforms, and that is the hierarchy of the forum staff: its owners, administrators and moderators. People often mistake this hierarchy to also be representative of the level of knowledge. So people will generally assume that staff members are experts in their field, while in reality this is rarely the case. And as we know, power corrupts, so many staff members also overestimate their own knowledge, and are less likely to admit that they are wrong.

John Fruehe handily exploited this situation: By making himself known as an AMD employee, he knew that he would gather a level of ‘virtual authority’ with the community that few other forum users could ever hope to gain. This made discussing with Fruehe virtually impossible. You could point out flaws in his reasoning, or even blatant misinformation, but since people saw Fruehe as the authority, and not you, all they saw was someone ‘breaking the hierarchy’. This is something they will consider disrespectful, rude, or even arrogant, while in reality it is none of these things. It is just normal discussion: one person presents some arguments, the other counters those arguments. It is not disrespectful, it is critical thinking.

Opinion or fact?

I believe that a related issue is that as a result of ignorance, people cannot distinguish opinion from fact properly. Most people seem to think of a CPU as some sort of magic black box. As if there is no way to estimate the performance of a CPU until you actually have the CPU at hand and run some benchmarks on it. Clearly a CPU is not black magic at all. If you know enough about CPU architecture and (perhaps more importantly) performance of code at the instruction level, you can generally extrapolate the merits of a new architecture based on the basic information that the manufacturer discloses.

In the case of Bulldozer, a few things were obvious as soon as AMD disclosed the module approach and the configuration of the execution units per module. Namely, since the modules shared the L2 cache and some other logic, it was obvious from day 1 that the OS would need to do some architecture-specific scheduling to avoid potential performance pitfalls. This is nothing new, as Intel and Microsoft have been working on similar issues with HyperThreading since Windows XP. Another issue that was obvious was that each thread in a module could perform only 2 ALU instructions and only 2 AGU instructions per cycle at most. Other architectures can do 3 ALU or 3 AGU instructions per cycle, and although it is difficult to sustain a rate of 3 instructions per cycle, it is quite possible to average well over 2 ALU or AGU instructions per cycle. A Bulldozer core is physically incapable of ever doing that. So it will have lower performance in these situations, and it will need to compensate for that elsewhere. As I said at the time: AMD will need some ‘special sauce’.

I think an even better example is Barcelona: AMD claimed 40% better performance than any x86 chip, including Intel’s quadcores. AMD touted the native quadcore design as being a big factor in better performance. However, AMD did not specify a lot of other technical improvements over the previous Athlon64/X2 architecture. So how much can a native quadcore design really improve over Intel’s approach? You can simply look at the facts: a native quadcore design could theoretically have more efficient communication between cores, where the two dies of Intel’s approach need to go through a bus (in this case the FSB) to talk to eachother. Note the word ‘theoretically’: the first Pentium D (Smithfield) was also a ‘native’ dualcore, in the sense that it was a single die. Likewise, the Athlon X2 was a ‘native’ dualcore, but neither really took advantage of the native design, and as a result the core-to-core communication was about equal to a dual-socket system with two single-core CPUs (again, this is not opinion, but an observed fact, since the latency of core-to-core communication can be measured with tools such as cache2cache). Intel’s Core Duo and Core2 Duo are examples of CPUs that do take advantage of the native design: there is a single L2 cache that is shared between both cores, and the core-to-core communication is considerably faster than on other dualcore CPUs.

And how much does core-to-core communication even matter for real-world performance? Remarkably little actually. After all, traditionally the only multi-core CPUs have been multi-socket systems, which have generally had reasonably poor core-to-core communication. The CPU caches had to be synchronized via a bus, causing quite a bit of extra overhead. Since this generally performs so poorly, applications are generally designed to require as little synchronization between cores as possible, in order to get the most out of the multiple cores in the system (having the cores wait on eachother to synchronize defeats the purpose of having multiple cores). In fact, even though Core2 Duo has the most efficient core-to-core communication by far, it generally still is not enough to make algorithms with a lot of shared memory accesses between cores work efficiently. In general the same algorithms as on lesser systems are preferred.

And ofcourse this is assuming we are dealing with software that is optimized for multi-core in the first place. For single-threaded software, the native design is not going to contribute anything at all, since there is only one active core: there is no core-to-core communication at all.

So how would AMD get 40% better performance out of a native quadcore design? That’s just completely implausible. Again, AMD would need some ‘secret sauce’ to get 40% performance. They didn’t have that, and as a result, the native quadcore performed more or less the same as a dual-socket system with two dualcores (such as their Quad FX platform).

These aren’t opinions, these are logical conclusions based on technical facts and empirical evidence. But if people are too ignorant to understand the technical background and the logic in the conclusion, then THEY think it is an opinion. So they misjudge the discussion, and as such, they misjudge the person in the discussion. Namely, technical facts and empirical evidence are not to be refuted or cast aside, unlike something subjective such as an opinion. Hence you might find the person defending this objective information more strongly than he would a subjective standpoint.

People may see it as arrogant. Being arrogant is basically an attitude that boils down to: “My opinion is better than anyone else’s, I’m right”. You could say that it is the promotion of one’s subjective views to the status of objective and universally true. However, when you are merely defending some information that already is objective and known to be universally true, what does that have to do with arrogance? They are not your own views, they are facts. People other than yourself have already presented and proven these facts to be true, they are not your own. It’s in the same category as people thinking that the world is flat. There is scientific proof that the world is not flat, and you could try to explain it to people, but if they just don’t understand it (or don’t want to acknowledge it: cognitive dissonance), then what can you do? People seem too focused on their own ego anyway. They are more concerned about the fact that your explanation is basically an indication that they are not as smart as they thought they were. They experience it as a personal insult. At that point they no longer care about the discussion itself, let alone learning something new.

Is an opinion always valid?

Then there is the other side of the debate: someone may be giving their opinion on the matter, rather than trying to do a technical analysis based on facts. But, is such an opinion always valid? No, it isn’t. If we take a dictionary definition of the word ‘opinion‘:

a belief or judgment that rests on grounds insufficient to produce complete certainty.

Now, what if this belief or judgement does NOT ‘rest on grounds insufficient to produce complete certainty’? That is: what if information is presented that proves these grounds incorrect? Then there is certainty that the opinion can not be correct. In other words: the opinion is based on wrong assumptions and/or draws a logically incorrect conclusion. So the opinion is not valid. People have a right to their own opinion, and people have the right to be wrong. But what if an opinion is shown to be wrong? Then at the very least it is poor form in a technical discussion to insist on one’s opinion anyway, despite the evidence to the contrary. People should also have the decency to admit when they are wrong, and not hide behind their right to an opinion.

Advertisements
This entry was posted in Hardware news, Uncategorized. Bookmark the permalink.

8 Responses to Why technical forum discussions don’t work

  1. Mkilbride says:

    Bravo. Another well done article. People so badly want to support AMD because they are the “under-dog”, which I find really funny, and ignore the technical facts.

    • Scali says:

      It wasn’t even meant to be about AMD in particular… just some recent examples of things I’ve experienced many times over the years, from various camps.
      I see people calling me an ‘nVidia troll’ these days, or things to that effect.
      Which is ironic, given my past, with threads such as these: http://forum.beyond3d.com/showthread.php?t=7782, or blog posts like these: https://scalibq.wordpress.com/2011/05/18/oh-dear-intel/
      Which proves beyond a shadow of a doubt that I don’t favour any company. I don’t like any kind of marketing nonsense, cheating, or other underhanded tactics, be it nVidia, Intel, AMD or any other company.

      • Bonzai says:

        Gotta save face. PR for the uninformed. It just sucks really. I would be pretty mad if I had bought a Bulldozer, especially with the blue screens going on with games. I find it very odd that AMD designed something that they claim is meant for Windows 8 but not for Windows 7. Why would you build something like that? Which I think is just another facade. But really, they would have probably been better off just delaying Bulldozer again to get it right. Alas, that isn’t how shareholders like it I guess. Blah, makes me mad thinking about AMD. Guess we’ll see how the GPUs favor next year.

        Right now though, I think we need the new next generation consoles to come out because holy crap are the games being held back due to technology limitations. PC users get the leftovers now. Infuriating. Seems to me technology for the PC with the latest video cards are being unused due to developers making console first, pc last.

  2. Val Paladin says:

    Very concise…although I fear you probably lost a fair percentage of readers once they recognized that the mirror was showing them their own knee-jerk reactions….assuming they managed to negotiate their way past “Dunning-Kruger” – not a given judging by some of the forum posting from sites that allow drive-by’s/guest posting….the nebulous semi-articulate

    Of course, the group mentality…and the identification/validation of self with a large impersonal company, when faced with an objective truth tends to close ranks, and I’ve noted, in some instances, leads to a period of group positive reinforcement to the point of presenting the message board as a wholly homologous entity – no dissenting viewpoint tolerated. Of course this tends to get rather boring once the opposing view has been eradicated, so the next step seems to be group members patrolling other sites with the sole purpose of antagonizing others/spreading the gospel in order to share their kill with the tribe/facilitate nerd-bonding (delete as applicable)…presumeably this translates to currency in the hierachy of the forum….a form of semi-acceptance

    • AbH Belxjander Draconis Serechai says:

      a good example of this is religious faiths and the extremists…

      definitely a “one size fits all” mentality that is NOT shared.

  3. Satan_in_your_Cup says:

    The fact that that AMD hyped to death for months with no real hardware demonstrations ought to have been a big red flag. From early information it was pretty easy to extrapolate that it was always going to be unnecessarily large, hot and just barely come within arm’s reach of older i7s. The past 2-3 years might have been better spent improving the existing Stars cores while drafting an alternative to dozer. Llano edges out a good 5-7% IPC gain over Thuban. Six of these on a 32nm package with a lot of L3 plus all the other architectural enhancements might have landed them a decent share of the budget enthusiast segment if it were priced competitively and overclocked well. It wouldn’t have been a Sandy Bridge, but it would have been a good deal better than bulldozer.

  4. Pingback: More thoughts… | Scali's OpenBlog™

  5. Pingback: More hate fail… | Scali's OpenBlog™

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s