TL;DR<p><pre><code> Microsoft uses FPGAs. Google uses ASICs. MapD uses GPUs.
FPGAs are more flexible. ASICs are faster.
</code></pre>
I think the FPGA approach is generally more useful and will trickle out into the marketplace. Indeed they are already available. So this article is more about Microsoft's fabric.<p><pre><code> https://www.mrcy.com/products/ensemble-fcn8213-server-class-fpga-processing-blade-advancedtca/
</code></pre>
It's not impossible to think this would make its way into an Azure cloud product. That won't happen with ASICs. But Google will clearly have an advantage on the problems they focus on.
The reuse of their network infrastructure with this approach is elegant, BUT it takes about half of the FPGA to support the network pass through and lightweight transport layer.<p>FPGAs are about as expensive as high end CPUs, can you afford to buy a high end server and burn half the cores on your OS?<p>On the flip side, if Microsoft can really eat that cost and offer FPGA space as a public cloud service, as an FPGA dev, I'd rather pay to play than bust 5K on a high end dev board.
looks like a new class of hardware component emerging - NIC with an additional FPGA chip. Or may be a NIC which has only FPGA, an FPGA larger than the NIC's code alone would require. Or just FPGA card with NIC ports on it.
> [From the article] In this paper we propose a new cloud architecture that uses reconfigurable logic to accelerate both network plane functions and applications. This Configurable Cloud architecture places a layer of reconfigurable logic (FPGAs) between the network switches and the servers, enabling network flows to be programmably transformed at line rate...<p>Network planes are done with FPGA and ASIC since a long time. Microsoft is late to the game.
Is this entirely about how Microsoft is using FPGAs for some of its own internal datacenter needs. In that case I can understand why Google might see ASICs as a better way to do the same thing.<p>Where I see FPGAs shining on the cloud is if vendors started putting them online so that clients could program them for their own applications. But I don't know enough about such things to know if there is yet a market for that.
I'm not convinced that FPGAs are effective in general purpose computation. FPGAs are quite expensive in terms of power, density and overall cost per function. It's not like this hasn't been tried many times before (Google even bought a company that used FPGAs for a reconfigurable network stack processor, but as far as I can see the product never made it).
I wish they would work out how to run the chisel toolchain on those fpgas. From what I understand, you have to program in verilog currently which is a huge pain.<p>Please enable chisel and put it in your Azure cloud. It will be a great platform for custom software.