Summer Scholarship Programme
Project Proposal

Project Title

The Java MPI simulator 2001

Project Proposer(s)

lindsay, mario, neil (Supervisors: lindsay, mario, neil)

Date of proposal

2001/02/09 11:39:18

Project Details

About 4 years ago SELLIC, in a previous incarnation, wrote an applet for EPCC. This demonstrated MPI blocking point-to-point communications. A simple user interface allows three processes to be programmed and the resulting program animated. This could and was used in a teaching environment. As a follow-up to this in a 1998 SSP project Tom Doel extended the existing applet to include a subset of MPI collective communications. He also simplified the process programming, see [1] for the details. However there are still some difficulties. A followup SSP project [2] in 2000 by Derrick Pisani attempted to put some of these things right but the progress made was somewhat limited. The main achievement of this visit was extensive JavaDoc documentation of the code. Some more problems with the existing code were noted and the code was tidied up somewhat.

In this 2001 project proposal we hope to remedy some of the perceived problems with the existing applet and go on, if time allows, to further improve and extend the code. The planned extension to the existing applet should allow the student to familiarise themselves with the Java application. As all the components are constructed as Java Beans it should be possible to extend this framework without too much difficulty.

[1] Tom's project summary can be found at: 1998/ProjectSummary/doel.html.

[2] Derrick's project summary can be found at: 2000/ProjectSummary/pisani.html

Work Plan

To start off with we would like the following modified within the existing applet:

This should be enough to give us a better applet to use in the future. It should also hopefully give the student a good idea of how the underlying applet works. All of the components in this applet are based on Java beans so there is no reason as to why this should not be generalisable. The possibility we see is the following:

As the existing applets have been constructed using Java beans it should not be overly difficult to implement this framework using the existing beans. It is felt that this might present a much more intuitive (and easier) approach to programming the applet for the user.

Timetable:
Week 1: Meet everyone / Courses
Week 2: Courses / Evaluate applet
Weeks 3-4: Make communication exchange representations consistent
Weeks 5-9: Implement some of the recommendations
Week 10: Write up report, produce poster

Computing Skills Required

Essential: Java

Preferred: JavaBeans, MPI, Swing, AWT

Training Required

Essential: Introduction to High Performance Computing
Writing Message Passing Programs with MPI
Preferred: Practical Software Development (Day 1, tools) MPI-2: New Developments in MPI

Computing Resources

Essential: Java SDK

Preferred: Access to range of browsers/machines to test applet

Webpage maintained by mario@epcc.ed.ac.uk