Submit Host Setup (user) Tc.data file Pool.config file Properties file Vdl-gen file Input file Exitcode checking script.

Slides:



Advertisements
Similar presentations
MIMOS Berhad. All Rights Reserved. Nazarudin Wijee Mohd Sidek Salleh Grid Computing Lab MIMOS Berhad Blender Job Submission in P-GRADE.
Advertisements

Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
CMPE 151: Network Administration Spring Class Description Focus: system and network administration. Sequence of exercises. E.g., installing/configuring.
Lecture 8 Configuring a Printer-using Magic Filter Introduction to IP Addressing.
Introduction to Linux and Shell Scripting Jacob Chan.
Understanding the Basics of Computational Informatics Summer School, Hungary, Szeged Methos L. Müller.
Shell Programming. Shell Scripts (1) u Basically, a shell script is a text file with Unix commands in it. u Shell scripts usually begin with a #! and.
Shell Script Examples.
CONDOR DAGMan and Pegasus Selim Kalayci Florida International University 07/28/2009 Note: Slides are compiled from various TeraGrid Documentations.
Help session: Unix basics Keith 9/9/2011. Login in Unix lab  User name: ug0xx Password: ece321 (initial)  The password will not be displayed on the.
Lesson 7-Creating and Changing Directories. Overview Using directories to create order. Managing files in directories. Using pathnames to manage files.
Sponsored by the National Science Foundation Configuration Management For Experimenters: Ansible Hands-On Sarah Edwards, GPO.
8 Shell Programming Mauro Jaskelioff. Introduction Environment variables –How to use and assign them –Your PATH variable Introduction to shell programming.
Chapter 5 Bourne Shells Scripts By C. Shing ITEC Dept Radford University.
Airavata Usecases from SEAGrid Applications and Workflows Sudhakar Pamidighantam 4 Oct 2015.
Compiled Matlab on Condor: a recipe 30 th October 2007 Clare Giacomantonio.
System Administration Introduction to Unix Session 2 – Fri 02 Nov 2007 Reference:  chapter 1, The Unix Programming Environment, Kernighan & Pike, ISBN.
Pegasus-a framework for planning for execution in grids Ewa Deelman USC Information Sciences Institute.
Writing Shell Scripts ─ part 3 CSE 2031 Fall October 2015.
Keyword Shell Variables The shell sets keyword shell variables. You can use (and change) them. HOME The path to your home directory PATH Directories where.
UNIX Shell Script (1) Dr. Tran, Van Hoai Faculty of Computer Science and Engineering HCMC Uni. of Technology
#!/bin/sh echo Hello World cat Firstshellscript.sh Firstshellscript.sh.
1 System Administration Introduction to Scripting, Perl Session 3 – Sat 10 Nov 2007 References:  chapter 1, The Unix Programming Environment, Kernighan.
1 Operating Systems Lecture 2 UNIX and Shell Scripts.
GriPhyN Virtual Data System Grid Execution of Virtual Data Workflows Mike Wilde Argonne National Laboratory Mathematics and Computer Science Division.
Geneva, 2nd Tutorial for Health e-Child Project, Service creation in Genius Web Portal Nicola Venuti NICE srl Geneva, , 2nd.
CSCI 330 UNIX and Network Programming Unit IX: Shell Scripts.
CS252: Systems Programming Ninghui Li Slides by Prof. Gustavo Rodriguez-Rivera Topic 7: Unix Tools and Shell Scripts.
Pegasus-a framework for planning for execution in grids Karan Vahi USC Information Sciences Institute May 5 th, 2004.
Introduction to Scripting Workshop October
Shell Control Statements and More
Linux Commands C151 Multi-User Operating Systems.
1 Unix/Linux commands and shell programming-Part 2 (Dr. Mohamed El Bachir Menai)
Peter F. Couvares Computer Sciences Department University of Wisconsin-Madison Condor DAGMan: Managing Job.
FESR Consorzio COMETA - Progetto PI2S2 WMS - Scripting techniques Fabio Scibilia INFN – Catania, Italy Tutorial per utenti e sviluppo.
Sed. Class Issues vSphere Issues – root only until lab 3.
GADU: A System for High-throughput Analysis of Genomes using Heterogeneous Grid Resources. Mathematics and Computer Science Division Argonne National Laboratory.
Introduction to Bash Shell. What is Shell? The shell is a command interpreter. It is the layer between the operating system kernel and the user.
If condition1 then statements elif condition2 more statements […] else even more statements fi.
Group, group, group One after the other: cmd1 ; cmd2 One or both: cmd1 && cmd2 Only one of them: cmd1 || cmd2 Cuddling (there):( cmd1 ; cmd2 ) Cuddling.
Interoperability Achieved by GADU in using multiple Grids. OSG, Teragrid and ANL Jazz Presented by: Dinanath Sulakhe Mathematics and Computer Science Division.
Learning basic Unix command It 325 operating system.
2 nd Intro to Shell Scripting. Dates for Last Week of Class Homework 7 – Due Tuesday 5/1 by midnight Labs 7 & 8 or late ones – 8 is extra credit – Due.
CS 403: Programming Languages Lecture 20 Fall 2003 Department of Computer Science University of Alabama Joel Jones.
Experiment No. 13 Presented by, Mr. Satish Pise. Write a shell script which checks disk space and store the value to the variable and display it. #!/bin/sh.
By Dr P.Padmanabham Professor (CSE)&Director Bharat Institute of Engineering &Technology Hyderabad Mobile
Chimera Workshop September 4 th, Outline l Install Chimera l Run Chimera –Hello world –Convert simple shell pipeline –Some diamond, etc. l Get.
Computer Programming Batch & Shell Programming 9 th Lecture 김현철 컴퓨터공학부 서울대학교 2009 년 가을학기.
Foreground and background processes
Cs288 Intensive Programming in Linux
GRID COMPUTING.
Condor DAGMan: Managing Job Dependencies with Condor
Unix Scripts and PBS on BioU
WMS - Tecniche di scripting
Part 1: Basic Commands/Utilities
Unix Scripting Session 4 March 27, 2008.
Shell Script Assignment 1.
Practice #0: Introduction
INTRODUCTION TO UNIX: The Shell Command Interface
Writing Shell Scripts ─ part 3
Writing Shell Scripts ─ part 3
What is Bash Shell Scripting?
LING 408/508: Computational Techniques for Linguists
UNIX Reference Sheets CSE 2031 Fall 2010.
Tutorial Unix Command & Makefile CIS 5027
Chapter 5 Bourne Shells Scripts
Essential Shell Programming
Introduction to Bash Programming, part 3
Working in The IITJ HPC System
Presentation transcript:

