An interesting story a few days ago from our pals Cade and TPM put forward some interesting theories about how Google’s activities and acquisitions of companies and talent might add up to the searcher building its own server chip. Plausible? Yeah, I think it might be. We’re not talking about a chip designed to compete with the …
RISC v CISC
Correct me if I'm wrong on this but...
Currently Google use x86 CISC chips, as opposed to ARM's RISC architecture.
As the difference between the two is the instruction set being used by both could that mean that at the moment there are a shed load of CISC instructions going to waste in each processor, taking up time, space and money? If they build their own custom ARM chips they could include only the instructions needed to perform their specific cloud computing tasks?
there are always CISC instructions going to waste. Imagine all the graphics specific stuff that they don't use.
But modern CISC chips work differently...
Modern CISC chips break the CISC instructions up into RISC-like micro-ops, so unused instructions are just that - unused.
The space on a CPU die taken up by instruction decoders is dwarfed by the space taken up by caches and other logic.
While many of today's CISC processors do indeed include many instructions and this the logic circuitry to decode these instructions, most decent CISC processors actually decode CISC into internal RISC instructions that the core executes.
Also, don't forget that RISC ISA's are not as efficient as, for example, x86/x64 in terms of code density: An x86 core can retrieve several instructions per memory read whereas a RISC processor can only read one instruction per read.
To counter this, ARM developed the THUMB and then the THUMB2 instruction subsets which require fewer bits to encode the supported instructions, but they're still not quite as dense as x86 ISA's.
HOWEVER, considering Google's specialist needs, there's little to stop them working with ARM and a fab specialist to create an ARM core that is quite specific to Google's needs, potentially eschewing any instructions it doesn't need whilst adding instructions that specifically aid the kind of processing that its algorithms require, thus producing a processor that offers a net benefit over today's x86 cores.
Then they could pack several cores per chip and several chips per board into dense server racks (with much lower power and thermal envelopes) to form algorithm-crunchers offering FAR higher levels of processing density than they get today.
Whether these processors will be useful outside Google is another matter, however.
This is largely irrelevant
RISC and CISC is important for small processors, however today there's no relevant difference in large processors. Power, beeing a RISC architecture has no advantage over x64 because of it's machine language.
Did you check your dense theory first?
Might I suggest you have a look and actually compare code.
Google has a huge internal market
Of course if they stop buying commercial chips the reduction in market size may make them more expensive for the rest of us.
'Far more than almost any other commercial company'
Besides the US government (which doesn't really count as a single entity), I'd be very surprised if any organisation has anything even approaching Google's server suite.
Google's game is internet services and having as much of the internet both residing on, and passing through it's servers .. it's about capturing the most eyes for the longest time and getting a piece of that .. be it YouTube .. Gmail .. Chrome .. or it's obvious play on online services ..
Google's play with Android is a natural extension of capturing more eyes through more digital networks
It's hiring chip specialists to work with Intel engineers on ARM .. Intel sees the trend and certainly sees Google as better hookup for the future than *Wintel* , where it's already won the x86 game
"Gintel" .. hic .. hahahha
What about mobile devices that can run Android natively without having to use the Linux kernel an a software VM?
@Patrick O'Reilly, & general & cloudiness
> ...taking up time, space and money
if they're built & a mass commodity, they're cheap. If unused they should't take up processor time. Possibly consume power if unused but I'd expect modern processors to switch off large unused units.
> ...could include only the instructions needed to perform their specific cloud computing tasks
Welll... what are the special requirements of cloud computing? I'd guess in the instruction set sense you're thinking, none, ARM stuff is pretty riscy and general so it's fit for most things and probably no part is unfit for clouds:
perhaps drop the FP stuff depending on requirements:
I guess 'cloud' means 'unspecified' which implies 'general purpose', which are what modern chips are; general purpose master-of-none workhorses.
So I'm wondering what would be cloud-friendly and I can suppose a couple of things. First is a much lower level of programming, perhaps like microcode, for common large operations. Worth the manpower configuring this or an FPGA if used often enough.
Other thought is more radical, that if you're aggregating huge quantities of data then accuracy may not be paramount, so have an ISA that deliberately permits errors eg. add_approx as an integer addition that is off by no more than (say) 0.1%, stuff like that.
Might be better to do it at the algorithm level but interesting nonetheless.
Google doesn't use the latest and greatest chips. They prefer chips that have a high performance per watt. Consider that they use the budget model instead of the flagship. So even if Google uses their own chips, AMD/Intel would have to still make money from the current clients on the new designs.
IP IP IP
I think the Google is aware of the importance of intellectual property and associated rights & responsibilities.
The hardware stuff is really only a manifestation of awareness of importance of IP in terms of revenue streams and longevity?
Even Google has insufficient economies of scale
They have a million or so servers. The x86 architecture has steamrollered everything in its path because it enjoys the huge economies of scale from a market of 300 million of PCs per year. Even Xeon lives at the sufferance of mainstream x86 processors. Let's not even talk about dead man walking, Itanic, Power and Sparc.
In comparison, even Google's vast server farm is small potatoes.
I doubt Google would design its own ARM core -- I think Cortex A9 multicore would be fine for its purpose. But they may design their own chip built around this core. Server chips won't need the graphics and signal processors that most high-performance ARM chips have (as the latter are targeted at media applications), but may need larger caches and MMUs capable of addressing more than 4GB of physical memory. Even if ARM has only 4GB logical address space, you can let different processes have different 4GB chunks of a larger physical memory.
But, instead of designing their own, Google may just ask Marvell, Qualcom, Nvidia or TI to design a chip to their specifications. If Google promises to buy a million chips per year, I'm sure these companies would be quite happy to do so.
Informed comment in a sea of idle speculation
Quite right Torben. Glad someone here has got a clue what they're talking about.
Chocolate Chip Factory
And they're putting cookies everywhere too. It's really quite confusing.
Alright already, I'm going, I'm going...
Ahhh so cute to see Acorn's humble little Cambridge designed chip finally getting used so much by the industry.
Makes you proud to be British.
The easy part of the discussion
I feel this article falls into the usual trap of dealing with a "Google will do this" rumor with a "after investigation, it makes sense, since they would benefit from the result".
Hell yes, and I would also benefit from building a more fuel efficient plane for my travels. But I don't.
Oh, and British Airways, as a buyer of planes, would REALLY benefit from creating a more fuel-efficient plane. But they don't.
Why is that already? Hmm, something like "they don't know how to do it/it's not their expertise/not their job" and "anything that can be done by BA can be done by Airbus and Boeing better, faster, cheaper" is coming to mind.
An article explaining to us that Google might do chips is pointless if it focuses on what it would gain from better chips.
The real question to address are OBVIOUSLY:
1- Does Google have the competences to do whatever part of the chipmaking this author wants to talk about?
2- IF they do, do they have either a need that the pros would not address (meaning probably that the market is too small to matter, ie only google would be interested), or a specific comparative advantage that makes them, non-pros, more efficient at doing this by themselves?
I'm not saying the answers aer necessarily "no".
I'm saying that by default, one has to think the answer would be "no", and that none of your readers has a clue.
And that it is precisely why that's the point the article should addres, rather than adopting the "they might do it, after all it would be useful" pose which brings absolutely nothing to the table.