Sonification within INFN-GRID

Each job to be processed by GRID has to be described by a special file (jdl file, as we have seen in a previous section), containing (at least) the following information:

• Files to be transferred to the GRID computing node (the Java program source code and the data file to be sonified).
• Files to be transferred back from the computing node to the PC which submits the job to the GRID (audio file, ASCII files representing waveform and spectrum, )
• Name of the standard output and error files
• (eventually) Memory, CPU, disk-space and other runtime requirements

This set of information allows the GRID resource broker to look for the most suitable computing node for those job, and provides the fundamental data required to correctly identify (from a computational point of view) the job, with all the connected files and requirements, within the GRID. As an examples, it follows the source code of the Sonification.jdl file, the GRID configuration file used to submit to the GRID network the Java files used to produce the example
shown in the website.

The input files are : Sonification.java (the sonification Java program) and etna.dat (the ASCII file containing the list of values to sonify) and getting back the Sonificaton.aiff file (audio AIFF file), the two ASCII file (Sound.dat and Spectrum.dat), the standard output and error files (sonification.out and sonification.err files respectively), the logfile.

Executable = "/bin/sh";
StdOutput = "sonification.out";
StdError = "sonification.err";
InputSandbox = {"sonification.sh", "Sonification.java", "etna.dat"};
OutputSandbox = {"Sonification.aiff", "Sound.dat","Spectrum.dat", "sonification.out","sonification.err", "logfile"};
RetryCount = 7;
Arguments = "sonification.sh";

Let us analyze it more in detail. The common structure of the job description language, jdl command is:

GRID parameter = value

For example the lines:

StdOutput = ”sonification.out”;
StdError = ”sonification.err”;

set the standard output file as sonification.out and the standard error file as sonification.err. In the same manner, one can specify the list of files to be transferred from the User Interface to the GRID PC which will carry out the computation, using the jdl command:

InputSandbox = {”sonification.sh”, ”Sonification.java”, ”etna.dat”};

where the parenthesis are required since the parameter is actually a list. The first file of the list, sonification.sh, is the shall file written to set the required GRID environment variables, to compile the Java code and finally to launch the program. A fragment of its source code is reported here:

... GRID environment settings here
javac Sonification.java
java Sonification
...

Analogously, the OutputSandbox is described in the line:

OutputSandbox = {”sonification.out”, ”sonification. err”,”Sonification.aiff”};