Special jobs with the gLite WMS

Slides:



Advertisements
Similar presentations
FP62004Infrastructures6-SSA E-infrastructure shared between Europe and Latin America Special Jobs Claudio Cherubino INFN Catania.
Advertisements

EGEE is a project funded by the European Union under contract IST EGEE Tutorial Turin, January Hands on Job Services.
Israeli Grid Workshop, Ra’anana, Israel, Sep 2005 Message Passing Interface Vered Kunik - Israeli Grid NA3 Team EGEE is a project funded by the European.
Riccardo Bruno, INFN.CT Sevilla, 10-14/09/2007 GENIUS Exercises.
INFSO-RI Enabling Grids for E-sciencE Architecture of the gLite Workload Management System Giuseppe Andronico INFN EGEE Tutorial.
Special Jobs Claudio Cherubino INFN - Catania. 2 MPI jobs on gLite DAG Job Collection Parametric jobs Outline.
FESR Consorzio COMETA - Progetto PI2S2 Jobs Interattivi Giuseppe La Rocca INFN Catania – Italy Tutorial.
FESR Consorzio COMETA - Progetto PI2S2 Using MPI to run parallel jobs on the Grid Marcello Iacono Manno Consorzio COMETA
INFSO-RI Enabling Grids for E-sciencE - GILDA WMS - Overview and Praticals Ruediger Berlich / Forschungszentrum Karlsruhe Mike Mineter.
FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America Special Jobs Matias Zabaljauregui UNLP.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) WMPROXY API Python & C++ Diego Scardaci
The gLite API – PART I Giuseppe LA ROCCA INFN Catania ACGRID-II School 2-14 November 2009 Kuala Lumpur - Malaysia.
INFSO-RI Enabling Grids for E-sciencE GILDA Praticals GILDA Tutors INFN Catania ICTP/INFM-Democritos Workshop on Porting Scientific.
:: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :: GridKA School 2009 MPI on Grids 1 MPI On Grids September 3 rd, GridKA School 2009.
INFSO-RI Enabling Grids for E-sciencE Workload Management System Mike Mineter
EGEE is a project funded by the European Union under contract IST Status of NA4 Generic Applications Roberto Barbera NA4 Generic Applications.
Group 1 : Grid Computing Laboratory of Information Technology Supervisors: Alexander Ujhinsky Nikolay Kutovskiy.
E-science grid facility for Europe and Latin America gLite MPI Tutorial for Grid School Daniel Alberto Burbano Sefair, Universidad de Los.
INFSO-RI Enabling Grids for E-sciencE GILDA WMS Praticals Ruediger Berlich / Forschungszentrum Karlsruhe Mike Mineter / National.
EGEE-III INFSO-RI Enabling Grids for E-sciencE Feb. 06, Introduction to High Performance and Grid Computing Faculty of Sciences,
Jan 31, 2006 SEE-GRID Nis Training Session Hands-on V: Standard Grid Usage Dušan Vudragović SCL and ATLAS group Institute of Physics, Belgrade.
EGEE is a project funded by the European Union under contract IST EGEE Tutorial Turin, January Job Services Emidio.
Job Management DIRAC Project. Overview  DIRAC JDL  DIRAC Commands  Tutorial Exercises  What do you have learned? KEK 10/2012DIRAC Tutorial.
INFSO-RI Enabling Grids for E-sciencE Workflow Management in Giuseppe La Rocca INFN – Catania ICTP/INFM-Democritos Workshop on Porting.
FP7-INFRA Enabling Grids for E-sciencE EGEE Induction Grid training for users, Institute of Physics Belgrade, Serbia Sep. 19, 2008.
INFSO-RI Enabling Grids for E-sciencE Claudio Cherubino, INFN Catania Grid Tutorial for users Merida, April 2006 Special jobs.
INFSO-RI Enabling Grids for E-sciencE Job Workflows with gLite Emidio Giorgio INFN NA4 Generic Applications Meeting 10 January 2006.
INFSO-RI Enabling Grids for E-sciencE Job Submission Tutorial (material from INFN Catania)
INFSO-RI Enabling Grids for E-sciencE Job Description Language (JDL) Giuseppe La Rocca INFN First gLite tutorial on GILDA Catania,
INFSO-RI Enabling Grids for E-sciencE GILDA Praticals Giuseppe La Rocca INFN – Catania gLite Tutorial at the EGEE User Forum CERN.
E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA Special Jobs Valeria Ardizzone INFN - Catania.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks WMS tricks & tips – further scripting Giuseppe.
June 24-25, 2008 Regional Grid Training, University of Belgrade, Serbia Hands-on: Compiling MPI codes with PGI Dušan Vudragović SCL,
FESR Consorzio COMETA - Progetto PI2S2 Job Description Language (JDL) Marcello Iacono Manno PRIMO TUTORIAL.
Istituto Nazionale di Astrofisica Information Technology Unit INAF-SI Job with data management Giuliano Taffoni.
Advanced gLite job management Paschalis Korosoglou, AUTH/GRNET EPIKH Application Porting School 2011 Beijing, China Paschalis Korosoglou,
EGEE is a project funded by the European Union under contract IST Status of NA4 Generic Applications Roberto Barbera NA4 Generic Applications.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) Advanced Job Riccardo Rotondo
FESR Consorzio COMETA - Progetto PI2S2 Using MPI to run parallel jobs on the Grid Marcello Iacono Manno Consorzio Cometa
Introduction to Job Description Language (JDL) Alessandro Costa INAF Catania Corso di Calcolo Parallelo Grid Computing Catania - ITALY September.
INFSO-RI Enabling Grids for E-sciencE GILDA Praticals GILDA Tutors INFN Catania EGEE Tutorial Rome November 2005.
Enabling Grids for E-sciencE Work Load Management & Simple Job Submission Practical Shu-Ting Liao APROC, ASGC EGEE Tutorial.
EGEE is a project funded by the European Union under contract IST Status of NA4 Generic Applications Roberto Barbera NA4 Generic Applications.
Advanced services in gLite Gergely Sipos and Peter Kacsuk MTA SZTAKI.
ELTE lectures Grid Systems – 2004/ nd semester - 1 Job submission into the LHC Grid EGEE is funded by the European Union under contract IST
Architecture of the gLite WMS
Advanced Topics: MPI jobs
gLite MPI Job Amina KHEDIMI CERIST
gLite Advanced Job Management
The gLite Workload Management System
Corso di Calcolo Parallelo Grid Computing
EGEE tutorial, Job Description Language - more control over your Job Assaf Gottlieb Tel-Aviv University EGEE is a project.
Alexandre Duarte CERN Fifth EELA Tutorial Santiago, 06/09-07/09,2006
Job Description Language
gLite Job Management Mario Reale GARR
5. Job Submission Grid Computing.
Special Jobs: MPI Alessandro Costa INAF Catania
gLite Advanced Job Management
Long term job submission and monitoring uing grid services
Certificates Usage and Simple Job Submission
The gLite Workload Management System
Certificates Usage and Simple Job Submission
Workload Management System (WMS) & Job Description Language (JDL)
Certificates Usage and Simple Job Submission
gLite Job Management Christos Theodosiou
Job Description Language
GENIUS Grid portal Hands on
Job Description Language (JDL)
Hands on Session: DAG Job Submission
Job Submission M. Jouvin (LAL-Orsay)
Presentation transcript:

