Acceleration technology is all the rage these days in high performance computing. With the emergence of GPGPUs into the mainstream, a whole new sub-industry has coalesced around acceleration solutions based on the latest GPUs. Maxeler Technologies, however, has made a nice living delivering FPGA acceleration to a rather elite customer base.
London-based Maxeler Technologies began in 2003 with a mission to bring acceleration technology into high performance computing. Their customer base skews toward users who have high-value applications and who are willing to pay top dollar to boost application performance. As company CEO Oskar Mencer succinctly puts it, “People pay us to get their programs to run a lot faster.” Not surprisingly, Maxeler’s two largest target sectors are financial services and the energy industry.
Maxeler started out by trying to accelerate CAD algorithms for the VLSI industry, a strategy that didn’t pan out. The organic fit turned out to be users with compute-hungry applications, whose speed of execution had a direct influence on the business’s bottom line. The other requirement was that the compute-intensive bits of the software could be transformed into a streaming computing model.
That led Maxeler to banks, hedge fund firms, and oil & gas companies looking to run their applications faster, better, or more often. Today they have around 20 customers including such big name as J.P. Morgan, Schlumberger, Chevron, and an Italian energy firm Eni. For the time being, the others prefer to remain anonymous.
For oil & gas companies, faster seismic analysis and imaging means those organizations can perform more application runs or do so at higher fidelity — or a combination of both. Quicker and more accurate results enable the companies to make more informed bids on parcels and subsequent drilling. Especially when companies are bidding for drilling rights, better turnaround time on these seismic applications is critical to the company’s profit.
In the finance sector, Maxeler acceleration is applicable to almost any sort of application that calculates investment risk, but especially complex instrument like credit derivatives, including the notorious credit default swaps (CDSs) and collateralized default obligations (CDOs). High frequency trading is another area where Maxeler technology has been employed to good effect.
Boosting the performance of the risk calculations enables financial institutions to take on less risk themselves. Faster executing applications means the analysis can be run more often — for example, several times a day, rather than just overnight. This allows a bank to make near real-time decisions on investments based on up-to-date market conditions. If it’s not just speed they’re after, extra computational power can also be used to run more complex models. This enables institutions to measure different aspects of risk, thus providing them with more definitive investment guidance.
Maxeler’s first project was with a Wall Street firm, an engagement that kick-started the business. “We are a very strange company,” laughs Mencer. “We had no investors, no loans. We were cash-flow positive from day one, and have sustained a cash-flow positive operation since then.”
Maxeler has a vertically integrated business model in which they collaborate with their customers from design to deployment. As such, they help to define the hardware components and system architecture as well as guide software design and development. In that sense, Maxeler behaves more like a consulting business than a system provider. It’s a complete solution, but it’s not for everyone.
“We’re a very high-end solution,” admits Mencer, “There are not millions of customers out there who can hire a fully custom house to design their computing infrastructure.”
Although there are a handful of other FPGA solutions for HPC in the marketplace, none are as vertically integrated as Maxeler’s. Most are selling hardware, FPGA software tools, prepackaged libraries, or some combination of the three.
Treating each engagement as a consulting gig is a natural outcome of Maxeler’s focus on FPGA-based solutions, which by their nature, demand custom-built software. Although the company has dabbled in GPU acceleration (and is currently on the lookout to hire some top-notch CUDA engineers), it has built up its business around FPGAs. But porting an application to such an architecture is a major hurdle for most organizations, which is why the company will hold the customer’s hand to do the initial port.
During this transition, Maxeler engineers will help identify the pieces of the customer application suitable for acceleration and develop an optimized CPU-FPGA implementation that matches the chosen hardware. Only the compute-intensive kernel of the application has to be rejiggered for the FPGA. The remainder of the application can remain in its original sequential form and in its native programming environment — C, C++, Fortran, or whatever.
After the application port, Mencer says the software can be handed off to traditional programmers. The piece of technology that makes this possible is Maxeler’s FPGA Java compiler (what they call their MaxCompiler), which transforms standard Java code into dataflow graphs. And instead of byte-code, the compiler spits out FPGA bit files. According to Mencer, domain developers with no knowledge of FPGAs — or, for that matter, hardware of any kind — can use the Java technology to maintain and develop their own application kernels.
As far as hardware, Maxeler provides server nodes that consist of conventional x86 CPUs with FPGAs cards plugged in via PCI-Express slots. A server would consist of two quad-core or six-core x86 Xeons and a two or four Xilinx FPGA cards. The FPGA cards are hooked together via MaxRing, Maxeler’s high-bandwidth interconnect.
An entire deployment is usually just one or two racks of these servers, but thanks to the FPGA performance boost, it replaces 20 to 50 racks of conventional servers. As a result, energy costs are reduced by the corresponding amount. In fact, for customers constrained by datacenter space, power and cooling, switching to Maxeler technology can yield order-of-magnitude-level OPEX savings.
Although there are fewer servers to power, the platform itself is not cheap. Mencer estimates one rack might run one or two million dollars. For high value applications, though, this kind of acceleration is a no-brainer.
For example, a CDO pricing application used by J.P. Morgan used 2,000 x86 cores and required an overnight run to compute the results. After porting to Maxeler gear, they were able to achieve an order-of-magnitude increase in performance. On a per node basis, the Maxeler implementation was 31 times faster. And even though the accelerated server incorporated two FPGAs in addition to the two Intel Xeon processors, the hardware drew six percent less power during application execution than the x86-only setup.
On isolated algorithms, the performance is even more impressive. For example, applying Maxeler technology to Reverse Time Migration software used for generating seismic imaging, researchers found they could achieve a 70-fold performance increase using four Virtex-6 FPGAs (compared to an 8-core Nehalem server). This was significantly better than the 5-fold speedup they achieved with a GPU implementation; although in this case they used only a single Tesla GPU and with a smaller shared-memory footprint than the FPGA setup.
Competing against GPGPU-based solutions comes with the territory, of course, but a lot of Maxeler’s prospective clients are still focused on using conventional CPU-based platforms. In some cases, though, customers will end up acquiring these mainstream systems alongside a Maxeler FPGA solution.
“But the key competition we have are the internal IT departments of our customers because we are reducing the size of their datacenter,” explains Mencer. “And they don’t like that since their salary depends upon the size of the empire they are running.”