Today's computers can carry on a wide range of tasks thanks to a general architecture that allows for great flexibility at the cost of a non-optimal performance; on the other end, application-specific integrated circuits (ASICs) can carry on a very specific task with great speed and energy efficiency, but are very inflexible. Now Novo-G, a reconfigurable supercomputer developed at the University of Florida that's described as the most powerful of its kind, is attempting to take the best from both worlds by being able to effectively change its hardware configuration as needed to compute with the greatest possible speed and efficiency.
The road to reconfigurable computing
The earliest computing machines had fixed programs implemented with special-purpose circuitry that was hardwired into the system. Many simple computers, such as desk calculators as well as those known as "embedded systems," use this technique and still play an essential role in today's electronics.
In the mid 40s, Professor J. von Neumann proposed an innovative, general architecture that would allow computers to be programmable — that is, to be able to execute different algorithms based on the instructions given by a programmer. The significant loss in performance was, for many applications, well compensated by the greatly enhanced flexibility of the system.
But already during the 60s, researchers theorized a "reconfigurable computer" that would take the best from both worlds: by using a standard processor and an array of reconfigurable hardware logic, one could control the reconfiguration of the hardware on the fly, which would change among a number of application-specific circuits depending on the current task to obtain a far more efficient machine while not losing out in terms of flexibility.
This idea was however very much ahead of its time, as we have only recently achieved the kind of progress in electronics to start research in this new, highly ambitious field.
Novo-G and the future of reconfigurable computing
As Prof. Alan George, who led the design efforts, told us, Novo-G is implemented with 96 field programmable gate array (FPGA) accelerators, each FPGA being one of the most powerful in existence (see specifications) and supported with a large amount of directly attached memory for a total 576GB of RAM.
While measuring the performance of a reconfigurable computer is anything but trivial, making a direct comparison unpractical, Novo-G is most likely the fastest computer of its kind. "The advantage of this technology is faster speed — 10 to 100 times faster for many applications — and 5 to 10 times less energy consumption," Prof. George explained.
The various hardware mappings employed by the system are currently all defined at design time instead of at run time, even though the researchers from the University of Florida might be looking at this challenging development in the future. As for the hardware reconfiguration time, "[it] depends upon the application but in general it is less than one second in the worst case," Prof. George told us.
Although the concept has now been proven, reconfigurable computers are still at an early stage and, just like the very early computers in the 50s, are quite hard to use. One of the main goals of the team is to develop techniques to make reconfigurable computers more accessible to the general public.
"The biggest obstacle for reconfigurable computing is one of programming difficulty and productivity. However, much of our research and that of many other groups and vendors is focused in this direction, so we are optimistic about the future."