JavaPorts: An Environment to Facilitate Parallel Computing on a Heterogeneous Cluster of Workstations

We present the JavaPorts system, an environment and a set of tools that allows non-expert users to easily develop parallel and distributed Java applications targeting clusters of workstations. The JavaPorts system can automatically generate Java code templates for the tasks (software components) of an application, starting from a graph in which the user speciies how the tasks will be distributed to cluster nodes. Tasks have well deened port interfaces and may communicate by simply writing messages to their ports, without having to know the name and location of the destination task. This allows for task reusability while keeping the code for inter-task communication and coordination hidden. We demonstrate that coarse grain parallel programs developed using the JavaPorts system achieve good performance, even when using a 10Mbs shared Ethernet network of workstations.