Interesting...
FPGA> "It looks like you are trying to write a letter..."
Microsoft is using Intel Altera Field Programmable Gate Arrays (FPGA) chips to speed up Azure services, according to an announcement at the Ignite event under way in Atlanta. FPGA chips aim to combine the performance advantage of hardware with the flexibility of software. They are integrated circuits that can be reconfigured …
A couple of other thoughts:
* Do packet re-assembly so the OS sees far fewer calls to the TCP/IP stack.
* pre-filter simple and well-known attacks so that the OS's firewall doesn't waste time killing TCP SYN attacks
* Provide rudimentary load-balancing (EG, server process is busy, so redirects packets out to a replica server)
* Run a small HTTP server to serve up static data that doesn't need much in the way of cycles.
* Pre-filter SQL statements to kill bad requests before the application has a chance to choke on them
* Drop data directly into application's memory space (SO that the OS doesn't have to determine it)
Well, they are obviously missing Bill, so they have added in a bucket load of replacement gates - presumably hoping to add some sparkle back into MS.
From what they are detailing though, it sounds like they have built a network card - it talks to other devices across the network, talks to the server via the PCI bus.
Given that networks are based on standards - the good old OSI model etc, you have to wonder what they are hoping to do with their new home grown NIC's - some form of fancy new security layer, or other low level fiddling with the network stack, or is it just some form of tap siphoning packets off to somewhere for logging and analysis by people in smart black suits.
I'm also wondering how buggy their VHDL code will be - after all its very different to the sort of development they are used to, or did they get Altera to help out in that bit ?
This is the same system they use on the stock markets, the FPGA sits on the network cable and is capable of preempting action without having to see the full communication packet.
It gave the users a significant edge until everyone started to use them.
You then pack up a reply packet on an outgoing network cable, before the packet has even transitioned into the buffer/ stack of the existing network card.