Submit Host Setup (user) Tc.data file Pool.config file Properties file Vdl-gen file Input file Exitcode checking script

Tc.data file TG-SDSC FOAM./foam1.5ifc8.1gm INSTALLED INTEL32::LINUX GLOBUS::jobtype=mpi,count=8; TG-SDSC globus-url-copy /usr/local/apps/globus gcc- r5/bin/globus-url-copy INSTALLED INTEL32::LINUX ENV::GLOBUS_LOCATION=/usr/local/apps/globus gcc- r5;ENV::LD_LIBRARY_PATH=/usr/local/apps/globus gcc- r5/lib/;ENV::PATH=/usr/local/apps/globus gcc-r5/bin/ TG-SDSC transfer /users/nefedova/bin/transfer INSTALLED INTEL32::LINUX ENV::GLOBUS_LOCATION=/usr/local/apps/globus gcc- r5;ENV::LD_LIBRARY_PATH=/usr/local/apps/globus gcc- r5/lib;ENV::PATH=/usr/local/apps/globus gcc- r5/bin;GLOBUS::maxwalltime=15 TG-SDSC PostProcess /users/nefedova/bin/PostProc INSTALLED INTEL32::LINUX ENV::PATH=/users/nefedova/bin:/usr/bin:/bin TG-SDSC DirGen /users/nefedova/bin/DirGen INSTALLED INTEL32::LINUX ENV::PATH=/work/ux455036:/usr/bin:/bin

Pool.config file /gpfs/nefedova /home/nefedova/FOAM/SDSC- Production/exitcode

Properties file vds.replica.mode rls #vds.rls.url rlsn://smarty.isi.edu vds.rls.url rls://evitable.uchicago.edu vds.pool.mode=xml vds.rls.query multiple vds.tc.file=/home/nefedova/FOAM/NCSA/tc.data vds.pool.file=/home/nefedova/FOAM/NCSA/pool.config vds.scheduler.remote.projects TG=TG-ATM050001T vds.db.vdc.schema AnnotationSchema vds.tc.mode=File vds.db.ptc.schema InvocationSchema vds.db.*.driver Postgres vds.db.*.driver.url jdbc:postgresql:foamvdc vds.db.*.driver.user nefedova vds.db.*.driver.password nefedova vds.db.vdc.schema.file.store /home/nefedova/FOAM/test/vdc.db vds.transfer.thirdparty.pools=local,TG vds.transfer.mode multiple vds.scheduler.condor.output.stream false vds.scheduler.condor.error.stream false vds.site.selector Group

