3 ms·
I can think of two apps that can leverage this kind of FPGA+CPU setup. Heavy duty image processing: Giga pixel images processing - probably mainly for defence
by tkinom 11y ago
I can think of two apps that can leverage this kind of FPGA+CPU setup.
Heavy duty image processing: Giga pixel images processing - probably mainly for defence related app like this:
https://youtu.be/MVFeMH3ahtw?t=34m45s https://youtu.be/MVFeMH3ahtw?t=34m45s
Video processing: I used to work on one - 10 years ago. We have 1U system that process feed ip videos in and provide video/decoding/transcoding service. It has 37 Virtex Pro FPGA each with 450Mhz PPC processor inside. It was a very fun project, make some good $ for the startup too. Deploy a lot of them at comcast and other major cable company til some stupid VC impose their own CEO and piss off of the three MIT founders. I think transcoding system probably still be useful for all the internet video datacenter app. FPGA transcoding app can provide real time transcoding service for youtube to a lot resolutions to various phone screen site.
FaceBox, Youtube, Amazon, Netflix can probably use those device/services.
Anyone else can think of any good/interesting applications for FPGA+CPU setup?
- sparkie 11y agoAnother obvious example that can benefit from the setup is a crypto coprocessor, whereby private keys are side-loaded onto the coprocessor by means of a separate hardware bus, such that the key is never exposed to the CPU or main memory, and the coprocessor can handle all encryption/decryption with said keys.
- tkinom 11y agoFPGA+CPU type setup is not cheap to develop or deploy. Crypto with modern CPU such as pentium works wells. Also almost all the ARM Soc comes with crypto co-processor already with private memory that's not share with main CPU. Not too sure about the value add there.
- sparkie 11y agoThe value is not about performance, but security. Crypto done by modern CPUs is susceptible to many side-channel attacks. Having a separate SoC is nice, but the SoC is not upgradable with new algorithms or patches if there are any problems found in its implementation. Also, just having a separate memory space for the purpose of computation is not sufficient. I'm arguing for an entirely separate hardware bus to load keys onto the chip, such that they never exist in CPU, memory, or the storage for the machine being used for general purpose computation, because keys there can be obtained via side-channels if other software (such as the kernel) is exploited.