When Java’s cup runs over

Goldman Sachs Group, which reported a record $2.48 billion profit in the first quarter.

Goldman Sachs Group, which reported a record $2.48 billion profit in the first quarter, is facing a problem brought on by its good fortune: The servers that store trading positions are running out of capacity, says David Campbell, a vice president of principal investments at the firm. Already absorbing 12 gigabytes of new information every day, the servers face a daily data load that is projected to be twice that level a year from now. Adding more hardware is the obvious answer, but the Java reprogramming involved would take “several months to accomplish and cost hundreds of thousands of dollars or more,” Campbell estimates.

Goldman’s situation is not unique. With an estimated 80 percent of new Wall Street applications written in the programming language, Java is beginning to reveal its limitations.

“Raw Java, off the shelf, lacks certain things that can be useful when building applications that require several servers to work together,” says Michael Gilpin, a research director at Cambridge, Massachusettsbased consulting firm Forrester Research. He adds that clustering is becoming more common on Wall Street.

Goldman Sachs hasn’t yet decided how it will program its new servers, but Campbell is betting that other firms share its clustering problem. For that reason, his group led a $13.5 million second round of financing in February for San Franciscobased Terracotta, a technology company that specializes in solutions for Java scalability.

“Financial services companies need the ability to add capacity on the fly,” says Ari Zilka, Terracotta’s CEO, who believes that traditional ways of clustering or scaling up Java applications are error-prone owing to one of its most popular features: the automation of processes that underlie complex applications. These automated elements, which free developers to focus on the code needed for a particular business problem, sometimes get in the way.

“Memory management is one of the things people typically run up against when they’re scaling applications in Java,” says Charles Doerr, chief architect at New Yorkbased derivatives trading platform Creditex. At Bank of New York, chief systems architect Sateesh Prabakaran says some applications are slowed by Java’s automated release of idle memory for use by other applications. This “garbage collection” feature disposes of an application’s outdated content and reallocates the dedicated memory to more pertinent tasks. By contrast, C++, an older programming language that dominated Wall Street applications until recently, requires a developer to decide how that additional memory should be used.

“Garbage collection adds a step that can’t be controlled by programmers,” says Prabakaran. “It has been a problem in terms of achieving the highly optimized performance we’re looking to gain from high-end computation.”

Although some users say they like garbage collection, others work around it by employing different programs. For example, when Creditex had to expand its primary trading application from one server to four because of an increase in volume, Doerr used open-source software to supplement the customized Java programming done by his developers. For its analytics applications, J.P. Morgan Chase & Co. programs in C++.

Ray Valdes, research director for Internet platforms at Gartner Research, a Stamford, Connecticutbased consulting firm, says Java is less efficient in its use of computational power than C++ because Java runs on a virtual machine layer that sits above the hardware. Although this allows Java to mask the underlying hardware, enabling applications to run on anything from a cellular phone to a mainframe, it takes up valuable space.

“Java adds overhead,” he says. “C++ doing a certain task runs 30 to 50 percent faster than a Java program.”

None of this means that Java is headed out the door anytime soon. Wall Street technologists say it’s still their favorite language, because it is quick, easy to use and hardware-neutral, permitting the linkage of platforms that otherwise wouldn’t be able to communicate. It is employed for solutions ranging from risk calculators to Web sites, and because it’s not owned by a single vendor, Java offers access to a vast and growing network of programmers and open-source libraries.

“So far it’s better than anything else we’ve used,” sums up Michael Ashworth, chief information officer at J.P. Morgan.

Related