Vdl-gen file #! /bin/sh if /usr/bin/test ! $# -eq 2 then echo "Syntax: vdl-gen FileName Anomstart" exit 1 fi cat >./foam-gen.vdl <<EOFF TR FOAM( input RunParamsName, output DirAtmos, output DirOcean, output DirCoupl, input WorkDirNam e, none vds_workdir, none vds_group ) { argument = \${RunParamsName}; profile globus.maxWallTime = "210"; profile vds.workdir =\${vds_workdir}; profile vds.group=\${vds_group}; } TR PostProcess( input DirName, none entityName, none Finished, none id, output entityFile, none v ds_group, none vds_workdir, none F1_5 ) { argument = \${entityName}; argument = \${Finished}; argument = \${id}; argument = \${F1_5}; profile globus.maxWallTime = "7"; profile vds.workdir =\${vds_workdir}; profile vds.group=\${vds_group}; } TR DirGen( input Finished, input WorkDir, input Anomstart, output WorkDirName ) { argument = \${Finished}; argument = \${WorkDir}; argument = \${Anomstart}; profile globus.maxWallTime = "3"; } EOFF

Vdl-gen file (contd.) ….. while read x; do if /usr/bin/test $i -eq "1" then MEM=$x i=0 WorkDir=`echo $x | awk 'BEGIN {FS="."} {print $3}'` else fileno=`expr $x + 1` cat >>./foam-gen.vdl <<EOFF DV DirGen$NEM->DirGen( ); DV FOAM_RUN$NEM->FOAM( vds_workdir="foam-$WorkDir", vds_group="Foam$NEM" ); DV Atmos$NEM->PostProcess( entityName="atmos", id="ha", Finished="$x", F1_5="$MEM", vds_workdir="foam-$WorkDir", vds_group="Foam$NEM" ); DV Ocean$NEM->PostProcess( entityName="ocean", id="ho", Finished="$x", F1_5="$MEM", vds_workdir="foam-$WorkDir", vds_group="Foam$NEM" ); DV Coupl$NEM->PostProcess( entityName="coupl", id="hc", Finished="$x", F1_5="$MEM", vds_workdir="foam-$WorkDir", vds_group="Foam$NEM" ); EOFF cat >> dax-dv-input <<EOFF Atmos$NEM Ocean$NEM Coupl$NEM EOFF

Generating VDL file Input file: F1_5.4yrensNovpos.mem F1_5.4yrensNovpos.mem F1_5.4yrensNovpos.mem ………………………..{any number of members} Syntax:./vdl-gen InputFileName Anomstart

Compute node setup Directory generation step FOAM run Post-processing jobs (m2ynce.py)

Directory setup DirGen Tc.data file: TG-SDSC DirGen /users/nefedova/bin/DirGen INSTALLED INTEL32::LINUX ENV::PATH=/work/ux455036:/usr/bin:/bin #! /bin/sh if /usr/bin/test ! $# -eq 3 then echo "Syntax: DirGen Finished WorkDir ANOMSTART" exit 1 fi CURRENT_DIR=`pwd` mkdir -p foam-$2 cd foam-$2 mkdir -p history restart cd history mkdir -p atmos coupl ocean cd../ cp /users/ux455036/foame/foam1.5ifc8.1 foam1.5ifc8.1gm cat >> run_params <<EOFF RESTFRQ: 1440 HISTFRQ: 30 PREFIX:./ STORAGE:./ TIME_INV: /gpfs/nefedova/f1.5data FINISHED: $1 RUNLNG: 1440 ANOMSTART: $3 EOFF cp /gpfs/nefedova/atmos_params. cd restart globus-url-copy gsiftp://wiggum.mcs.anl.gov/home/climate1/jacob/ensrestart/rs.F1_5.75co2ctlLE.$1.tar file://$CURRENT_DIR/foam-$2/restart/rs.F1_5.75co2ctlLE.$1.tar tar -xf rs.F1_5.75co2ctlLE.$1.tar echo Done

FOAM run Executable must be compiled on the host it is running on Location: –tc.data: TG-SDSC FOAM./foam1.5ifc8.1gm INSTALLED INTEL32::LINUX GLOBUS::jobtype=mpi,count=8; –DirGen: cp /users/ux455036/foame/foam1.5ifc8.1 foam1.5ifc8.1gm Time Limit: –Can be set in tc.data as GLOBUS::jobtype=mpi,count=8,maxwalltime=210; –Can be set at vdl-gen step: TR FOAM( input RunParamsName, output DirAtmos, output DirOcean, output DirCoupl, input WorkDirName, none vds_workdir, none vds_group ) { argument = \${RunParamsName}; profile globus.maxWallTime = "210"; profile vds.workdir =\${vds_workdir}; profile vds.group=\${vds_group}; }

Post Processing jobs PostProc In tc.data: TG-SDSC PostProcess /users/nefedova/bin/PostProc INSTALLED INTEL32::LINUX ENV::PATH=/users/nefedova/bin:/usr/bin:/bin #! /bin/sh if /usr/bin/test ! $# -eq 4 then echo "Syntax: PostProc EntityName Finished Id F1_5" exit 1 fi cd history/$1 fileno=`expr $2 + 30` m2ncye.py $3 $fileno 1 $ mv *.nc../../ Echo Done M2ncye.py executable (and others that it calls) should be in the path

