...
Bearing in mind this is just an off-the-cuff theoretical, I wonder how many applications don't have this same kind of CPU-bound bottleneck somewhere. I'm not an FPGA expert by a long shot, but I've always gotten the impression they aren't good for processing, just simple logic and I/O at high speed. So what kind of offload-able computation has that kind of signature?
Thoughts?
The classic example I think of is digital filtering. As long as you can generate more multiply accumulate blocks, the computational complexity of an FIR or IIR is O(1)! However, you do get O(n) latency. Most applications I know of trade latency for bandwidth.
Cryptography is one possible application that comes to mind. General-purpose CPU's don't seem to be very efficient at that, while FPGA can do much better. That's the whole reason the cryptocurrency tech went to FPGA (and later to ASIC).
The reason FPGAs are good at encryption is because the encryption was specifically designed to be fast in hardware, not because they are inherently better. For a counterexample see scrypt, which was designed specifically to be slow in raw gates to prevent brute forcing.
I still think I would prefer separate devices instead of a CPU/FPGA hybrid in this circumstance. Although software defined networking is interesting, I think ASIC based networking will always win for stupendous latency/bandwidth, we just need to develop the appropriate standards for what google/Microsoft/etc want. You get faster speeds (in terms of bits/s) by making more assumptions, not less, which makes the algorithms a prime example for ASIC design.
And I don't believe an FPGA would be more useful than a 100 core CPU in most parallel computing applications.
Don't get me wrong, FPGAs are awesome, but filling a data centre with them so that you can constantly reprogram your networking protocols just seems like either you didn't plan your protocols very well, or you are well aware that you will be replacing them all every 2-3 years at high cost when cheap asics overtake you. In a data centre you have a significant economies of scale advantage, use it!