Advanced Job Practice Maha Metawei ERI-Cairo, Egypt Joint EPIKH/EUMEDGRID Support event in Cairo Africa 4 –Application Porting. Egypt, (Exchange Programme to advance e-Infrastructure Know-How) THE EPIKH PROJECT
voms-proxy-init --voms gilda glite-wms-job-delegate-proxy -d myfirstdelegationid vi collection_ex.jdl Collection Job Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
[ Type = "collection"; InputSandbox = {"input_common1.txt","input_common2.txt" }; nodes = { [ JobType = "Normal"; NodeName = "node1"; Executable = "/bin/sh"; Arguments = "script_node1.sh"; InputSandbox = {"script_node1.sh", root.InputSandbox[0]}; StdOutput = "myoutput1"; StdError = "myerror1"; OutputSandbox = {"myoutput1","myerror1"}; ShallowRetryCount = 1; ], [ JobType = "Normal"; NodeName = "node2"; Executable = "/bin/sh"; InputSandbox = {"script_node2.sh", root.InputSandbox[1]}; Arguments = "script_node2.sh"; StdOutput = "myoutput2"; StdError = "myerror2"; OutputSandbox = {"myoutput2","myerror2"}; ShallowRetryCount = 1; ],[ JobType = "Normal"; NodeName = "node3"; Executable = "/bin/cat"; InputSandbox = {root.InputSandbox}; Arguments = "*.txt"; StdOutput = "myoutput3"; StdError = "myerror3"; OutputSandbox = {"myoutput3","myerror3"}; ShallowRetryCount = 1; ] }; ] Collection Job Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
echo "first input" > input_common1.txt echo "2nd input" > input_common2.txt vi script_node1.sh #!/bin/sh echo "Current date is `date`" echo "Dumping now input files" echo "**********************" cat *.txt Collection Job Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
vi script_node2.sh #!/bin/sh echo "Running machine is `hostname`" ls -l echo "Dumping now input files" echo "**********************" cat *.txt glite-wms-job-submit -d myfirstdelegationid -o jobId collection_ex.jdl Collection Job Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
Collection_job]$ glite-wms-job-status -i jobId ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : 92ag Current Status: Waiting Submitted: Wed Oct 27 10:42: EET ========================================================================== - Nodes information for: Status info for the Job : YNxtSR1g Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: gilda-01.pd.infn.it:2119/jobmanager-lcgpbs-gilda Submitted: Wed Oct 27 10:42: EET ========================================================================== Status info for the Job : 7W_KldrA Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: grisuce.scope.unina.it:2119/jobmanager-lcgpbs-grisu_shor t Submitted: Wed Oct 27 10:42: EET ========================================================================== Status info for the Job : MwDgRvnw Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: gilda-01.pd.infn.it:2119/jobmanager-lcgpbs-gilda Submitted: Wed Oct 27 10:42: EET ========================================================================== Collection Job Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
mkdir dag_job cd dag_job wget --no-check-certificate -example-script.tar.gz && tar xzvf dag-example- script.tar.gz vi dag_1.jdl DAG JOB Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
[ Type = "dag"; InputSandbox = { "son.sh" }; nodes = [ father = [ description = [ JobType = "Normal"; Executable = "/bin/sh"; Arguments = "father_script.sh"; InputSandbox = {"father_script.sh"}; StdOutput = "father_output"; StdError = "father_error"; OutputSandbox = {"father_output","father_error","son1.input","son2.input"}; ShallowRetryCount = 1; ]; ]; son1 = [ description = [ JobType = "Normal"; Executable = "/bin/sh"; InputSandbox = {root.InputSandbox,root.nodes.father.description.OutputSandbox[2]}; Arguments = "son.sh 1"; StdOutput = "son1.output"; StdError = "son1.error"; OutputSandbox = {"final1.input","son1.output","son1.error"}; ShallowRetryCount = 1; ]; ]; son2 = [ description = [ JobType = "Normal"; Executable = "/bin/sh"; InputSandbox = {root.InputSandbox,root.nodes.father.description.OutputSandbox[3]}; Arguments = "son.sh 2"; StdOutput = "son2.output"; StdError = "son2.error"; OutputSandbox = {"final2.input","son2.output","son2.error"}; ShallowRetryCount = 1; ]; ]; final = [ description = [ JobType = "Normal"; Executable = "/bin/sh"; InputSandbox = {"final.sh",root.nodes.son1.description.OutputSandbox[0],root.nodes.son 2.description.OutputSandbox[0]}; Arguments = "final.sh"; StdOutput = "dag.out"; StdError = "dag.err"; OutputSandbox = {"dag.out","dag.err"}; ShallowRetryCount = 1; ]; ]; dependencies = { {father,{son1,son2}}, {son1,final}, {son2,final} }; ]; ] DAG JOB Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
glite-wms-job-submit -d myfirstdelegationid -o jobId dag_1.jdl glite-wms-job-status -i jobId ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : Current Status: Running Status Reason: unavailable Destination: dagman Submitted: Wed Oct 27 10:56: EET ========================================================================== - Nodes information for: Status info for the Job : Current Status: Submitted Submitted: Wed Oct 27 10:56: EET ========================================================================== Status info for the Job : Current Status: Submitted Submitted: Wed Oct 27 10:56: EET ========================================================================== Status info for the Job : Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: grid010.ct.infn.it:2119/jobmanager-lcgpbs-gilda Submitted: Wed Oct 27 10:56: EET ========================================================================== Status info for the Job : Current Status: Submitted Submitted: Wed Oct 27 10:56: EET ========================================================================== DAG JOB Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
vi parametric.jdl [ JobType = "Parametric"; Executable = "/bin/sh"; Arguments = "message_PARAM_.sh"; InputSandbox = "message_PARAM_.sh"; Parameters= 6; ParameterStep =2; ParameterStart = 0; StdOutput = "myoutput_PARAM_.txt"; StdError = "myerror_PARAM_.txt"; OutputSandbox = {"myoutput_PARAM_.txt", "myerror_PARAM_.txt"}; ShallowRetryCount = 1; ] Parametric Job Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
for ((i=0;i message$i.sh; done glite-wms-job-submit -d myfirstdelegationid -o jobId parametric.jdl parametric_job]$ glite-wms-job-status -i jobId ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : Current Status: Running Submitted: Wed Oct 27 11:15: EET ========================================================================== - Nodes information for: Status info for the Job : Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: gilda-01.pd.infn.it:2119/jobmanager-lcgpbs-gilda Submitted: Wed Oct 27 11:15: EET ========================================================================== Status info for the Job : Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: ce.scope.unina.it:2119/jobmanager-lcgpbs-egee_long Submitted: Wed Oct 27 11:15: EET ========================================================================== Status info for the Job : Current Status: Running Status Reason: Job successfully submitted to Globus Destination: gn0.hpcc.sztaki.hu:2119/jobmanager-lcgpbs-gilda Submitted: Wed Oct 27 11:15: EET ========================================================================== Parametric Job Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
REFERENCES Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial
13 Questions Cairo, Joint EPIKH/EUMEDGRID Support Site Admin Tutorial