Wednesday 2 February 2011

Meeting 1 [24/01/11]

During the first meeting David and I discussed the main goals of the project. From the project proposal and some thinking we started to agree on several points.

Few parallel debuggers exist for the moment, and most of them are expensive, and not very useful. This tool shouldn't be one.

When people start learning MPI, there is 2 things they mainly get wrong :
  • communications (the typical example is the broadcast call, that has to be performed by all the nodes, and that learners only use on one)
  • sending the wrong data, either from the wrong source using a wrongly build datatype, or to the wrong node.
Therefore it can be interesting to create a tool that can help resolve these problems on a small program that runs on a small number of nodes. The problem size is here important, has the tool would provide some graphical interface to the user, that will become quite unreadable for large number of nodes. Moreover it is rather unusual that people witch need very large problem will use that kind of tool.

The first draw of some requirements can be:
  • a graphical interface to visualise ongoing actions
  • being able to monitor the state of a MPI node
  • being able to bloc when a monitored action occurs for the user to see it (communication waiting, sending, ...)
  • being able to register and track some simple data (1D arrays)
    • visually
    • derived datatypes
    • nD arrays
This tool will be provided as a library, that can be linked with any MPI code in C, and if possible Fortran as well. The generic MPI profiling interface will be used to catch the information.
The MPI coursework from the 1st semester will provide a testing case, and the first goal of the project is to demonstrate how this peace of code works using the tool.

Two main dangers have to been taken care of during the project specifications:
  • being too ambitious will result in a project failure, struggling with implementation
  • being not ambitious enough will result in a useless tool
In order to cope with these risk, a iterative prototype development approach will certainly be used.

Next meeting: 07/02/11
Work to be done: try to use the profiling interface with MPICH2 and OpenMPI.

No comments:

Post a Comment