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”};