Latest News
|NewsletterHigh-performance computing has become a critical resource whether an organisation is in the business of processing real-time stock trades, or analysing medical data. With speeds measured in Giga FLOPS (floating point operations per second), supercomputers, computer clusters, and other types of high-performance systems essentially make fast work of data-intensive applications.
Microprocessor-only system architectures are witnessing a difficult time keeping pace with high-performance computing applications, but there is a way to achieve performance gains while overcoming the power limitations, by offloading processing functions from the microprocessor to a plug-compatible field programmable gate array (FPGA).
An FPGA as a coprocessor can generate as much as x100 performance gain, up to 90 per cent lower power consumption, and better overall resource utilisation in many business applications and algorithms.
At the application level, FPGA coprocessing is typically generating acceleration improvements in the x3 to x50 range. However, at the algorithm level, acceleration is reaching x100 improvement.
There are, of course, variations by vertical industry. For example, a financial application such as Black-Scholes achieves 2.3 million experiments per second with a processor only approach (2.8GHz processor) When the same application was run in an FPGA coprocessor, the number of experiments per second grew to 299 million — a x130 improvement.
Performance improvements aside, users are also realising some important peripheral benefits. Because they are making better use of their server resources and lowering power consumption, they are spending less on cooling costs and can maintain the same server farm footprint for vastly greater computing results.
Designers use what they know and port to FPGAs
Engineers no longer need to know a hardware design language (HDL) such as Verilog or VHDL. Instead, today’s tools take in C code and deliver the low-level FPGA programming file. The new tools create the design in HDL automatically from a higher-level software representation, optimising the design for the targeted hardware. As a result, users can create custom hardware in minutes, essentially using a push-button approach.
Since FPGAs can be programmed at any stage in the design cycle—including in the field, they give systems engineers a great deal of flexibility. For example, engineers can easily and readily accommodate any changes in system specifications, algorithms, or industry requirements. They can even accelerate applications at different points of the day, or different moments in time. In comparison, Asics are limited to providing only the function for which they were originally made.
The FPGA coprocessor is able to achieve performance gains because it runs in parallel and pipelines the application in the FPGA fabric, while taking advantage of the logic density and large memory in the FPGA. Pipelining allows multiple instructions simultaneously, delivering one calculation per clock throughput. Parallelising provides thousands of computational resources, and increases memory throughput to avoid bottlenecks. What this means is that FPGAs work well with random access to memory.
To gain increased accuracy, many high-performance computing applications are using floating point data types, which allow users to easily store and manipulate numbers with fractional parts and a large range of sizes. In coprocessing applications, the FPGA should offer a balanced mix of multipliers and adders in the fabric that is suitable for matrix math and floating point applications.
The hunger for super-fast information analysis will no doubt continue to grow. For high-performance computing, FPGA coprocessing represents a practical way to substantially enhance performance levels while reducing power consumption and associated costs. With the availability of new tools and hardware, designing these systems is no longer complex or time-consuming. It might not be long before sophisticated applications such as customised DNA-based medical treatments become the norm.
Bryce Mackin is strategic product manager, computer and storage business at Altera