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

#1
Midland Dog
8 alu from memory, for integer ops its an 8 core for floating point its a 4 core, simples, i personally would have called it an 8 thread cpu, not and 8 core. at the same time its up to the customer to do some research, as a quad core its decent perf but for an 8 core its kind of pathetic
Posted on Reply
#2
the54thvoid
Regardless of the merits of the case, these class action lawsuits are a sham. The lawyer fees are disproportionately high, so any payout initially goes to the firms representing the plaintiff. All these tech suits are carried out in spite of consumer demand, not because of it. I hope AMD win, not because they were right but because the consumers won't win this, the lawyers will.
Posted on Reply
#3
qubit
Overclocked quantum bit
Hopefully this lawsuit will discourage AMD from using such a cludgy, low performance compromised design in the future.
Posted on Reply
#4
londiste
As far as lawsuit goes this seems a bit too litigation-happy approach to things. But it is their right.

Defining a CPU is not as straightforward and probably gets pretty technical in court.

I suppose the single frontend-dispatch should technically be damning to AMD here. For a long while there have been multiple/many execution units in a modern CPU. How they are organized, segmented or grouped varied but there have been multiple for a long time. What sets up the core is frontend and perhaps more directly - dispatch.

Just take a look at the core diagrams:
Bulldozer: https://en.wikipedia.org/wiki/File:AMD_Bulldozer_block_diagram_(CPU_core_bloack).PNG
Zen: https://en.wikichip.org/wiki/amd/microarchitectures/zen#Individual_Core
Skylake: https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)#Individual_Core
Posted on Reply
#5
Zubasa
qubit, post: 3979860, member: 46003"
Hopefully this lawsuit will discourage AMD from using such a cludgy, low performance compromised design in the future.
I am pretty sure the lack of interest in their past products are more than enough discouragement.
AMD almost went under because of it.
Posted on Reply
#6
DeathtoGnomes
qubit, post: 3979860, member: 46003"
Hopefully this lawsuit will discourage AMD from using such a cludgy, low performance compromised design in the future.
wishful thinking, we all know both side will do this to save a buck.
Posted on Reply
#7
Arumio
Well, I on my AMD A10-5800k see the same thing (i.e. windows 10 says: "cores:2, logical processors: 4") and it drive me nuts annoying
Posted on Reply
#8
DeathtoGnomes
Zubasa, post: 3979864, member: 30988"
I am pretty sure the lack of interest in their past products are more than enough discouragement.
AMD almost went under because of it.
dont mix shit design and poor management, each contributed to that period of time.
Posted on Reply
#9
Flaky
Last time I checked, bristol ridge apu (excavator architecture - so bulldozer based-core) displayed 4 cores in task manager, so it's not really that consistent.
Posted on Reply
#10
Zubasa
DeathtoGnomes, post: 3979867, member: 151150"
dont mix shit design and poor management, each contributed to that period of time.
Poor management lead to shit designs and shit products.
If AMD management knew what they were doing back then, they would have 86 that junk before they sink more money making and even trying to sell it.
They might even be better off trying to die-shrink and clock the Phenoms higher.
Posted on Reply
#11
cucker tarlson
it has 8 physical cores,so despite people were scammed into thinking this is a full 8 core CPU AMD will probably remain unharmed cause of this.To be frank people who bought have themselves to blame,they should've read a review or two,these CPU were absolute crap.
Posted on Reply
#12
Easo
It physically has 8 cores/modules/whatever, which might give them the win. But nontechnical jury is a recipe for disaster, in my eyes.
And really, stop suing for everything... No one has been hurt, this is to get money, not to punish the company.
Posted on Reply
#13
silentbogo
What bit them in the ass using words "real cores" in their marketing campaigns. Even if each module acts and performs as a "real" core, it does not matter in this situation.
This is very similar to GTX970 fiasco: 3.5GB fast memory + 0.5GB slower memory technically adds up to 4GB, but they still lost the class action lawsuit.
Same here: you have a shared fetch/decode, you have a shared FP scheduler, and if you run AVX256 workload - your FP pipes become one. This opens up the gate for litigation, and since AMD failed to convey that to the customer (and figure out the scheduling problems in Windows/Linux before launch) - I'm sure they'll be fined and every poor soul that bought an FX processor or A-series APU will get their $5-10 or whatever, the world will move on and both will be fine.

Arumio, post: 3979866, member: 166350"
Well, I on my AMD A10-5800k see the same thing (i.e. windos 10 says: "cores:2, logical processors: 4") and it drive me nuts annoying
Hah. Try explaining a customer why his A4-5300 shows up as a single core.
Posted on Reply
#14
londiste
Easo, post: 3979873, member: 70901"
It physically has 8 cores/modules/whatever, which might give them the win. But nontechnical jury is a recipe for disaster, in my eyes.
It definitely has 4 modules. Whether half a module is a core is up for debate but technically - more likely the answer is no.
Posted on Reply
#15
Camm
Eh, if you look at an FX-3850 die shot, its pretty apparent there are 8 cores there compared to say, a 7700k with SMT.

