Nvidia, IBM: GPU Acceleration to Speed Up Java Workloads
Nvidia officials are saying Java workloads could see significant performance gains now that developers will soon be able to take advantage of GPUs to speed up the their programs.
Sumit Gupta, general manager of Nvidia’s Tesla Accelerated Computing business unit, pointed to the Sept. 22 JavaOne keynote address by John Duimovich, IBM’s chief technology officer of Java, who reportedly said the use of graphics processing unit (GPU) accelerators on Java workloads could improve workload performance by as much as 10 times.
Gupta said Duimovich announced IBM will look to apply the parallel processing capabilities to Java.
“According to Duimovich, IBM will enable IBM runtimes for server-based GPU accelerators and explore acceleration in ordinary workloads under existing APIs,” Gupta said in a post on the Nvidia blog. “This will allow millions of Java developers to accelerate a broad range of applications using GPU accelerators—and achieve speed-ups that will dramatically improve the capabilities of the applications. Plus, the acceleration will fuel a new generation of Java-based enterprise applications that wouldn’t have been possible without GPUs.”
Organizations running high-performance computing (HPC) environments for several years have been using GPU accelerators from Nvidia and Advanced Micro Devices in their systems to run alongside CPUs to ramp up the performance of their workloads and reduce power costs. Intel last year introduced its x86-based Xeon Phi coprocessors as an alternative to GPU accelerators.
According to the Top500 list of the world's fastest supercomputers released in June, 54 systems used one or the other, with 39 choosing Nvidia GPUs and three opting for AMD's ATI Radeon graphics products. Eleven used Xeon Phi, including China's Tianhe-2, the world's fastest system.
In June, an IDC study found that the number of HPC sites using coprocessors and accelerators doubled over the past two years, with Nvidia GPUs and Xeon Phi coprocessors in close competition.
Java is used by millions of developers for a range of workloads, including Web 2.0, big data analytics and scientific computing, Nvidia’s Gupta said. It’s used in such large distributed frameworks, such as Apache Hadoop, to make programmability, modularity and multiplatform support easier, he said.
IBM’s Duimovich showed a chart mapping one example of how much some Java workloads—taking advantage of existing GPU compute libraries using Nvidia’s CUDA programming environment—can be sped up using GPU accelerators, with the increases ranging from two times to 48 times faster.
“And these benefits are possible in Java JDK 8 by taking advantage of existing CUDA libraries to accelerate the Java libraries for parallel operations,” Gupta wrote. “The use cases for GPU-accelerated Java applications are near endless: from high-performance distributed fraud detection and financial analysis, to high-throughput video and image analytics and modern scientific applications.”
He said the Java-on-GPU idea is one of the benefits of IBM’s OpenPower effort, which the company announced in August. Through the OpenPower initiative, IBM is licensing its Power processors to other companies to enable them to build their own servers, storage products and networking systems based on the architecture. In addition, IBM also created the OpenPower Consortium—which includes Nvidia—to encourage the growth of a hardware and software ecosystem around the Power architecture.