From Research Codes To Production Software Packages

Daniel Butnaru and Ventsislav Petkov

Daniel Butnaru and Ventsislav Petkov did their honours project at the Chair of Scientific Computing, TUM.

A frequent task in scientific applications is to perform parameter studies. Considering a certain mode, we are interested in observing or searching for combinations of parameters which achieve a certain goal. This can be done by starting the application several times with different parameters and observing the output. Due to performance or scalability reasons such a parameter study can be efficiently done on grid systems. However, this presents challenges in facilitating the submission, managing of the jobs, tracking the results, and also in making the previous items as hidden from the user as possible. Knowledge of specific software packages or of the structure of the grid system which executes the job should not be required from the user.

The project developed FRCPSP (From Research Codes To Production Software Packages), a simple tool which is easy to deploy and provides basic functionality for parameterization. The goal was to allow users who have an application accepting same form of an input (text, XML, command line arguments, etc.) to run their code on a grid system. There is almost no need to be familiar with the grid environments or associated technologies.

FRCPS uses a web portal to support the user interaction and is in itself not an execution system but a submission system. This way it can be deployed on top of an already installed and running grid giving the user the possibility to proceed quickly with the submission. The current version allows users to set up a new parameter study in a matter of minutes. The parameters are specified in the web portal together with the variation and the jobs are automatically generated and submitted. Support for post-processing is built in by allowing the user to specify a post-processing script. Any application using XML or key-value input files is supported out of the box and any other input types are easy to implement. A inspection tool is also available which can obtain or preview the post-processed results .