SSP 1994 project summary:
[EPCC home] [SSP home] [2001 projects] [2000 projects] [1999 projects] [1998 projects] [1997 projects] [1996 projects] [1995 projects] [1994 projects] [1993 projects]

Application Engineering Tools for MPI and PUL


This project is intended to follow on from a summer scholarship project undertaken last year: "Applications Engineering Tools for CHIMP and PUL". This project involved two students working on a post-mortem visualisation tool for the debugging and tuning of CHIMP and PUL applications. The resulting tool was capable of displaying events and animating SAP-SAP communications generated by a CHIMP V1 application. The work of the two students was divided between the two key components of the tool: the trace-processing engine that builds a structural representation of the execution of a parallel application from trace files generated by the constituent processes; and the graphical display framework, implemented using X/Motif operations partly written by hand, and partly generated by the X interface builder tool XDesigner. It would be possible to preserve this clean division of work, if two students were to undertake the proposed follow-on project.

Due to the EPCC's policy to migrate message passing applications from CHIMP to the MPI standard, it is intended to adapt the existing tool to visualise MPI applications. Since a commitment has also been made to port the PUL utilities from CHIMP to MPI, the interface design for the visualisation of PUL remains valid, although this has not yet been implemented.

This work will require revision of the event trace file format and the internal representation of events, to reflect the differences between CHIMP and MPI communications. Some redesign of the user interface will also be required where specific features of CHIMP have been exposed (especially differences in process grouping), and where MPI offers novel features (e.g. process topologies). Also, MPI comprises collective communication operations which have been provided atop CHIMP as part of the PUL-EM utility. Thus, much of the visualisation intended for PUL-EM will apply to MPI instead. Profiling requirements have been addressed by the MPI standard by specification of an alternative interface to allow users to implement wrappers around every MPI operation; this will be used to provide an instrumentation library that will work correctly with all valid MPI implementations. This should generate trace files suitable for the trace-processing component of the visualisation tool.

Last year, the visualisation tool was evaluated using CHIMP applications written as part of other SSP projects; this provided valuable feedback to both projects. Assuming that new SSP projects will use MPI for message passing, similar evaluation effort will be encouraged during development of the tool and during the concluding assessment of the project.

The goals of the project could be ordered as follows:


Konstantinos Tourlas and Kesavan Shanmugam both worked on this project.

Compressed PostScript of the VISPAD final report is available here (334283 bytes) .

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