Sunday, Full Day
Title: Java for High Performance Computing: Performance and Parallelisation
Presenters: Lorna Smith, Mark Bull, and David Henty, Edinburgh Parallel Computing Centre, The University of Edinburgh
Level: 20% Introductory | 60% Intermediate | 20% Advanced
Java offers a number of benefits as a language for High Performance Computing (HPC), especially in the context of the Computational Grid. For example, Java offers a high level of platform independence not observed with traditional HPC languages. This is crucial in an area where the lifetime of application codes exceeds that of most machines. In addition, the object-oriented nature of Java facilitates code re-use and reduces development time.
There are however a number of issues surrounding the use of Java for HPC, principally performance, numerics and parallelism. EPCC is leading the Benchmarking initiative of the Java Grande Forum, which is specifically concerned with performance. The tutorial will focus on this work, examining performance issues relevant to HPC applications. It will consider benchmarks for evaluating different Java environments, for inter-language comparisons and for testing the performance and scalability of different Java parallel models (native threads, message passing and OpenMP).
The aim is to demonstrate that performance no longer prohibits Java as a base language for HPC and that the available parallel models offer realistic mechanisms for the development of parallel applications. The tutorial will include a number of practical coding sessions which reinforce the concepts described in the lectures.