WORA for real this time?
HSA to bring native JVM parallel acceleration to Java 9
In this multicore age, the demands an application places on the software and hardware continue to grow. As such, the idea of Mechanical Sympathy, as espoused by Martin Thompson, becomes ever more important - that Java developers must get the language and underlying platform working together in harmony.
Plenty of companies have twigged in recent months that Java may not be the most well-equipped language to deal with multicore machines or virtualised systems. Thus, new initiatives have appeared to eke extra performance benefits out of hardware for Java.
The most promising pursuit thus far appears to be from the HSA Foundation (Heterogeneous System Architecture), a collective of chip makers seeking to “create an open specification that allows software to be written once and deployed across any type of device.”
This bold catch-all mantra may sound familiar to Java developers, being the original intention for the object-oriented language when it first appeared in 1995. JVM developers will likely testify that Java hasn’t lived up to its initial lofty pledge, with plenty of masking needed for Java code to reach a GPU processor.
At the recent Hot Chips Conference, the consortium showed just how serious they are, by announcing plans to bring native support for parallel acceleration for Java virtual machines in time for Java 9 in 2015. With the specification implemented, parallel algorithms can be executed without any extra Java code.
"Ultimately the parallel acceleration belongs in the Java virtual machine, and hopefully that is where it will reside," HSA Foundation president and AMD Corporate Fellow, Phil Rogers told attendees.
The HSA Foundation was created last year, bringing together hardware heavyweights such as AMD, Samsung, Qualcomm, and ARM, amongst other companies. Essentially the HSA Foundation is a group of competitors to the two big hitters Intel and Nividia, who are not backing the venture.
This isn’t the first attempt to harness further GPU power for Java, with Oracle and AMD announcing Project Sumatra in August 2012, a sponsored effort with similar goals to HSA. The project proposal will demonstrate the performance advantages of offloading compute to GPU, through the Hotspot JVM.
Sumatra is scheduled to be part of Java 8, as it repurposes the Stream and Lambda API, the core feature tagged onto the next major release, for CPU/GPU processing. Although Sumatra will be beating the HSA Foundation’s effort to the punch, it won’t be native to the JVM, something the collective is pinning its hopes on. There are other options available to Java developers such as Aparapi, which converts Java bytecode to the more familiar OpenCL for data parallelism on GPU devices.
As Java is prevalent in cloud and big data environments, making the language and hardware more performant for modern tasks is clearly at the top of the agenda of many vendors. The HSA Foundation’s quest to usher in a new heterogeneous era for programming is arguably the most bold to date. With a first specification already under its belt and the roadmap currently in progress, the enormous scope of this project is one to make any developer tentatively salivate.