FPGAs In OpenStack

OM Field Programmable Gate Array (FPGA)s are (re-)programmable logic on a chip. Both from a speed/performance and ease of programmability, FPGAs lie in between that of pure software and pure hardware. They are great for development, before you realize some logic as an Application Specific Integrated Circuit (ASIC). Microsoft has combined an FPGA with its Xeon processors to double the throughput of its Bing search engine. FPGAs are great for digital signal processing, speeding speech processing and genome processing on FPGAs is already on the horizon. How can all this goodness be used in the cloud? In OpenStack? We shall end by discussing OpenStack support from representing FPGAs as a consumable resource capability, that could be shared or used exclusively, either in a virtualized or bare metal environment. Before we dive into that let us take a look at some use cases, available virtualization support, technical issues stemming from vendor variations.