Special jobs with the gLite WMS Valeria Ardizzone INFN First gLite tutorial on GILDA, Catania, 13-15.06.2005

Outline DAG Checkpointable MPI Interactive First gLite tutorial on GILDA, Catania, 13-15.06.2005

Directed Acyclic Graph (DAG) A DAG represents a set of jobs: Nodes = Jobs Edges = Dependencies NodeA NodeB NodeC NodeD NodeE First gLite tutorial on GILDA, Catania, 13-15.06.2005

DAG: JDL Structure Type = “DAG” Mandatory VirtualOrganisation = “yourVO” Max_Nodes_Running = int >0 MyProxyServer = “…” Requirements = “…” Rank = “…” InputSandbox = more later! OutSandbox = “…” Nodes = nodeX more later! Dependencies = more later! Mandatory Optional First gLite tutorial on GILDA, Catania, 13-15.06.2005

Attribute: Nodes The Nodes attribute is the core of the DAG description; …. Nodes = [ nodefilename1 = [...] nodefilename2 = […] ……. dependencies = … ] Nodefilename1 = [ file = “foo.jdl”; ] Nodefilename2 = [ file = “/home/vardizzo/test.jdl”; retry = 2; ] Nodefilename1 = [ description = [ JobType = “Normal”; Executable = “abc.exe”; Arguments = “1 2 3”; OutputSandbox = […]; InputSandbox = […]; ….. ] retry = 2; ] First gLite tutorial on GILDA, Catania, 13-15.06.2005

