DHPC Adelaide

DHPC Technical Report DHPC-081

A Java-based Parallel Programming Support Environment

K.A. Hawick and H.A. James

Archived: 24 December 1999

Published in Proc. of High Performance Computing and Networks (HPCN) Europe 2000, Amsterdam, May 2000.

Abstract

The Java programming language and environment is stimulating new research activities in many areas of computing, not the least of which is parallel computing. Parallel techniques are themselves finding new uses in cluster computing systems. Although there are excellent software tools for scheduling, monitoring and message-based programming on parallel clusters, these systems are not yet well integrated and do not provide very high-level parallel programming paradigm support. We have prototyped a multi-paradigm parallel programming toolkit in Java, specifically targeting an integrated approach on Beowulf-style cluster computers. Our JUMP system builds on ideas from the message-passing community as well as from distributed systems technologies. We believe our system promises high performance for parallel programming as well as integrating with meta-computing frameworks for sharing resources across administrative boundaries. The ever-improving Java development environment allows us access to a number of techniques that were not available using the message-passing systems of the past. In addition to the usual object-oriented programming benefits, these include: language reflection; a rich variety of remote and networking techniques; dynamic class-loading; and code portability. Using pure Java does at present still limit performance of some applications, but we believe that as a research software system, the benefits of scoping out the design issues of a system like JUMP now, are significant. We expect Java Virtual Machine (JVM) performances to continue to improve. Our system supports the usual messaging primitives although in a more natural style for a modern object oriented program. We are using our JUMP model framework to research some of the long sought after parallel programming goals of support for parallel I/O; irregular and dynamic domain decomposition and in particular irregular mesh support.

Keywords: JUMP; message passing; multi paradigm support; metacomputing; programming environments.

PDF version

PostScript version (gzip compressed)


[ DHPC Adelaide | DHPC Bangor | Contacts | People | Projects | Reports ]

webmaster@dhpc.adelaide.edu.au