Wednesday, January 23rd 2019

Bulldozer Core-Count Debate Comes Back to Haunt AMD

AMD in 2012 launched the FX-8150, the "world's first 8-core desktop processor," or so it says on the literal tin. AMD achieved its core-count of 8 with an unconventional CPU core design. Its 8 cores are arranged in four sets of two cores each, called "modules." Each core has its own independent integer unit and L1 data cache, while the two cores share a majority of their components - the core's front-end, a branch-predictor, a 64 KB L1 code cache, a 2 MB L2 cache, but most importantly, an FPU. There was much debate across tech forums on what constitutes a CPU core.

Multiprocessor-aware operating systems had to be tweaked on how to properly address a "Bulldozer" processor. Their schedulers would initially treat "Bulldozer" cores as fully independent (as conventional logic would dictate), until AMD noticed multi-threaded application performance bottlenecks. Eventually, Windows and various *nix kernels received updates to their schedulers to treat each module as a core, and each core as an SMT unit (a logical processor). The FX-8350 is a 4-core/8-thread processor in the eyes of Windows 10, for example. These updates improved the processors' performance but not before consumers started noticing that their operating systems weren't reporting the correct core-count. In 2015, a class-action lawsuit was filed against AMD for false marketing of FX-series processors. The wheels of that lawsuit are finally moving, after a 12-member Jury is set up to examine what constitutes a CPU core, and whether an AMD FX-8000 or FX-9000 series processor can qualify as an 8-core chip.
US District Judge Haywood Gilliam of the District Court for the Northern District of California rejected AMD's claim that "a significant majority of" consumers understood what constitutes a CPU core, and that they had a fair idea of what they were buying when they bought AMD FX processors. AMD has two main options before it. The company can reach an agreement with the plaintiffs that could cost the company millions of Dollars in compensation; or fight it out in the Jury trial, by trying to prove to 12 members of the public (not necessarily from an IT background) what constitutes a CPU core and why "Bulldozer" qualifies as an 8-core silicon.

The plaintiffs and defendants each have a key technical argument. The plaintiffs could point out operating systems treating 8-core "Bulldozer" parts as 4-core/8-thread (i.e. each module as a core and each "core" as a logical processor); while the AMD could run multi-threaded floating-point benchmark tests to prove that a module cannot be simplified to the definition of a core. AMD's 2017 release of the "Zen" architecture sees a return to the conventional definition of a core, with each "Zen" core being as independent as an Intel "Skylake" core. We will keep an eye on this case.
Source: The Register
Add your own comment

369 Comments on Bulldozer Core-Count Debate Comes Back to Haunt AMD

#301
mouacyk
There's really no reason to bring in 486SX's or GPU cores ... that's not what Bulldozer was competing with. From Wikichip: "Compared to Bulldozer's immediate competitor, Sandy Bridge ..."

If only AMD had called them what they truly were, there would have been zero basis for this case: Conjoined Cores

