ASPEED Software has ported its distributed computing solution, ACCELLERANT, to IBM's Blue Gene platform. With this solution, ASPEED will provide developers a means to introduce parallelism into applications for the Blue Gene architecture, without modifying the underlying algorithms or data structures. In particular, ACCELLERANT will become the first high-level solution that enables compute-intensive financial codes to take advantage of Blue Gene's supercomputing performance.
ASPEED characterizes ACCELLERANT as an application additive. There's no server or control program. You just add ACCELLERANT instrumentation into your source code. The application's algorithms and data structures are unaffected. In this sense, ACCELLERANT acts as a high-level language enhancement for parallelism support. Interfaces to most major programming languages (C, C++, FORTRAN, Java, VBA and VB.NET) are available.
Kurt Ziegler, ASPEED's executive vice president of Marketing and Product Management, says that many of the Wall Street applications are typically written as SMP codes and have not been designed to run in a distributed computing environment like a cluster or a Blue Gene supercomputer, which in many ways is just a tightly wound cluster. But a lot of these applications — everything from payroll processing to derivative trading analysis — have plenty of untapped parallelism that can be exploited on a distributed processor architecture. And according to Ziegler, ACCELLERANT is particularly well suited to efficiently distributing compute-intensive financial services applications because of the way it supports loop parallelization.
“What we do is take single-thread or multi-thread code and transparently parallelize the loops such that the computation can be distributed across multiple CPUs within the box or across multiple boxes,” says Ziegler.
To demonstrate how ACCELLERANT could scale a financial application, ASPEED used a single-thread portfolio pricing application, called AMBook. The application performs a pricing exercise on each portfolio option — derivatives in this case — to determine risk and pricing choices. In the end, you get the valuation of the whole portfolio, which may contain hundreds of thousands of options.
AMBook essentially loops through the options and performs a stochastic pricing/risk calculation one each one. The non-deterministic nature of the stochastic calculation requires a great deal of computational power. This technique is used extensively in things such as options pricing, Monte Carlo analysis, and portfolio valuation/risk management applications.
So how does ACCELLERANT do it? Since individual options are independent from one another, the entire portfolio calculation can be parallelized by partitioning the options loop across multiple CPUs. To do this, you add ACCELLERANT instrumented code (what they call “adapters”) around the loop. The adapters get turned into ACCELLERANT library calls that slice up the code and distribute them across multiple CPUs. So if you have a thousand iterations and wanted to run it across ten physical CPU cores, the ACCELLERANT software would automatically spawn ten different copies of that loop with different loop-range parameters.
“This is not a rewrite tool,” says Ziegler. “We're not restructuring. Whatever your math or iteration was before, logically it will remain the same. We don't want to alter the guy's thinking. The only difference is that at execution time, we'll be running it across multiple CPUs, transparently and adaptively.”
But it's not just a static scheduling algorithm. The code distribution across the CPUs also gets rebalanced while the program is running.
“The magic is that we do this dynamically,” says Ziegler. “We're constantly monitoring the progress of the calculations. If one of the machines happens to be slower or the calculation happens to be more complex and is not getting as many [completed], it will rebalance the work so that all of it ends at the same time. So we're more like a real-time dispatcher.”
This dynamic scheduling optimization reduces elapsed time and enables recovery from stalls or failures. Not only is a dynamic solution potentially more efficient, but if the application has to be ported onto a different architecture, the scheduler will transparently adapt to the new hardware environment.
So what do financial applications have to do with Blue Gene? The IBM supercomputing platform has typically been associated with scientific computing applications such as life sciences, hydrodynamics, quantum chemistry, molecular dynamics, astronomy, materials science and climate modeling. But more recently IBM has shown an interest in expanding the supercomputer's application domain into financial modeling. As reported in an article from the April 14 issue of HPCwire, IBM Sees Blue Gene Adoption Growing, (http://www.hpcwire.com/hpc/623259.html), the company has been contemplating expanding Blue Gene's application range for some time.
Herb Schultz, Blue Gene General Manager at IBM says that the ASPEED technology will enable the platform to move beyond its role in the scientific computing arena.
“The first year of Blue Gene was filling a lot of pent-up demand in higher education and government labs,” says Schultz. “This year, the focus has been to move into a select set of industrial sectors.”
IBM views the financial and securities market as an attractive target for Blue Gene technology. With increasing computer demand for power and floor space in Wall Street data centers, the Blue Gene technology can offer a much more efficient platform than either blades, clusters or conventional SMP servers for really big jobs.
Also, as financial applications become more complex and more compute-intensive, the ability to offer real-time results diminishes. One of the big challenges on Wall Street is providing actionable financial analysis before the window of opportunity closes. Shrinking the so-called “time to solution” can offer tremendous benefits to a Wall Street operation.
Besides time, the other consideration for financial analysis is precision. Traders prefer more precision, but they often have to limit the analysis because of the overall elapsed time required. For example, according to Ziegler, using AMBook on a portfolio of 240,000 options on a conventional SMP machine takes many hours. With the ACCELLERANT solution, which used 511 processors on an IBM Blue Gene, it took only seconds. In essence, it changed a batch process into an interactive one. And this is why IBM became so interested in ASPEED.
“The nature of their technology is that it can basically shrink wall-clock time,” says Schultz. “If you get the answers done the following day, you're using yesterday's data to make decisions. In some segments that's not a big deal, but in the Wall Street world, it is.”
IBM is working closely with a few yet-to-be-disclosed Wall Street firms that are investigating the Blue Gene/ACCELLERANT technology. Schultz hopes that this effort will turn into some Blue Gene orders.
“If we can get a few sales, I think there will be a sort of domino effect,” says Schultz. “If we get a couple of leaders on Wall Street to accept this proposition and they get a competitive advantage, then all of their rivals will want to know about it.”
It's worth noting that ASPEED brings more than just options pricing acceleration to the Blue Gene table. And it not just limited to “embarrassingly parallel” workloads either. ACCELLERANT can also be used to do memory partitioning for code with complex algorithms using interdependent data, such as Finite Element Analysis (FEA) and Partial Differential Equations (PDE) codes. An example is structural analysis for crash simulation. In these types of workloads, the data structures can get so large — like a 50K by 50K matrix — they often can't be handled by a single SMP system because of a lack of memory capacity. By splitting the data across multiple nodes, the application can take advantage of all the distributed memory. Moreover, unlike embarrassingly parallel applications, these types of workloads do not lend themselves to distribution over a grid without real-time peer-to-peer communication to allow the applications to gather and synchronize.
In the future, ASPEED is looking to adapt its ACCELLERANT technology to other high-end supercomputer systems besided Blue Gene.
“We've been working with a couple of other companies that I can't announce yet,” says Ziegler. “They have completely different architectures. They've taken advantage of different computing engines and connected them with high-speed pipes. So we're trying to help them as well.”