Following in the footsteps of Microsoft, Mozilla, Google and Apple, Oracle is now turning to hardware acceleration to speed up Java by harnessing the emerging potential of the GPU.
The OpenJDK project’s Hotspot group has said it will explore ways of speeding Java with a native Java Virtual Machine (JVM) that taps hardware acceleration.
OpenJDK HotSpot group lead John Coomes and AMD’s Gary Frost made the proposal here. Coomes will lead the project.
The project will try to demonstrate the performance advantages of taking Java compute off the CPU and putting it on the GPU.
The project will explore ways of using Lambda language and library features in the as-yet unfinished Java 8.
The OpenJDK is a project building a free and open-source implementation of the Java programming language under the GPL and was started by Sun Microsystems. Oracle, which bought Sun in 2010, has established the group’s primacy by securing the memberships of IBM and Apple. OpenJDK had previously stayed off the grid because of industry politicking and disagreements with Sun over who “controlled” Java.
With these companies on board, hardware acceleration has a good chance of making it into the formal Java spec – should the project’s goals be met, of course.
Oracle is coming relatively late to the GPU party. Microsoft, Mozilla, Google and Apple already all offer hardware acceleration for their browsers using GPU. The idea is to remove the basic work of creating an image by building curves and gradients from the oversubscribed CPU and placing it on a system built specifically to handle graphics processing.
There’s been a land rush on hardware acceleration by browser-makers looking for new ways to speed up their products and ensure games and other apps perform well on their systems.
As HTML5 specialist Sencha points out here, using GPU for general web page rendering might be a waste. The more obvious use is for graphics and games with lots of rendering – with things like quickly changing images zooming in and out on a subject.
Hardware acceleration suggests Oracle is trying to improve Java as a platform for gaming and web apps – not only the ones that run on regular browsers, but also those which run on devices such as smartphones and tablets. Apps for such devices tend to be big on graphics while the machines have relatively limited computer power and battery life – something that gets drained by a repeated thrashing from the CPU. ®