Tuesday, November 26, 2013

Java in Heterogeneous Computing

November 12, 2013, AMD Developer Summit, San Jose, CA--Nandini Ramani from the Java group at Oracle described the role of Java in the world of mixed computing. The original premise of Java to write once, use anywhere fits into the paradigm of heterogeneous computing.



Java has evolved into a secure, mature platform with millions of programmers using its features on all types of products. The idea of class files operating on a virtual machine enables the use of code on any platform. The latest port is for the ARM 64-bit processor and will be released in early 2015.




The support for development tools includes many distributions and development platforms. Ongoing efforts ensure that the language is ported to new platforms and apps. One part of the development ecosystem is the OpenJDK, a repository for a portion of the software development kits that holds a single reference implementation binary.



The movement towards the Heterogeneous Systems Architecture (HSA) is advancing parallel processing developments. The biggest challenge is to find better ways to partition the parallel and serial threads and optimize the code in each portion. Java 8 will use the efforts of Project Lambda to incorporate new language features for better parallel programming.



The issue for HSA is that the array programming features have to run on any combination of processors. The program has to communicate with multiple virtual machines and operating systems. Java 8 will address the issue by moving to a single Java virtual machine and internal portioning for the code.



Structurally, this configuration will facilitate balancing and smoothing memory allocations for better data locality. The single virtual machine would consolidate and control all data transfers across processors and link the different instruction sets, processors, and memory pools for locally optimal performance. Further details are available in the OpenJDK site under Project Sumatra.



Oracle is joining the HSA organization to help promote the architecture and to contribute, where possible, to the increasingly parallel data universe. One of their first contributions is in the area of shared virtual memory with GPU cores. Users are encouraged to contribute to Java and HSA to bring out the best in both areas.
Full Post

No comments:

Post a Comment