How AMD Won, Then Lost
hackaday.com
hackaday.com
AMD made a lot of profits with the x86-64 (Opteron family) around 2004-2005. However, that got to managements head and there were a series of missteps:
* Inorganic growth: The company went from small teams with startup culture to larger teams with many projects. AMD went and acquired large teams from HP in Fort Collins and Sun in Boston (Millenium chip team) in one fell swoop. This slowed projects a lot while assimilating and learning to work together with very different cultures and methodologies.
* Mid-management from IBM: Since the company was growing larger, a bunch of VPs from IBM were hired. They tried to bring IBM style processes which will not work when you do not have a captive market like IBM and your competitor is Intel :)
* Too many projects: The people and management growth resulted in everyone wanting their own chip project instead of working on derivatives of existing projects. There were too many projects conceived, spent cycles on and then cancelled.
* Paid too much for ATI: Bought them for 5.4 billion in 2006 when they could have waited till 2008 and bought them for 1 billion :) They had to write off most of the ATI value off their books and took charge for it.
But was it really that predictable back in 2006?
2008 sounds like the year when Intel killed 3rd party chipset market. Which, afaik, wasn't expected by anyone.
Really, I think moving to chipsets made by the CPU manufacturer was an overall improvement.
Can you explain on this? By producing chipsets itself/any specific product?
This effectively meant that if you wanted to build a mainboard for Intel CPU's, you had to buy the chipsets from Intel as well.
Before that, you could buy mainboards with ATI (Xpress), nVidia (nForce), or VIA chipsets. All of these could integrate different SATA contollers, audio chips, USB busses, etc.
By not licensing their interfaces, Intel basically took over almost all of that market by locking others out of it. I believe they could only do this because they had no real competition from AMD anymore in the CPU market.
AMD created an utterly dominating lead in server space in 2004-5, continuing the P6 microarchitecture approach while the Intel NetBurst (Pentium 4) microarchitecture failed when it coincided with the end of Dennard scaling (https://en.wikipedia.org/wiki/Dennard_scaling it might have worked if they'd been able to make the 5-10 GHz parts on the roadmap).
Plus the per chip on chip local memory controllers and Hypertransport ccNUMA approach scaled much, much better than Intel's one front side bus (all CPUs hitting the same northbridge memory controller).
Then, from the outside, AMD just sat on its laurels, giving Intel enough time to get their act together from all their self-inflicted wounds and take advantage of their process lead. The K10 microarchitecture was late, and shipments had to be paused due to a nasty TLB bug which didn't help their credibility. Intel's QPI copy of the Hypertransport ccNUMA concept shipping a year, year and half later was probably the final nail in the coffin.
IMO AMD could compete because the manufacturing and design processes were still accessible enough that they could still produce chips with competitive performance without the massive amount of capital Intel invests in new designs today due simply to diminishing returns in processor performance. Nowadays the difficulty of new processes means that very very few foundries are capable of using the latest fabrication processes and Intel has a stranglehold on them. It's harder for AMD to play catch-up, because there is less slack for them to work with using the next-best-thing. Nowadays, all the money AMD could spend on innovating with genuinely new technology is instead spent trying to keep up just keep up, whereas before they had more breathing room.
There's a comparison to draw with the engine wars in Formula 1 in the 90s. The sport was in major trouble financially, because teams were spending gigantic sums of money chasing small gains in engine performance on the extreme tail end of diminishing returns. The small teams were imploding trying to keep up because while the performance delta might have only been a few horsepower between the big and small teams, those few extra horsepower had a big impact on how competitive you were. And engine development is astronomically expensive on the far side of the returns curve, so additionally even the big teams were outspending themselves trying to keep up with each other before they implemented rules changes to limit engine development.
Intel still acted like they were the market dictator (which they weren't at that time) and said "IA64 is the way forward, dump x86!" This was astounding from Intel as for decades they had been the key drummer on the backwards-compatible drum, making sure each new x86 CPU could run the old existing code. Now suddenly they're saying dump decades of installed base. AMD took advantage of their increased marketshare and said, "Hey, we have a 64bit solution for x86 that keeps your old code, and lets you create 64bit code for the future without relearning a new, complicated architecture." IA64 was EPIC, meaning Extremely Parallel Instruction Computing. AMD64 was x86 with a whole new set of 64bit extensions but with x86 compatibility and familiarity, which is exactly what Intel did when they extended x86 into the 32bit world with the i386. Those two factors combined are why AMD64 became the defacto standard. Neither would have helped without the other.
Anyone remember Transmeta?
Transmeta had what's known as an exposed pipeline VLIW design. If you tell the multiplier to do it's thing and put the result in Register 6 then you can still read the previous value from register 6 until the multiplication is done. So you always need to recompile for each version of the hardware.
however, while yes the compiler does a lot of work, it's an entirely different method of programming than most coders are used to, which make it painful to change to.
Later (~2006) I remember because the Athlon X2 was produced in limited numbers, and the eBay price went through the roof as people were trying to upgrade from single-core without replacing every other component in their system to jump to Phenom.
That CPU ran at 3200+ speeds for a few years, until I noticed the capacitors getting nasty.
At first, I was really scared, but the machine is running well to this day. On a hot day, the system log will show many messages about the CPU reducing its clock speed to prevent overheating, but that seems to work well enough. (The system, to be fair, mainly runs as a file and DNS server, so it is not exactly super-busy, but still. It might also help that the fan sits on top of a huge heatsink.)
A friend of mine did that once. Broke off the tiniest bit from the corner of the die while trying to mount the heatsink, but that killed the CPU. He had been saving money for that CPU for months and was understandably unhappy.
Intel seems over-ripe for anti-trust action at this point. I think the government is codling them in all likelihood. This is not a technical issue, I suspect it is far more of Intel taking advantage of its strong political clout.
I would bet that most of the mediap layers at the time would have been using hand written assembler for the bits that really needed SSE.
Devinder Kumar, AMD CFO : Zen was a clean sheet design that started a few years ago. We are in the final stage of executing and you know the milestone that you want to hear us talk about is Zen taping out, which should be over the next several months, and then putting samples in the hands of our customers and then starting first full year of revenue in 2017. And by the way, because we have this reuse approach for cores, you will see us with Zen cores in the high-end desktops first and then the servers from our overall products standpoint.
Read more: http://wccftech.com/amd-confirms-zen-coming-highend-desktops...
Downturn: The heat- and power-intensive single-core Pentium 4s, and the stillborn & binary-incompatible IA64/Itanium lineups that prevented them from competing on both the multicore and 64-bit AMD marketing bullet points
Rebound: Dedicated, efficient "premium" laptop chips in the Centrino lineup, to which AMD had no competitors, and which subsequently reunified with the P4's Hyperthreading, plus multicore, in the "Core" lineup/microarchitecture that debuted in the newly-Intel, no-longer-PowerPC Macbooks.
(I seem to remember hearing that Core-era Xeons were good, serverside: Nehalem definitely was, just afterwards)
All high-perf code simply has to be meticulously performance tested; there's no other way to know on modern processors what is fastest.
We could run at higher clock frequency, but CPU will heat up.
And when most of the world don't need high performance PC any more, may be AMD do stand a chance this time around. As long as ZEN is within 10 - 15% of Intel's performance. They have lots of head room to work in the Server CPU sector. And their APU in the lower end.
The problem with AMD is they have never been good with execution, so while even on paper Zen is good, AMD will likely mis position their product, fail to market it, or likely fxxked up by GF production issues.
Well, that is because we do have very high performance PCs these days. Somewhere on Wikipedia, there is a quote by somebody (I forget who...), that a supercomputer is a device for turning a CPU-bound problem into an IO-bound problem. By that definition, even modest PCs these days are supercomputers for the majority of programs ordinary people run on them.
Heh. I remember a tale from the days of the early generation Crays, where they were showing one off to an IBM guy, who said, yeah, impressive, but what about I/O? So a Cray guy ran something and got all the tapes to moving. The IBM guy was unimpressed until they pointed out they were writing data to all of them.
At least in those days the problem was understood, don't know about current supercomputers, but as I understand it one of the things that makes them expensive is their board to board interconnects, so I doubt they neglect I/O at the same time.
The "immoral" practices author accuses the Intel are developing favoring compiler and offering low prices and better deals to OEMs. Let me tell you something: when you give someone one billion dollars, you don't hold them on "ransom"; they're upholding an end of the deal that they voluntarily agreed to. And to lose money, to offer better prices, to get bigger market share is not something even remotely immoral.
Now, about compilers: Intel have never pretended that Intel compiler is supposed to work just as good with Intel as with other compiler manufacturers. It says so even in the marketing benchmark picture provided with the post. It was individual developer's decision: whether he wanted to get equal performance on different platforms, or whether he preferred to sacrifice performance on AMD in order to get more on Intel. Microsoft, Borland, gcc, LLVM and other compilers exist; if a developer choses Intel compiler instead, it's his decision to make his software to run slower on AMD. How is offering such an option immoral?
However, author completely glosses over the fact that AMD reverse-engineered Intel's product and released it's clone. To me, this actually seems like something not only immoral, but quite possibly, illegal, and definitely something worse than Intel's deeds. But of course, since AMD is smaller, it doesn't have to adhere to the same moral standard.
I won't go into morality, but it can be illegal if it's considered predatory pricing.
If a company has an inferior product but uses its power and dominance of the market to prevent another company with a better product from being able to compete, then laws preventing this from happening are not about favouring the underdog but encouraging innovation.
Not an expert, but if Intel were intentially crippling the performance of its compiler for AMD CPUs, i'd say that'd be inmoral. That's unfair competition.
If it's just that they didn't spend any time testing and optimizing for the competition's compiler, then... I'm not sure what to think of it, but I doubt i'd come out on the inmoral side of the argument.
EDIT: s/disloyal competition/unfair competition/g.
They could do something even worse. They could just release a compiler which would actually NOT WORK on AMD processors, at all.
Compare it to modern mobile development. To develop to iOS, I MUST use xcode — no one has to use Intel compiler to run on Intel's x86. And said xcode doesn't compile to similar ARM chips for Android at all!
Intel, though, would not only check if the CPU supported a feature, but also if the CPU was made by Intel. Essentially, Intel's compiler would generate code like "if Intel, run fast, if not Intel, run slowly."
The immoral practices are literally bribing OEMs with money, active sabotage in code generation, and selling products below cost.
This isn't merely a "favoring compiler" and "low prices".
> Now, about compilers: Intel have never pretended that Intel compiler is supposed to work just as good with Intel as with other compiler manufacturers. It says so even in the marketing benchmark picture provided with the post.
Of course it's not guaranteed to work super well on AMD chips. But Intel deliberately wrote their compiler to produce code that would behave awfully on AMD processors. The code the Intel compiler generated would usually work fine on AMD (try it!), but it specifically included a check for Intel processors to ensure it didn't.
Also, Intel didn't warn their customers of this. There's a disclaimer that it's not optimised for other vendors' chips, sure, but that's not the same. Of course their compiler wouldn't be quite as efficient for AMD chips (it might not include AMD-only instructions), but they didn't warn customers that the compiler would deliberately only work on Intel chips. Customers who didn't inspect the output of the compiler would have no idea that Intel was sabotaging their application's performance.
> However, author completely glosses over the fact that AMD reverse-engineered Intel's product and released it's clone.
Originally, yes. So did several other companies. So? Clean-room reverse engineering is fine, in fact it's necessary for competition. Companies should not have complete monopolies on a good idea.
AMD's later designs were original, anyway.
Also, price fixing was just one tactic used. Intel created exclusive contracts by threatening smaller chip makers with supporting their competitors if they shared technology with AMD, then later removed their products from their chipsets. Intel wasn't just trying to hurt AMD, they were systemmatically grooming a weakened marketplace that they could more easily dominate.
This isn't true. Intel sold AMD a license and shared technical details. From wikipedia:
"In February 1982, AMD signed a contract with Intel, becoming a licensed second-source manufacturer of 8086 and 8088 processors."
https://en.wikipedia.org/wiki/AMD#IBM_PC_and_the_x86_archite...
AMD was chosen by Intel and IBM as second source for 8088 processors, and entered a decade-long patent sharing agreement. How shockingly immoral, indeed.
> quite possibly, illegal
Intel tried to sue them when the agreement ran out. The courts deemed it otherwise – clean room reimplementations are neither illegal nor particularly immoral.
Why shouldn't morality favor the underdog? The winner already has a natural advantage. Do we really want to make that permanent?