Transfer results to the storage This step is done automatically, the transfer nodes are generated by VDS. Tc.data file: TG-SDSC transfer /users/nefedova/bin/transfer INSTALLED INTEL32::LINUX ENV::GLOBUS_LOCATION=/usr/local/apps/globus gcc- r5;ENV::LD_LIBRARY_PATH=/usr/local/apps/globus gcc- r5/lib;ENV::PATH=/usr/local/apps/globus gcc- r5/bin;GLOBUS::maxwalltime=15 Pool.config file: –TG-SDSC pool: –Local pool:

Exitcode checking script To report the exitcode To create correct rescue DAG #! /bin/sh grep 'Done' $1 > /dev/null 2>/dev/null Pool.config: /home/nefedova/FOAM/SDSC- Production/exitcode

FOAM N-Member Ensemble Run under VDT Remote Directory Creation for Ensemble Member 1 Remote Directory Creation for Ensemble Member 2 Remote Directory Creation for Ensemble Member N FOAM run for Ensemble Member 1 FOAM run for Ensemble Member 2 FOAM run for Ensemble Member N Atmos Postprocessing Ocean Postprocessing for Ensemble Member 2 Coupl Postprocessing for Ensemble Member 2 Atmos Postprocessing for Ensemble Member 2 Coupl Postprocessing for Ensemble Member 2 Results are transferred back to the storage

Actual DAG (for 1 member- ensemble) ###################################################################### # GRIPHYN VDS CONCRETE DAG GENERATOR # DAG test # Index = 0, Count = 1 ###################################################################### JOB DirGen_ID DirGen_ID sub SCRIPT POST DirGen_ID /home/nefedova/FOAM/SDSC-Production/exitcode DirGen_ID out JOB FOAM_ID FOAM_ID sub SCRIPT POST FOAM_ID /home/nefedova/FOAM/SDSC-Production/exitcode FOAM_ID out JOB PostProcess_ID PostProcess_ID sub SCRIPT POST PostProcess_ID /home/nefedova/FOAM/SDSC-Production/exitcode PostProcess_ID out JOB PostProcess_ID PostProcess_ID sub SCRIPT POST PostProcess_ID /home/nefedova/FOAM/SDSC-Production/exitcode PostProcess_ID out JOB PostProcess_ID PostProcess_ID sub SCRIPT POST PostProcess_ID /home/nefedova/FOAM/SDSC-Production/exitcode PostProcess_ID out JOB new_rc_tx_PostProcess_ID000003_0 new_rc_tx_PostProcess_ID000003_0.sub SCRIPT POST new_rc_tx_PostProcess_ID000003_0 /home/nefedova/FOAM/SDSC-Production/exitcode new_rc_tx_PostProcess_ID000003_0.out JOB new_rc_tx_PostProcess_ID000004_0 new_rc_tx_PostProcess_ID000004_0.sub SCRIPT POST new_rc_tx_PostProcess_ID000004_0 /home/nefedova/FOAM/SDSC-Production/exitcode new_rc_tx_PostProcess_ID000004_0.out JOB new_rc_tx_PostProcess_ID000005_0 new_rc_tx_PostProcess_ID000005_0.sub SCRIPT POST new_rc_tx_PostProcess_ID000005_0 /home/nefedova/FOAM/SDSC-Production/exitcode new_rc_tx_PostProcess_ID000005_0.out PARENT DirGen_ID CHILD FOAM_ID PARENT FOAM_ID CHILD PostProcess_ID PARENT FOAM_ID CHILD PostProcess_ID PARENT FOAM_ID CHILD PostProcess_ID PARENT PostProcess_ID CHILD new_rc_tx_PostProcess_ID000003_0 PARENT PostProcess_ID CHILD new_rc_tx_PostProcess_ID000004_0 PARENT PostProcess_ID CHILD new_rc_tx_PostProcess_ID000005_0 ###################################################################### # End of DAG ######################################################################

How to run ?./vdl-gen inputfile 1 {2,3,4} vdlt2vdlx foam-gen.vdl > foam-gen.xml updatevdc -Dvds.properties=/path/to/properties foam- gen.xml gendax -Dvds.properties=/path/to/properties -verbose -o foam-gen.dax -L dax-dv-input (dax-dv-input is generated each time by vdl-gen, so it’s a good idea to delete it before each vdl-gen, so it does not get corrupted, etc) gencdag -Dvds.properties=/path/to/properties --verbose - force -dax foam-gen.dax -p TG-SDSC -o local condor_submit_dag test_0.dag