Attribute: Dependencies It is a list of lists representing the dependencies between the nodes of the DAG. …. Nodes = [ nodefilename1 = [...] nodefilename2 = […] ……. dependencies = … ] dependencies = {nodefilename1, nodefilename2} MANDATORY : YES! dependencies = {}; { nodefilename1, nodefilename2 } { { nodefilename1, nodefilename2 }, nodefilename3 } { { { nodefilename1, nodefilename2}, nodefilename3}, nodefilename4 } First gLite tutorial on GILDA, Catania, 13-15.06.2005

InputSandbox & Inheritance All nodes inherit the value of the attributes from the one specified for the DAG. NodeA= [ description = [ JobType = “Normal”; Executable = “abc.exe”; OutputSandbox = {“myout.txt”}; InputSandbox = { “/home/vardizzo/myfile.txt”, root.InputSandbox; }; ] Type = “DAG” VirtualOrganisation = “yourVO” Max_Nodes_Running = int >0 MyProxyServer = “…” Requirements = “…” Rank = “…” InputSandbox = { }; Nodes = [ nodefilename =[]; ….. dependencies = …; ]; Nodes without any InputSandbox values, have to contain in their description an empty list: InputSandbox = { }; First gLite tutorial on GILDA, Catania, 13-15.06.2005

Message Passing Interface (MPI) The MPI job is run in parallel on several processors. Libraries supported for parallel jobs: MPICH. Currently, execution of parallel jobs is supported only on single CE’s. WN WN CE MPI JOB WN WN First gLite tutorial on GILDA, Catania, 13-15.06.2005

MPI: JDL Structure Mandatory Type = “job”; JobType = “MPICH”; Executable = “…”; NodeNumber = “int > 1”; Argument = “…”; Requirements = Member(“MpiCH”, other.GlueHostApplicationSoftwareRunTimeEnvironment) && other.GlueCEInfoTotalCPUs >= NodeNumber ; Rank = other.GlueCEStateFreeCPUs; Mandatory Optional Mandatory First gLite tutorial on GILDA, Catania, 13-15.06.2005

MPI.jdl Type = "Job"; JobType = "MPICH"; Executable = "MPItest.sh"; Arguments = "cpi 2"; NodeNumber = 2; StdOutput = "test.out"; StdError = "test.err"; InputSandbox = {"MPItest.sh","cpi"}; OutputSandbox = {"test.err","test.out","executable.out"}; Requirements = other.GlueCEInfoLRMSType == "PBS" || other.GlueCEInfoLRMSType == "LSF"; First gLite tutorial on GILDA, Catania, 13-15.06.2005

BrokerInfo file It is a mechanism by which a job can access at some information about the job…at execution time! Two ways for parsing elements from BrokerInfo file: 1)Directly from the job; 2)From the UI with CLI and “.BrokerInfo” file; edg-brokerinfo | glite-brokerinfo [options] function param .BrokerInfo file CE WN USER JOB First gLite tutorial on GILDA, Catania, 13-15.06.2005

MPITest.sh (1) #!/bin/sh # # this parameter is the binary to be executed EXE=$1 # this parameter is the number of CPU's to be reserved for parallel execution CPU_NEEDED=$2 # prints the name of the master node echo "Running on: $HOSTNAME" STEP 1 First gLite tutorial on GILDA, Catania, 13-15.06.2005