Don't think AMD really has anything to worry about.
Posted on Reply
#16
londiste
Camm, post: 3979880, member: 110377"
Eh, if you look at an FX-3850 die shot, its pretty apparent there are 8 cores there compared to say, a 7700k with SMT.
Bullshit.
This is far from apparent. Both dies contain duplicate parts in the core/module. Whether that constitutes a core is arguable.

Would you like to elaborate?
https://en.wikichip.org/wiki/intel/core_i7/i7-7700k#Die_Shot
https://www.extremetech.com/wp-content/uploads/2012/10/Piledriver-Die.jpg
Posted on Reply
#17
Basard
YESS!!!! Can't wait to get my $3.72 in the mail!!!! Who want's to attend my crack party?!

@londiste Well, to be fair, you need to draw eight squares on it to see it. :P
Posted on Reply
#18
Camm
londiste, post: 3979882, member: 169790"
bullshit.
Not to scale, but rough side by side between the two shoes that each core is disparate.
Posted on Reply
#19
londiste
Camm, post: 3979885, member: 110377"
Not to scale, but rough side by side between the two shoes that each core is disparate.
Sorry, but your image is incorrect. The parts numbered on the Bulldozer die shot are L2 cache.
Bulldozer modules are the colorful things in the corners right next to L2 cache.

Basically this:
Posted on Reply
#20
seronx
Here you guys go;



A, B, C, D, E, F, G, H => 8-cores

---
Design of the Two-Core x86-64 AMD “Bulldozer” Module in 32 nm SOI CMOS
Hugh McIntyre, Member, IEEE, Srikanth Arekapudi, Member, IEEE, Eric Busta, Member, IEEE,
Timothy Fischer, Member, IEEE, Michael Golden, Member, IEEE, Aaron Horiuchi, Member, IEEE,
Tom Meneghini, Member, IEEE, Samuel Naffziger, Senior Member, IEEE, and James Vinh, Senior Member, IEEE

This new micro-architecture contains two processor cores that implement chip-level multi-threading (CMT).

Bulldozer’s CMT provides dedicated compute resources to each CPU to maximize single-threaded performance and multi-threaded throughput while significantly improving power and area efficiency compared to fully replicated CPU cores. The result is improved performance and frequency and reduced area and power compared to a previous AMD x86-64 CPU built in the same 32 nm process [4]. Frequency at constant voltage is improved by more than 20% (Fig. 4) while the dual-core switching capacitance is reduced to 84% of two previous cores.

Physically, the two-core Bulldozer module contains 213 million transistors and is designed to operate from 0.8–1.3 V.

As shown in Fig. 1, the Bulldozer module includes two cores with shared L2 cache and occupies 30.9mm^2 . Each core is dedicated to a thread and contains a four-wide integer execution unit, issue/retire logic, 16-KB four-way set associative L1 data cache, and a load/store unit. A separate dual-threaded floating-point unit is shared between the integer cores. Of the total module floorplan area, the two cores occupy approximately 21% and the floating-point unit occupies another 9%.
---

IEEE has to review the above to even allow it.
Posted on Reply
#21
londiste
The Register has pretty good pictures of the module with identified sub-parts to couple different levels:
https://www.theregister.co.uk/2015/11/06/amd_sued_cores/
Pictures are 90° rotated from previous images, L2 cache at the right instead of up or down.

The question is if BP, Decode and Fetch (and to smaller extent FPU) are part of the core or not.
They are definitely a functional and required part of a CPU core, architecturally speaking. This is also the reason logical core/thread distinction for operating systems was moved from 8-core to SMT-like 4-core/8-thread for these processors as that is much more correct match to what the module is.

Posted on Reply
#22
DeathtoGnomes
Zubasa, post: 3979869, member: 30988"
Poor management lead to shit designs and shit products.
If AMD management knew what they were doing back then, they would have 86 that junk before they sink more money making and even trying to sell it.
They might even be better off trying to die-shrink and clock the Phenoms higher.
LOL, the problems started long before Phenoms. Management didnt lead anything, chip design team got hung out to dry, and the PR dept. was doing more harm than good, then came Phenoms...
Posted on Reply
#23
Joss
the54thvoid, post: 3979852, member: 79251"
Regardless of the merits of the case, these class action lawsuits are a sham. The lawyer fees are disproportionately high, so any payout initially goes to the firms representing the plaintiff. All these tech suits are carried out in spite of consumer demand, not because of it. I hope AMD win, not because they were right but because the consumers won't win this, the lawyers will.
Nuff said.
Posted on Reply
#24
rvalencia
CPU like FX-8150 has 8 CPU cores since a thread couldn't exceed two integer units when there's four integer units in a module and it's IPC is like Jaguar CPUs.
Posted on Reply
#25
TheGuruStud
DeathtoGnomes, post: 3979894, member: 151150"
LOL, the problems started long before Phenoms. Management didnt lead anything, chip design team got hung out to dry, and the PR dept. was doing more harm than good, then came Phenoms...
Phenom II was good, just slow to arrive. 4 ghz OC from the cheapo chip waa spanking intel.
Posted on Reply
Add your own comment