Whoever made that decision is going to appear in economic textbooks in the DONT Exampels.
Whoever made that decision is going to appear in economic textbooks in the DONT Exampels.
First generation Niagara swept the floor with Intel chips on server and XML tasks without breaking a sweat. With massive number of cores and Unstallable Pipelines (extremely fast context switching for its time IIRC), it was a drool-worthy architecture to read and indulge into.
It was good.
They had shared FPUs, so anything ALU oriented fell flat on them, even Sun openly admitted that.
So they were not meant to be SMP supercomputer nodes, but to reduce number of front end server counts and allowed datacenter floor to be available for more backend servers and storage.
The wiki says that the T2 was over 10x faster than the T1 for floating point arithmetic.
"One floating point unit per core, up from just one FPU for the entire chip... Better floating-point throughput (>10x improvement)... Better floating-point single-thread performance (>5x improvement)"
https://en.wikipedia.org/wiki/UltraSPARC_T2
The T1 and T2 were both open-sourced. I would love to have a dual-core T2 implementation on a Raspberry PI, with completely open hardware.
https://www.oracle.com/servers/technologies/opensparc-t2-pag...
Yes, the MPI ping-pong latency I measured between x2200s was the lowest I ever saw for 1GbE. However, the motherboards in them were a disaster area (unlike any other Sun kit I ever saw).
We had its smaller sibling 7320 for testing for some time. I was lucky to make the benchmarks and tests on that, and it was unbelievable for its size, so we got its bigger sibling with a pretty hefty configuration.
It had a dtrace based zero overhead real-time monitoring dashboard and, the insights and optimization possibilities were unbelievable for a device of that era. It was basically a proper enterprise storage with all the interfaces, bells and whistles with the practicality of a home desktop NAS device.
Select LUN, select capacity & disk config, select share strategy, select interfaces and it's done. The fun part? It was able to saturate any interface on itself, incl. Infiniband.
Also remember, this was the era when Apple needed to switch from the PPC to Intel too. There was a major shift in the server market from older architectures (Sparc, Power, Alpha) where everyone was standardizing on x86. It’s only been recently where ARM has been performance competitive. Only then could the power savings from ARM be a killer feature from a $/unit work point of view.
And ARM gets to leverage many different users/fabs for chips. It’s a very different ecosystem than having a single company drive an entire architecture, regardless of how great the tech was. (And support software, porting, etc.)
The reason ARM is doing well now, is because of massive economies of scale due to being the dominant architecture in phones.
Same with x86 Intel during that time. Because it was the dominant desktop architecture, Intel had a massive advantage in economies of scale and eventually gained such an advantage in fabs, that it made x86 chips the price/performance champs, despite any disadvantages of the actual architecture.
In retrospect, it was a huge mistake for Intel to ignore the mobile sector with x86. Even if it did not have the margins, the mobile sector allowed ARM to gain the economy of scale that it needed to compete with Intel on the desktop/laptop and server
Look at the BOM cost of a typical Android phone. https://www.notebookcheck.net/The-Samsung-Galaxy-Note-20-Ult... The CPU (AP) is even cheaper than the storage, baseband, and display components. An Intel i5 sells at ~$200 at midrange while a high end ARM chip sells at $57.
If Intel diverted fab production to ARM chips, they would have made less money per chip. This is why Intel sold it’s ARM business in the 2000s. Apple does not care if ARM components are profitable, because they are a vertical and the sum of components is worth more than the individual component costs. Intel is a component maker so they are sensitive to component margin.
Intel attempted an x86 based mobile phone processor in the 2010s, but ultimately failed due to selling the chips at a loss. Making components for the mobile market is cut throat and the margins are too low.
Semiconductors business is extremely tough.
So I wouldn't say it was a bad management decision to kill SPARC -- putting aside my personal love for the architecture and Sun's technologies in general.
I guess another way of putting it is this:
- do they build the software to sell their hardware,
- or build their hardware to sell their software.
In the case of Apple and Sun, it was the former. In the case of Oracle, it's the latter.
They are both RISC-ish but ARM has always had a focus on low power, SPARC was marketed for servers