Job Submission The European DataGrid Project Team
EDG Job Submission Tutorial - n° 2 Summary Job Submission to the EDG Testbed n The EDG Workload Management System n Job Description Language n Job Submission & Monitoring A simple program example: the job lifecycle
EDG Job Submission Tutorial - n° 3 The EDG WMS User interacts with Grid via a Workload Management System WMS is currently composed of the following parts: n User Interface (UI) : access point for the user to the GRID (using JDL language) n Resource Broker (RB) : the broker of GRID resources, performing the match-making n Job Submission System (JSS) : A wrapper to Condor-G, interfacing batch systems n Information Index (II) : an LDAP server used by the Broker as a filter to select resources n Logging and Bookkeeping services (LB) : MySQL databases to store Job Info
EDG Job Submission Tutorial - n° 4 Job Description Language Based upon Condor’s CLASSified ADvertisement language (CLASSAD) = ; JDL defines a set of attributes for the WMS: n Job Attributes: s Executable, Arguments, StdIN/OUT/ERR, Input Data, Rank, Requirements, … n Resource Attributes: s MinPhysicalMemory, MinLocalDiskSpace, FreeCPUs, RunningJobs, …
EDG Job Submission Tutorial - n° 5 Example JDL File Executable = “~testperson/test/gridTest”; InputData = “LF:testbed ”; ReplicaCatalog = “ldap://sunlab2g.cnaf.infn.it:2010/ \ rc=WP2 INFN Test, dc=infn, dc=it”; DataAccessProtocol = “gridftp”; Rank = “other.MaxCpuTime”; Requirements = other.LRMSType==“Condor” && \ other.Architecture==“INTEL” && \ other.OpSys==“LINUX” && other.FreeCpus >=4;
EDG Job Submission Tutorial - n° 6 Main WMS Commands dg-job-submit submit a job dg-job-list-match list resources matching a job description dg-job-cancel cancel a given job dg-job-status display the status of the job (submitted, waiting, ready, scheduled, running, chkpt, done, outputready, aborted, cleared) dg-job-get-output returns the job-output to the user
EDG Job Submission Tutorial - n° 7 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Replica Catalogue Job Status
EDG Job Submission Tutorial - n° 8 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Replica Catalogue Job Submit Event Input Sandbox submitted Job Status
EDG Job Submission Tutorial - n° 9 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Replica Catalogue Job Submit Event Input Sandbox submitted waiting Job Status
EDG Job Submission Tutorial - n° 10 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Replica Catalogue Job Submit Event Input Sandbox submitted waitingready Job Status
EDG Job Submission Tutorial - n° 11 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Replica Catalogue Job Submit Event Input Sandbox submitted waitingready Brokerinfo scheduled Job Status
EDG Job Submission Tutorial - n° 12 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Replica Catalogue Job Submit Event Input Sandbox submitted waitingready Brokerinfo scheduled Input Sandbox running Job Status
EDG Job Submission Tutorial - n° 13 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Job Status Replica Catalogue Job Submit Event Input Sandbox submitted waitingready Brokerinfo scheduled Input Sandbox running Job Status
EDG Job Submission Tutorial - n° 14 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Job Status Replica Catalogue Job Submit Event Input Sandbox submitted waitingready Brokerinfo scheduled Input Sandbox running Output Sandbox done Job Status
EDG Job Submission Tutorial - n° 15 A Job Submission Example UI JDL Logging & Book-keeping Resource Broker Job Submission Service Storage Element ComputeElement Information Service Job Status Replica Catalogue Job Submit Event Input Sandbox submitted waitingready Brokerinfo scheduled Input Sandbox running Output Sandbox done Output Sandbox cleared Job Status
EDG Job Submission Tutorial - n° 16 The Scheduling Problem CE datagrid.esa.esrin.it USER LSF/AFS firefox.esa.esrin.it JSS WMS SE JDL for submitting job Statement of the problem : To find target CEs capable of running the job and effectively handling very large distributed dataset stored in the SE or replicated in some CE. Condor 4 CPUs XX MB RAM LSF/AFS XX MB RAM CPU XX MHz IDL ENEA
EDG Job Submission Tutorial - n° 17 WMS Match Making Direct Job Submission: n Job is scheduled on given CE Job Submission without Data Requirements: n Requirements check n Rank computation Job Submission with Data Requirements: n Requirements check n Rank computation Input/Output Data Locations Supported Data Transfer Protocols
EDG Job Submission Tutorial - n° 18 Example of Job Submission Sequence User logs in on the UI User issues a grid-proxy-init and enters his certificate’s password, getting a valid Globus proxy User sets up his JDL file, filling in the various Condor ClassAds attributes Example of Hello World JDL file : Executable = "/bin/echo"; Arguments = "Hello World !"; StdOutput = “Messagge.txt"; StdError = "stderr.log"; OutputSandbox = “Message.txt"; User issues : dg-job-submit HelloWorld.jdl and gets back from the system a unique Job Identifier (JobId)
EDG Job Submission Tutorial - n° 19 Example of Job Submission Sequence Cont’d User issues a dg-job-status JobId to get logging information about the current status of his Job When the “Done” status is reached, the user can issue a dg-job-get-output JobId The systems returns him the name of the temporary directory where he can find the output of his job, on the UI machine.
EDG Job Submission Tutorial - n° 20 dg-job-submit HelloWorld.jdl Connecting to host testbed011.cern.ch, port 7771 Logging to host testbed011.cern.ch, port JOB SUBMIT OUTCOME : The job has been successfully submitted to the Resource Broker. Use dg-job-status command to check job current status. Your job identifier ( dg_jobId) is: :7771 Job Submission Example Job Id
EDG Job Submission Tutorial - n° 21 Job Submission Example Cont’d dg-job-status \ Retrieving Information from server. Please wait: this operation could take some seconds. ****************** BOOKKEEPING INFORMATION: Printing status info for the Job : dg_JobId = Status = Done Last Update Time (UTC) = Mon Apr 29 23:31: Job Destination = tbn01.nikhef.nl:2119/jobmanager-pbs-q_72h256mb Status Reason = terminated Job Owner = /C=IT/O=INFN/OU=Personal Certificate/L=CNAF/ CN=Mario Status Enter Time (UTC)= Mon Apr 29 23:31:
EDG Job Submission Tutorial - n° 22 [ dg-job-get-output \ **************************************************************************************************** JOB GET OUTPUT OUTCOME Output sandbox files for the job: have been successfully retrieved and stored in the directory: /tmp/ ***************************************************************************************** ] cd /tmp/ /tmp/ ] less Message.txt Hello World ! Job Submission Example Cont’d
EDG Job Submission Tutorial - n° 23 Detailed Interplay of EDG Components
EDG Job Submission Tutorial - n° 24 Further Information The EDG User’s Guide WMS and JDL grid/documents.html