Working with AliEn Kilian Schwarz ALICE Group Meeting April
Initialisation and login . /u/aliprod/bin/.alienlogin alien proxy-init alien-token-init aliensh
Searching technique for simulated data with certain properties Not possible with PDC01-05-data wait for PDC06 wait for PDC06 Current method: aliensh alien: find /alice/cern.ch/demo/data %.root > /tmp/collection.xml The XML collection file can be read directly by ROOT DC data can be found, e.g. in alien://alice/cern.ch/user/a/aliprod/production_200 5/
Large scale data simulation using Grid Example at alien://alice/cern.ch/demo/production/flow.jdl Needed configuration files can be found in alien://alice/cern.ch/demo/production/configs (e.g. Config.C, rec.C, sim.C, simrun.C,…) Start production with alien> submit flow.jdl 001 (run number, is used as SEED for random generator to be able to repeat simulation with same random generator initialisation) If you want to modify, create your own jdl and configuration files, following the given examples.
The production JDL # our executable Executable = “aliroot”; (compulsary !!!) Has to be in alien://bin, /alice/bin or $HOME/bin. “aliroot” exists already in /alice/bin and is a shell script executing AliRoot. # this are pseudo names to identify the production Jobtag={“comment:PDC05 flow events”, “round::2005”, “tag:v ”, “type:Flow”}; # the packages we need Packages={“AliRoot”::v ”,”GEANT3::v1-3”}; Jobs runs only at sites where those packages are installed # the estimated maximal runtime in seconds TTL = “86400”; WN has to provide the requested run time # this script runs when the job is finished. If it returns 0, the job is validated (SAVED DONE), if it returns !=0, the job ends in status ERROR_V Validationcommand = “/alice/cern.ch/demo/production/scripts/validation.sh”;
The production JDL 2 # this uses only sites, which are member in this particular grid partition Requirements = member(other.GridPartitions,”Production”); # this are the input files/macros we need InputFile={ “LF:/alice/cern.ch/demo/production/configs/Config.C”, “LF:/alice/cern.ch/demo/production/configs/simrun.C”, “LF:/alice/cern.ch/demo/production/configs/sim.C”, “LF:/alice/cern.ch/demo/production/configs/rec.C”, “LF:/alice/cern.ch/demo/production/configs/CheckESD.C” }; These files will be transported to the node where the job will run and can bei either lfn or pfn # we want to pack the output together into archive files. One with all the root files, one with all the log files. OutputArchive={ ”, ”log_archive:*.log,stdout, ”}; ”log_archive:*.log,stdout, ”};
The production JDL 3 # we define the arguments for the simulation script as run number and event number Splitargument=“simrun.C –run $1 –event #alien_counter#”; Arguments field for each job. Here the subjobs counter produced by the Split tag below is given. If more than one value is defined, each subjob will be submitted as many times as there are items in the array, and the subjobs will have the element in the array as arguments. # we produce event number 1-10, the runnumber is given as argument $1 during the submission Split = “production:1-10”; The job can be splitted in several sub jobs, according to file (1 job per input data file), directory (all input files of 1 directory will be analysed in 1 job), event (all files with the same name of the last subdirectory in 1 job), production #start-<#end (no InputData required, it will submit the same JDL several times from #start to #finish. This counter can be referenced in Splitarguments using #alien_counter# Workdirectorysize={“1500 MB”}; The node has to provide the requested size
Job status Can be investigated by using alien:// ps e.g.: ps –f DONE (lists all finished jobs) ps –u user (all jobs from the user) ps –s site (all jobs on one site) ps –trace all (gives job trace information) Output can be found in alien://proc/user Copy output back to local via e.g. alien://cp output.root file:/tmp/output.root