MPITest.sh (2) STEP 2 if [ -f "$PWD/.BrokerInfo" ] ; then TEST_LSF=`edg-brokerinfo getCE | cut -d/ -f2 | grep lsf` else TEST_LSF=`ps -ef | grep sbatchd | grep -v grep` fi if [ "x$TEST_LSF" = "x" ] ; then # prints the name of the file containing the nodes allocated for parallel execution echo "PBS Nodefile: $PBS_NODEFILE" # print the names of the nodes allocated for parallel execution cat $PBS_NODEFILE echo "*************************************" HOST_NODEFILE=$PBS_NODEFILE echo "LSF Hosts: $LSB_HOSTS" # loops over the nodes allocated for parallel execution HOST_NODEFILE=`pwd`/lsf_nodefile.$$ for host in ${LSB_HOSTS} do echo $host >> ${HOST_NODEFILE} done STEP 2 First gLite tutorial on GILDA, Catania, 13-15.06.2005

MPITest.sh(3) STEP 3 echo "*************************************" # prints the working directory on the master node echo "Current dir: $PWD" for i in `cat $HOST_NODEFILE` ; do echo "Mirroring via SSH to $i" # creates the working directories on all the nodes allocated for parallel execution ssh $i mkdir -p `pwd` # copies the needed files on all the nodes allocated for parallel execution /usr/bin/scp -rp ./* $i:`pwd` # checks that all files are present on all the nodes allocated for parallel execution echo `pwd` ssh $i ls `pwd` # sets the permissions of the files ssh $i chmod 755 `pwd`/$EXE ssh $i ls -alR `pwd` echo "@@@@@@@@@@@@@@@" done STEP 3 First gLite tutorial on GILDA, Catania, 13-15.06.2005

MPITest.sh (4) # execute the parallel job with mpirun echo "*********************************" echo "Executing $EXE" chmod 755 $EXE ls -l mpirun -np $CPU_NEEDED -machinefile $HOST_NODEFILE `pwd`/$EXE > executable.out STEP 4 First gLite tutorial on GILDA, Catania, 13-15.06.2005

Executable.out [glite-tutor] /home/vardizzo > cat executable.out Process 0 of 2 on grid037.ct.infn.it pi is approximately 3.1415926544231318, Error is 0.0000000008333387 wall clock time = 10.003797 Process 1 of 2 on grid037.ct.infn.it First gLite tutorial on GILDA, Catania, 13-15.06.2005

Logical Checkpointable Job It is a job that can be decomposed in several steps; In every step the job state can be saved in the LB and retrieved later in case of failures; The job can start running from a previously saved state instead from the beginning again. A B C D JOB’S START JOB’S END STEP 1 STEP 2 STEP 3 STEP 4 First gLite tutorial on GILDA, Catania, 13-15.06.2005

Checkpointable: JDL Structure Type = “job”; JobType = “checkpointable”; Executable = “…”; JobSteps = “list int | list string”; CurrentStep = “int > = 0”; Argument = “…”; Requirements = “…”; Rank = “”; Mandatory Optional First gLite tutorial on GILDA, Catania, 13-15.06.2005

LCG | gLite Commands JDL Submission: edg-job-submit –o guidfile jobCheck.jdl glite-job-submit –o guidfile jobCheck.jdl JDL Status: edg-job-status –i guidfile | glite-job-status –i guidfile JDL Output: edg-job-get-output –i guidfile | glite-job-output –i guidfile Get Latest Job State: edg-job-get-chkpt –o statefile –i guidfile glite-job-get-chkpt –o statefile –i guidfile Submit a JDL from a state: edg-job-submit -chkpt statefile –o guidfile jobCheck.jdl glite-job-submit -chkpt statefile –o guidfile jobCheck.jdl See also [options] from –help of the commands. First gLite tutorial on GILDA, Catania, 13-15.06.2005

Interactive Job It is a job whose standard streams are forwarded to the submitting client. The DISPLAY environment variable has to be set correctly, because an X window is open. Listener Process UI WN X window or std no-gui First gLite tutorial on GILDA, Catania, 13-15.06.2005

Interactive: JDL Structure Mandatory Optional Type = “job”; JobType = “interactive”; Executable = “…”; Argument = “…”; ListenerPort = “int > 0”; OutputSandbox = “”; Requirements = “…”; Rank = “”; LCG | gLite Commands: edg-job-attach [options] <jobID> | glite-job-attach [options] <jobID> First gLite tutorial on GILDA, Catania, 13-15.06.2005

There are some questions ? First gLite tutorial on GILDA, Catania, 13-15.06.2005