Pokemon Go has taken the world by storm. Nintendo have done it again. Just like the Nintendo Wii changed video game players from couch potatoes into physically active game participants...
During the past few months, I have written quite a few articles on reconfigurable computing platforms and how they can be used for various applications including NFV and cyber security applications. Intel, Xilinx and other FPGA chip vendors are also providing evidence of the power of reconfigurable computing in everything from machine learning to matching DNA profiles, while Microsoft Azure has been very public with their positive experiences of basing their datacenters on reconfigurable FPGA.
What is interesting about these reports, is not just the performance improvements that reconfigurable computing solutions provide, but also the breadth of applications that they can support. This is not new information either. Research into reconfigurable computing has been going on for some time. To get a good overview of the evolution and application of reconfigurable computing, I can recommend the “Reconfigurable Computing Architectures” paper by Tessier, Poceck and DeHon in the Proceedings of the IEEE, Vol. 103, No. 3 of March 2015.
In the paper, the authors state that “the field has accumulated ample evidence of the superior performance and energy efficiency of FPGAs compared to processors over a broad range of applications”. However, they also conclude that “there is still much to learn and a long way to go before the field begins to mature. Ease-of-use, ease-of-debug, accessibility, and a slow edit-compile-debug cycle remain as challenges that must be addressed to achieve broad appeal.”
So where do we stand with reconfigurable computing and what can we expect going forward? In my opinion, we will go through three stages of reconfigurable computing that take advantage of what we can do today as the challenges above are gradually addressed by the industry. I have defined the three stages as:
- Stage 1: Solutions-focused reconfigurable computing
- Stage 2: Customer-invoked reconfigurable computing
- Stage 3: Orchestrated reconfigurable computing
In this installment, I will be exploring Stage 1.
Stage 1: Solutions-focused reconfigurable computing
Harvard marketing professor Theodore Levitt is famously quoted as saying “People don’t want to buy a quarter-inch drill. They want a quarter-inch hole.” At this stage of the market, the same can be said for reconfigurable computing. Nobody is buying reconfigurable computing, they are addressing a challenge that solutions based on reconfigurable computing just happen to meet best.
But, the key word here is “solutions”. Reconfigurable computing can provide superior performance and energy efficiency for a broad range of applications, as we have seen, but it also requires complete solutions for specific applications. A complete solution is not just the FPGA chip or the FPGA image, but the software that enables the solution to be integrated into the environment and to be configured, monitored and upgraded, when required. It also means a hardware implementation that is reliable and efficient with the right FPGA chip, memory and interfaces.
One can think of this as a “black-box” reconfigurable computing solution where a specific application is addressed with a completely integrated software, FPGA firmware and hardware solution that will fit seamlessly into the target environment.
While it is possible for IT organizations to create such a solution themselves, we envisage the need for reconfigurable computing solution providers who are highly experienced in providing total solutions based on reconfigurable computing platforms for specific applications.
In the next article, I will be discussing stage 2, where I talk about customer-invoked reconfigurable computing.