Running Marlin Jobs on the PPE compute farm

It's very easy to run Marlin jobs on the PPE Torque/PBS compute farm: the AFS token is taken care of automatically, and access to the software packages, job input and output is via AFS. Attached to this page is a tarball containing the relevant scripts and template files mentioned in this wiki.

PBS Script

We found it easier to run processors 1 to 6 on batches of 10 input files , and save the outputs as /afs/ The PBS script used is very simple:

#PBS -N ZVRES_Job_Group_22
#PBS -m abe
#PBS -q long5

echo -n "Worker node: "

echo "Running ZVRES Job Group 22 ..." 

/afs/ 22

echo "Marlin done!"
where ZVRES_Job_Group_22 is the name under which the job is listed when typing qstat, and is our custom script (attached). We actually used another script to produce the individual PBS scripts from a template: (attached).

Wrapper script

The wrapper script (contained in the tarball attached) selects 10 input files, sets the Marlin environment, and runs processors 1 to 6. In addition, it prepares the steering files for the FTI and FT steps (which we ran on our desktops). This is not the only or the simplest way to do this, but it simplified our work:

# Run the most time consuming LCFI processors on a subset of files
# by - Jul 2013 (PBS version)


if [ "$1" -eq "$1" 2> /dev/null ]; then
  dstmp=`date | awk '{print $2$3}'`
  echo "Using run tag $tag"
  echo "Please provide a numeric tag!"
  exit 1

cd /afs/


let "n1=$1*10"
let "n2=n1+9"
files=`sed -n "$n1,$n2"p < $flist`

cp ../steer/template_01.xml "$steer"
ls -lA

echo "Customising template for this batch run ..."
perl -p -i -e "s#MYNEVENTS#$events#g" $steer
perl -p -i -e "s#MYGEARFILE#$gearx#g" $steer
perl -p -i -e "s#MYLCIOFILES#$files#g" $steer
perl -p -i -e "s#MYVERBOSITY#SILENT#g" $steer
perl -p -i -e "s#MYOUTPUTLCIOFILE#$lcout#g" $steer

echo "Your steering file is $steer "

if [ "1" -eq "1" ]; then
 source /afs/   
 Marlin $steer >/dev/null 2>&1  
 echo "Will not run Marlin"

echo "Run $tag done."

echo "Creating $nxtst steering file ..."
cp fti-3-pbs-steer.xml $nxtst
perl -p -i -e "s#run3#run$tag#g" $nxtst
perl -p -i -e "s#fti3#fti$tag#g" $nxtst

echo "Creating $ftstr steering file ..."
cp ft1-pbs-gnets.xml $ftstr
perl -p -i -e "s#fti1#fti$tag#g" $ftstr
perl -p -i -e "s#flavourtag1#flavourtag$tag#g" $ftstr

echo "Bye!"

How to run it ?

For the bunch shown in the example above, we used the command 22. This produced the PBS script, and submitted it. If other processors are needed, or other paths are preferred, then please feel free to download and modify our scripts as suitable.

Background set

For the background files, we used slightly modified version of the scripts, which can be found in this tarball.

Topic attachments
I Attachment History Action Size Date Who Comment
Compressed Zip archivetar 22.tar r1 manage 160.0 K 2013-07-26 - 11:35 DanProtopopescu Scripts and templates mentioned in this wiki
Compressed Zip archivetgz bkg_scripts.tgz r1 manage 8.6 K 2013-07-26 - 15:10 DanProtopopescu Scripts and XML template for processing eeqq background files
Topic revision: r2 - 2013-07-26 - DanProtopopescu
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback