January 25, 2006

Profile: OptimaNumerics

Author: Joe Barr

OptimaNumerics is a software firm that specializes in high-performance numerical libraries, such as are often used on Linux-based supercomputers. The privately held, proprietary software firm was founded some years ago by Dr. Kenneth Tan. Tan and a couple of other OptimaNumerics employees are based in Belfast, Northern Ireland, because its timezone is right for their market. The company also has employees in North America, Singapore, China, and Japan. Revenues and profitability? Sorry, that's confidential information.

The libraries OptimaNumerics provides are run by some of the fastest supercomputers on the planet. Some of its customers are the Russian Joint Supercomputing Center, Perot Systems, Queens University of Belfast, and Calgary University. The numerical libraries allow the company's customers to squeeze more computing out of their hardware, not only giving them answers more quickly, but also a better return on their investment.

Tan explained the basics of supercomputer math in layman's terms. Most supercomputing time -- from 60 to 90 percent -- is spent in three specialized areas: linear algebra, Fourier transforms, and random simulations. Linear algebra takes the largest chunk of time of the three, normally from 40 to 60 percent of the total time for all three.

Over the years, the scientific community has standardized on the code that is used to do linear algebra and the other areas. OptimaNumerics provides libraries that are identical in use and functionality to the standard libraries, but provide better performance. They replace the standards for for LAPACK (short for Linear Algebra Package), ScaLAPACK (Scalable LAPACK), PETSc (Portable, Extensible Toolkit for Scientific computation), SPRNG (Scalable Parallel Random Number Generators), and PLFG (Parallel Lagged Fibonacci Generator). Since supercomputers are almost always doing mathematical computation, these libraries are needed by a wide range of applications: weather forecasting, reservoir modeling, and cryptography, to name a few.

The use of open software standards make it easy for programmers to change or upgrade the libraries they are using. For example, suppose the standard way to get the cube root of a number is a call to a function in the library with a pointer to the number for which the cube root is to be computed and an address where the result is to be stored. That's all an application programmer has to know about how the result is achieved. The programmer tells the function the number, and the function provides the answer in the expected location.

The secret sauce is in how the computation is done. Assuming that the correct answer is returned in both cases, the code that solves the problem more quickly wins. The standards themselves foster competition among the software vendors providing the libraries. If any of them used a non-standard format for the function, their users would become "locked in," since once they adopt the non-standard methods, changing to another format would require them to change not just the libraries, but the applications which call the functions. OptimaNumerics software adheres to the open standards, and because it does, it can work on Linux-based supercomputers as well as on proprietary hardware from Sun, Hewlett-Packard, and IBM.

That's why you run across mixed-heritage supercomputers like the one in Moscow, at the Joint Supercomputer Center operated by the Russian Academy of Sciences, which is running one supercomputer based on the IBM Bladecenter JS20 Linux platform with PowerPC processors -- and is teaming with OptimaNumerics to port its libraries to the supercomputer. Open standards are the key to such interoperability.

The open standards surrounding the world of supercomputers also explains why Linux has been and continues to be so dominant on supercomputers. Instead of an entrenched, monopolistic incumbent, there is a level playing field. That fact, coupled with the natural allure of open source in conjunction with open standards, has made it the natural choice.

Of course, your software's view of hardware impacts how well or how poorly it will play with different architectures. Tan told me how his developers view the machine as an abstraction of fundamental components: CPUs, core, registers, and memory. They write their software for that vision of hardware, rather than for any specific hardware.

OptimaNumerics is not a Linux company. It is a platform-agnostic firm whose proprietary products run on Linux and Linux clusters, as well as other platforms. As part of a growing trend resulting from adherence to open standards, it may provide a glimpse of the future of the software industry.


  • Business
Click Here!