To answer my question (which I've asked twice without clear answers) of whether a Bulldozer module can start work on two different instructions in the same clock cycle, the answer is never:
We assume that the fetch units are designed so that, in the absence of sharing (no thread as-signed to the alternate core), one core can fetch every cycle. Thus, each core has the ability to generate a nextPC cache index every cycle, and to consume a fetch line every cycle. In sharing mode, however, only one request is filled. Thus, in sharing mode with fetch combining, both cores can present a PC to the ICache, but only the PC associated with the core with access rights that cycle is serviced.
Posted on Reply
#303
Vya Domus
That paper is actually quite fascinating and telling of how this is about to go down , he still refers to this arrangement as being made up of "pairs of processors" and never once he implies this is anything else but a type of multiprocessor.
This paper proposes conjoined-core chip multiprocessing – topologically feasible resource sharing between adjacent cores of a chip multiprocessor to reduce die area with minimal impact on performance and hence improving the overall computational efficiency
Resources could potentially be shared among more than two processors, but this creates more topological problems. Because we primarily investigate sharing between pairs of processors, we call our approach conjoined-core chip multiprocessors.
We assume that a miss can be detected and communicated to the other core in 3 cycles
It's going to be an absolute nightmare for the plaintiffs if they decide to go down the path of disproving AMD's claims about core count. There seems to be absolutely no description found in academia that would contradict their claims that a Bullzoder chip has 8 cores/CPUs/processors.
Posted on Reply
#304
FordGT90Concept
"I go fast!1!11!1!"
Bare in mind that the paper was published in 2004. FX-60 debuted January 9, 2006. Kumar et. al. had no way of knowing how a dual processor chip would be marketed at the time. That discussion is also outside of the scope of their paper.

If you take Kumar's paper in whole, it warns that performance of "conjoined core" is inferior to independent cores. That's what the lawsuit alleges, AMD knew it when they decided to go with it, and they tried to pass it off as a better product than it is by omitting key details in marketing. I'd argue that if AMD even put "8 conjoined core" on the box, this lawsuit wouldn't have happened but they didn't.

What mouacyk quoted may actually explain why 7zip has poor performance on Bulldozer. Most of the instructions 7zip requires are simple array operations. If they're hitting the fetcher faster than the fetcher can cycle between threads when each thread only requires one, maybe two cycles to complete, that's how you can end up with such a massive performance hit. 7zip benefits hugely from hyperthreading because the dual thread fetcher is queuing up two threads for the same compute resources which would otherwise be underutilized. It stands to reason that in tests where Bulldozer does poorly, Hyperthreading will do exceptionally well.

I provided a plethora of examples of what consumers understand as a core from Intel, MIPS, AMD, and IBM. Either Bulldozer is wrong or the rest of the industry is wrong. My money is on Bulldozer.
Posted on Reply
#305
Vya Domus
It's irrelevant what the industry thinks, including AMD. They don't have an authority to dictate what is what and how it should be marketed, everyone does it's own thing. There is no reference. At the end of the day AMD and Intel produce x86 licensed CPUs with varying underlying architectures that have changed more times that I can count. Fundamentally their products and the concepts they rely on aren't constant through time or particularly consistent.

If the arguments will boil down to "Here, look what everyone else does" or "This product had worse performance than competing product X", well, let's just say they are going to have an exceptionally weak case.
Posted on Reply
#306
lexluthermiester
Vya DomusIf the arguments will boil down to "Here, look what everyone else does" or "This product had worse performance than competing product X", well, let's just say they are going to have an exceptionally weak case.
So far this is what many in this thread have been doing.
Posted on Reply
#307
FordGT90Concept
"I go fast!1!11!1!"
Vya DomusThey don't have an authority to dictate what is what and how it should be marketed, everyone does it's own thing.
The court does. There is a dispute and the court will settle it...

I was shocked Seagate lost the lawsuit in regards to the definition of GB. Seagate was already right in labeling their products going back decades. When Seagate said there was 80 billion bytes (80 GB), there were 80 billion bytes usually with some surplus. The court ruled that 80 GB actually means 80 GiB (insert Jackie Chan WTF here) so Seagate defrauded customers of the difference (5,899,345,920 bytes). The technical argument was completely on Seagates side. It was Microsoft that mislead people by using GiB math with GB labels, not Seagate which used GB math and GB labels. The court didn't care and summary judgement was given to the plaintiff because Microsoft wasn't the one on trial, Seagate paid up.

The technical argument is entirely in the plaintiffs favor in this case. Benchmarks, conceptual papers, instruction papers, schematics, diagrams, and competing products all evidence that; however, just because the technical details are in favor of one side doesn't mean the court will see it that way. It certainly didn't in Seagate's case. How this plays out is going to depend on whose lawyers are more convincing.


I'm still miffed that Microsoft still doesn't show appropriate units to match the math they are using. I'm also miffed Seagate had to pony up for something they were blameless in (all they can be accused of is not being proactive in labelling). It is what it is.
Posted on Reply
#308
hat
Enthusiast
Personally, I've always considered it quad core "plus extra stuff"... the other 4 aren't quite complete cores, they're missing something which, in their time, were important for a some operations, but not all. That's why their multithreaded performance was hit or miss. But I'm neither an engineer, nor a court... that was my take on it after reading everything I've read on it years ago when the chips were still relevant. That doesn't necessarily mean it's not 8 core though. Sometimes it is, sometimes it isn't, depending on the operation. I don't think you can say a core isn't a core just because it lacks the ability to perform some operations, or does so poorly compared to other cores. Since processors have existed, they've been tacking on additional instruction sets and hardware under the hood. I learned recently when Spectre and Meltdown was still in the news all the time that modern processors perform "speculative execution", something processors didn't always do (it began with the Pentium Pro or something). That doesn't make processors before speculative execution became a thing not processors, it just made them shitty, outdated, obsolete processors.
Posted on Reply
#309
lexluthermiester
FordGT90ConceptThe court does. There is a dispute and the court will settle it...
The court only has the authority to settle the dispute. It does not have the authority to dictate innovation and/or it's description.
Posted on Reply
#310
FordGT90Concept
"I go fast!1!11!1!"
lexluthermiesterIt does not have the authority to dictate...it's description.
Yes, it does, lest offenders get sued again using the previous case as ammunition against all future cases. This is the way of "common law." It is the reason why virtually all products that use 1 GB = 1 billion bytes math have that clearly printed on their label.

Depending on how the lawsuit goes here, we might see future processors contain a brief description of what a "core" is as defined by the court. Clarity is good in a market, even if meanings were twisted from intent.

1 GB in legalese is 1,073,741,824 bytes. What's on the package now? Language clearly defining 1 GB as 1 billion bytes to correct the legalese definition. The court is under no obligation to enforce an international standard.


Most likely the court is going to rule in favor of the poor, defrauded public like how the Seagate case went. That means AMD loses and "core" means "independent processor." Anything that doesn't meet that test needs clarification on the packaging which isn't a bad thing.
Posted on Reply
#311
hat
Enthusiast
lexluthermiesterThe court only has the authority to settle the dispute. It does not have the authority to dictate innovation and/or it's description.
Seems like they do, in Seagate's case. Now hard drive makers have to treat GB as GiB because some shmuck at Microsoft decided GB were GiB, leading to a user who bought a 250GB hard drive to read as ~232GB in Windows (even though it would also say 250,000,000,000 or whatever bytes).
Posted on Reply
#312
lexluthermiester
FordGT90ConceptYes, it does, lest offenders get sued again using the previous case as ammunition against all future cases. This is the way of "common law."
You really need to review what the term "Common Law" actually means.
FordGT90ConceptIt is the reason why virtually all products that use 1 GB = 1 billion bytes math have that clearly printed on their label.
hatSeems like they do, in Seagate's case. Now hard drive makers have to treat GB as GiB because some shmuck at Microsoft decided GB were GiB, leading to a user who bought a 250GB hard drive to read as ~232GB in Windows (even though it would also say 250,000,000,000 or whatever bytes).
That is a definition of measurement, something a court can rule on. This case against AMD is a matter of creative functionality of a CPU, something that has varied wildly since CPU's were created. The court does not have the authority to rule on the boundaries of creative thinking.
Posted on Reply
#313
FordGT90Concept
"I go fast!1!11!1!"
lexluthermiesterYou really need to review what the term "Common Law" actually means.
Exactly what I said:
Common-law courts base their decisions on prior judicial pronouncements rather than on legislative enactments. Where a statute governs the dispute, judicial interpretation of that statute determines how the law applies. Common-law judges rely on their predecessors' decisions of actual controversies, rather than on abstract codes or texts, to guide them in applying the law. Common-law judges find the grounds for their decisions in law reports, which contain decisions of past controversies. Under the doctrine of Stare Decisis, common-law judges are obliged to adhere to previously decided cases, or precedents, where the facts are substantially the same. A court's decision is binding authority for similar cases decided by the same court or by lower courts within the same jurisdiction. The decision is not binding on courts of higher rank within that jurisdiction or in other jurisdictions, but it may be considered as persuasive authority.
AMD said FX-8350 is an "8-core" and the plaintiff disputes that based on articles, diagrams, and performance. "Creativity" has nothing to do with it because class-action lawsuits, by definition, require proof of damage. The only thing litigable in terms of creativity is patents, trademarks, and copyrights which is not at play here.


Seriously, I hope ya'll are learning something from this. I know I learned quite a bit about Intel Tera-Scale.
Posted on Reply
#314
Vya Domus
FordGT90ConceptAMD said FX-8350 is an "8-core" and the plaintiff disputes that based on articles, diagrams, and performance.
Which don't actually exist, as I pointed even in the article describing exactly the type of processor that AMD used the core count is still consistent with their claim.

And how do you prove the performance wasn't what people thought it would be ? Weren't there reviews available ? Did AMD go out of their way to hide anything about their product ? Unless there are going to be clear cut answers to that, this really will be a matter of creative thinking.

Not that I actually necessarily believe AMD will win. They are 100% in the right but US courts have proven to be a wild west numerous times.
Posted on Reply
#315
hat
Enthusiast
lexluthermiesterThat is a definition of measurement, something a court can rule on.
Sure, but...
lexluthermiesterThis case against AMD is a matter of creative functionality of a CPU, something that has varied wildly since CPU's were created. The court does not have the authority to rule on the boundaries of creative thinking.
Though I do agree that CPUs have changed considerably since CPUs have been a thing, this is a case about whether or not AMD has mislead customers with their "8 core" labeling on Bulldozer and related CPUs. It's more about false advertising than it is about "ruling on the boundaries of creative thinking" - i.e. what makes a core a core... but in order to decide whether or not AMD is to blame for false advertising, in this case, you would have to define what exactly makes a core, so you can decide whether or not AMD were selling 4 core CPUs or 8 core CPUs.
Posted on Reply
#316
FordGT90Concept
"I go fast!1!11!1!"
Vya DomusAnd how do you prove the performance wasn't what people thought it would be ? Weren't there reviews available ? Did AMD go out of their way to hide anything about their product ? Unless there are going to be clear cut answers to that, this really will be a matter of creative thinking.
The statement of both plaintiffs is that they purchased the product based on the description of "8-cores" and did not consult reviews until after the fact. "8-core" is hiding the fact that it's very different architecturally from Thuban before it and Intel's competing product, Sandy Bridge.

...this thread has entered the looping phase.
Posted on Reply
#317
Vya Domus
A different architecture, by definition, will result in a different CPU ...

This is why we've entered a loop, no can put their finger on what exactly is wrong.
Posted on Reply
#318
FordGT90Concept
"I go fast!1!11!1!"
...that can't use the same words to accurately describe its design.
Vya DomusThis is why we've entered a loop, no can put their finger on what exactly is wrong.
Maybe you can't, but I (and others) did, repeatedly. Have a recap:
1. Shared fetcher.
2. Depending on iteration, shared decoder.
3. Depending on iteration, shared dispatcher.
4. Shared floating point units.
5. Shared Core Interface Unit.
...we also got into why these are a problem:
1. The fetcher is incapable of saturating the ALUs in a lot of cases where it has to service both integer clusters. Thuban was able to in the same scenarios.
2. + 3. AMD choose to split the decoder and dispatcher for reasons revolving around power efficiency and performance.
4. AMD was really fixated on the idea that GPUs would take over FPU so, per thread, Bulldozer really offers no improvement over Thuban. Because collisions can happen, in practice it can be slower.
5. All communication with the rest of the system flows through this unit. Windows 10 sees the Core Interface Unit and believes it is looking at a core. It looks at the fetcher offering to take two threads and interprets that as two logical processors.

Overall, a Bulldozer module is a lot of transistors short of a dual-core. That was their intent, after all.
Posted on Reply
#319
Vya Domus
Let's just say that if a court will make certain architectural choices mandatory or not allowed this will be the most bizarre thing I have witnessed this decade.

This is also the first I have heard of CPUs being "wrong".
Posted on Reply
#320
londiste
Vya DomusLet's just say that if a court will make certain architectural choices mandatory or not allowed this will be the most bizarre thing I have witnessed this decade.
Court will not make certain architectural choices mandatory. It will decide if marketing these as different architectural choices is allowed.
Posted on Reply
#322
lexluthermiester
londisteIt will decide if marketing these as different architectural choices is allowed.
That is what I was trying to elaborate, a court does not have the authority to make such a determination.
Vya DomusThis is why we've entered a loop, no can put their finger on what exactly is wrong.
I can; Entitled, whiny snowflakes(backed by greedy lawyers) bemoaning that they feel slighted for getting 8 Integer cores without a matching number of Floating Point Units. They want to force everyone else to match their views instead of just voting with their wallets and disagreeing in a civilized way.
Posted on Reply
#323
hat
Enthusiast
lexluthermiesterI can; Entitled, whiny snowflakes(backed by greedy lawyers) bemoaning that they feel slighted for getting 8 Integer cores without a matching number of Floating Point Units. They want to force everyone else to match their views instead of just voting with their wallets and disagreeing in a civilized way.
I kind of agree with this... but I kind of don't. For guys like us who frequent a tech forum, have a "basic" (to us) understanding of what we're looking at when we read a review for a product we might be interested in, it's not too hard for us to grasp the basic concept of what was going on with Bulldozer and make an informed choice. Personally, I look at the 8 "core" Bulldozer kinda funny, but I don't lose any sleep over it... in other words, it's not a big deal. We've seen the price, performance, power draw etc figures for Bulldozer and competing chips, so when we go to buy whatever, we know what we're buying.

Then you have the group of people that think an Intel i7 chip has 7 cores, the i5 has 5 cores and so on. They might know a little more about computers than your grandma, but they don't really know all that much... and when they find out that the 8 "core" Bulldozer isn't quite 8 full, complete cores, likely after buying one, they might be a little bit mad, because they thought their 8 core FX-8350 was gonna blow their buddie's much more expensive 6 core 3930k out of the water... but then, they probably didn't research their product all that well, or read very many reviews, or maybe not even understand computer hardware quite so well in general, so that's where I agree with the whiny entitled snowflakes bit. My eyes begin to glaze over a little bit when I read one of johnnyguru's PSU reviews (or, more relevant, looking at these block diagrams and reading everyone's argument on what makes a CPU a CPU), but at least I understand enough of it (maybe not the in depth technical details) to know whether or not I'm buying a turd.
Posted on Reply
#324
londiste
lexluthermiester
londisteIt will decide if marketing these as different architectural choices is allowed.
That is what I was trying to elaborate, a court does not have the authority to make such a determination.
What do you mean? If they advertise the choice they made as one they did not, court pretty clearly has authority to say something about it.

The fact that whiny snowflakes(backed by greedy lawyers) are doing the bemoaning does not make an argument automatically invalid.
Posted on Reply
#325
lexluthermiester
hatThen you have the group of people that think an Intel i7 chip has 7 cores, the i5 has 5 cores and so on. They might know a little more about computers than your grandma, but they don't really know all that much...
And we all know people like that.
hatbut then, they probably didn't research their product all that well, or read very many reviews, or maybe not even understand computer hardware quite so well in general
And this is only their own responsibility. Not AMD's fault. Regardless of the number of cores, performance is always the more telling point. Reviews will always tell a potential buyer what they're getting into. There is no excuse for buying something like the CPU's in question and whining later about performance or whether or not the claimed 8 cores are actually 8 cores.
londisteWhat do you mean? If they advertise the choice they made as one they did not, court pretty clearly has authority to say something about it.
Only whether or not there is a claim about false advertising, which the plaintiffs will have to make a case for and they have a serious uphill battle.
Posted on Reply
Add your own comment
Nov 3rd, 2024 14:53 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts