The EDG Workload Management System – n° 1 The EDG Workload Management System.

Slides:



Advertisements
Similar presentations
Workload Management David Colling Imperial College London.
Advertisements

EGEE is a project funded by the European Union under contract IST EGEE Tutorial Turin, January Hands on Job Services.
EU 2nd Year Review – Jan – Title – n° 1 WP1 Speaker name (Speaker function and WP ) Presentation address e.g.
Workload management Owen Maroney, Imperial College London (with a little help from David Colling)
INFSO-RI Enabling Grids for E-sciencE Workload Management System and Job Description Language.
The Grid Constantinos Kourouyiannis Ξ Architecture Group.
Job Submission The European DataGrid Project Team
David Colling Imperial College London Running your jobs everywhere.
INFSO-RI Enabling Grids for E-sciencE Architecture of the gLite Workload Management System Giuseppe Andronico INFN EGEE Tutorial.
INFSO-RI Enabling Grids for E-sciencE EGEE Middleware The Resource Broker EGEE project members.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Job Submission Fokke Dijkstra RuG/SARA Grid.
Basic Grid Job Submission Alessandra Forti 28 March 2006.
FESR Consorzio COMETA - Progetto PI2S2 Using MPI to run parallel jobs on the Grid Marcello Iacono Manno Consorzio COMETA
Job Submission The European DataGrid Project Team
EDG - WP1 (Grid Work Scheduling) Status and plans Massimo Sgaravatto - INFN Padova Francesco Prelz – INFN Milano.
EGEE Summer School Grid Systems – 3-8 July Job submission into the LHC Grid (Job Management + JDL) EGEE is funded by the European Union under.
INFSO-RI Enabling Grids for E-sciencE GILDA Praticals GILDA Tutors INFN Catania ICTP/INFM-Democritos Workshop on Porting Scientific.
Computational grids and grids projects DSS,
DataGrid is a project funded by the European Union CHEP 2003 – March 2003 – M. Sgaravatto – n° 1 The EU DataGrid Workload Management System: towards.
Enabling Grids for E-sciencE Workload Management System on gLite middleware Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi (Vietnam)
M. Sgaravatto – n° 1 The EDG Workload Management System: release 2 Massimo Sgaravatto INFN Padova - DataGrid WP1
DataGrid WP1 Massimo Sgaravatto INFN Padova. WP1 (Grid Workload Management) Objective of the first DataGrid workpackage is (according to the project "Technical.
Nadia LAJILI User Interface User Interface 4 Février 2002.
INFSO-RI Enabling Grids for E-sciencE Workload Management System Mike Mineter
1 Esther Montes Prado CIEMAT 10th EELA Tutorial Madrid, Hands-on on WMS (Review and Summary)
- Distributed Analysis (07may02 - USA Grid SW BNL) Distributed Processing Craig E. Tull HCG/NERSC/LBNL (US) ATLAS Grid Software.
Job Submission The European DataGrid Project Team
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite job submission Fokke Dijkstra Donald.
EGEE is a project funded by the European Union under contract IST Middleware components in EGEE Mike Mineter NeSC Training team
Grid checkpointing in the European DataGrid Project Alessio Gianelle – INFN Padova Rosario Peluso – INFN Padova Francesco Prelz – INFN Milano Massimo Sgaravatto.
M. Sgaravatto – n° 1 Overview of WP1 Workload Management System in EDG 2.x Massimo Sgaravatto INFN Padova - DataGrid WP1
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Job Submission Fokke Dijkstra RuG/SARA Grid.
EGEE is a project funded by the European Union under contract IST Job Description Language - more control over your Job Assaf Gottlieb University.
EGEE is a project funded by the European Union under contract IST EGEE Tutorial Turin, January Job Services Emidio.
M. Sgaravatto – n° 1 Overview of release 2 of the EDG WP1 Workload Management System deployed in the INFN production Grid Massimo Sgaravatto INFN Padova.
WP1 WMS rel. 2.0 Some issues Massimo Sgaravatto INFN Padova.
E-infrastructure shared between Europe and Latin America 1 Workload Management System-WMS Luciano Diaz Universidad Nacional Autónoma de México - UNAM Mexico.
Enabling Grids for E-sciencE Workload Management System on gLite middleware - commands Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi.
High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing.
EGEE-0 / LCG-2 middleware Practical.
INFSO-RI Enabling Grids for E-sciencE Job Submission Tutorial (material from INFN Catania)
Workload Management System Jason Shih WLCG T2 Asia Workshop Dec 2, 2006: TIFR.
Induction: General components of Grid middleware and User Interfaces –April 26-28, General components of Grid middleware and User Interfaces Roberto.
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.
Further aspects of EGEE middleware components INFN, Catania EGEE is funded by the European Union under contract IST
EGEE is a project funded by the European Union under contract IST Job Description Language – How to control your Job Nadav Grossaug IsraGrid.
EDG - WP1 (Grid Work Scheduling) Status and plans Massimo Sgaravatto INFN Padova.
EGEE 3 rd conference - Athens – 20/04/2005 CREAM JDL vs JSDL Massimo Sgaravatto INFN - Padova.
Job Submission The European DataGrid Project Team
Biomed tutorial 1 Enabling Grids for E-sciencE INFSO-RI EGEE is a project funded by the European Union under contract IST JDL Flavia.
User Interface UI TP: UI User Interface installation & configuration.
LCG2 Tutorial Viet Tran Institute of Informatics Slovakia.
Istituto Nazionale di Astrofisica Information Technology Unit INAF-SI Job with data management Giuliano Taffoni.
GRID commands lines Original presentation from David Bouvet CC/IN2P3/CNRS.
Introduction to Computing Element HsiKai Wang Academia Sinica Grid Computing Center, Taiwan.
FESR Consorzio COMETA - Progetto PI2S2 Using MPI to run parallel jobs on the Grid Marcello Iacono Manno Consorzio Cometa
Enabling Grids for E-sciencE Work Load Management & Simple Job Submission Practical Shu-Ting Liao APROC, ASGC EGEE Tutorial.
EU 2nd Year Review – Feb – WP1 Demo – n° 1 WP1 demo Grid “logical” checkpointing Fabrizio Pacini (Datamat SpA, WP1 )
Advanced services in gLite Gergely Sipos and Peter Kacsuk MTA SZTAKI.
Architecture of the gLite WMS
Workload Management System on gLite middleware
EGEE tutorial, Job Description Language - more control over your Job Assaf Gottlieb Tel-Aviv University EGEE is a project.
Job Submission in the DataGrid Workload Management System
Introduction to Grid Technology
Workload Management System
5. Job Submission Grid Computing.
The EU DataGrid Job Submission Services
The gLite Workload Management System
Job Submission M. Jouvin (LAL-Orsay)
Presentation transcript:

The EDG Workload Management System – n° 1 The EDG Workload Management System

The EDG Workload Management System – n° 2 EDG Tutorial Overview Data Management Services Fabric Management Networking Information Service Workload Management Services

The EDG Workload Management System – n° 3 Contents u The EDG Workload Management System u Job Preparation n Job Description Language u Job submission and job status monitoring u WMS Matchmaking u Different job types n Normal jobs n Interactive jobs n Checkpointable jobs n Parallel jobs

The EDG Workload Management System – n° 4 The EDG WMS u The user interacts with Grid via a Workload Management System (WMS) u The Goal of WMS is the distributed scheduling and resource management in a Grid environment. u What does it allow Grid users to do? n To submit their jobs n To execute them on the “best resources” s The WMS tries to optimize the usage of resources n To get information about their status n To retrieve their output

The EDG Workload Management System – n° 5 Job preparation u Information to be specified when a job has to be submitted: n Job characteristics n Job requirements and preferences on the computing resources s Also including software dependencies n Job data requirements u Information specified using a Job Description Language (JDL) n Based upon Condor’s CLASSified ADvertisement language (ClassAd) s Fully extensible language s A ClassAd n Constructed with the classad construction operator [] n It is a sequence of attributes separated by semi-colons. n An attribute is a pair (key, value), where value can be a Boolean, an Integer, a list of strings, … = ; u So, the JDL allows definition of a set of attribute, the WMS takes into account when making its scheduling decision

The EDG Workload Management System – n° 6 Job Description Language (JDL) u The supported attributes are grouped in two categories: n Job Attributes s Define the job itself n Resources s Taken into account by the RB for carrying out the matchmaking algorithm (to choose the “best” resource where to submit the job) s Computing Resource n Used to build expressions of Requirements and/or Rank attributes by the user n Have to be prefixed with “other.” s Data and Storage resources n Input data to process, SE where to store output data, protocols spoken by application when accessing SEs

The EDG Workload Management System – n° 7 JDL: relevant attributes u JobType n Normal (simple, sequential job), Interactive, MPICH, Checkpointable n Or combination of them u Executable (mandatory) n The command name u Arguments (optional) n Job command line arguments u StdInput, StdOutput, StdError (optional) n Standard input/output/error of the job u Environment n List of environment settings u InputSandbox (optional) n List of files on the UI local disk needed by the job for running n The listed files will automatically staged to the remote resource u OutputSandbox (optional) n List of files, generated by the job, which have to be retrieved

The EDG Workload Management System – n° 8 JDL: relevant attributes u Requirements n Job requirements on computing resources n Specified using attributes of resources published in the Information Service n If not specified, default value defined in UI configuration file is considered s Default: other.GlueCEStateStatus == "Production" (the resource has to be able to accept jobs and dispatch them on WNs) u Rank n Expresses preference (how to rank resources that have already met the Requirements expression) n Specified using attributes of resources published in the Information Service n If not specified, default value defined in the UI configuration file is considered s Default: - other.GlueCEStateEstimatedResponseTime (the lowest estimated traversal time) s Default: other.GlueCEStateFreeCPUs (the highest number of free CPUs) for parallel jobs (see later)

The EDG Workload Management System – n° 9 JDL: relevant attributes u InputData n Refers to data used as input by the job: these data are published in the Replica Location Service (RLS) and stored in the SEs) n LFNs and/or GUIDs u DataAccessProtocol (mandatory if InputData has been specified) n The protocol or the list of protocols which the application is able to speak with for accessing InputData on a given SE u OutputSE n The Uniform Resource Identifier of the output SE n RB uses it to choose a CE that is compatible with the job and is close to SE

The EDG Workload Management System – n° 10 Example of JDL File [ JobType=“Normal”; Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“home/joda/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; InputData = {“lfn:green”, “guid:red”}; DataAccessProtocol = “gridftp”; Requirements = other.GlueHostOperatingSystemNameOpSys == “LINUX” && other.GlueCEStateFreeCPUs>=4; Rank = other.GlueCEPolicyMaxCPUTime; ]

The EDG Workload Management System – n° 11 Job Submission edg-job-submit [–r ] [-c ] [-vo ] [-o ] -r the job is submitted directly to the computing element identified by -c the configuration file is pointed by the UI instead of the standard configuration file -vo the Virtual Organization (if user is not happy with the one specified in the UI configuration file) -o the generated edg_jobId is written in the Useful for other commands, e.g.: edg-job-status –i (or edg_jobId) -i the status information about edg_jobId contained in the are displayed

The EDG Workload Management System – n° 12 Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status

Job submission UI Network Server Job Contr. - CondorG Workload Manager Replica Catalog Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status submitted Job Status UI: allows users to access the functionalities of the WMS (via command line, GUI, C++ and Java APIs)

Job submission UI Network Server Job Contr. - CondorG Workload Manager Replica Catalog Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status edg-job-submit myjob.jdl Myjob.jdl JobType = “Normal”; Executable = "$(CMS)/exe/sum.exe"; InputSandbox = {"/home/user/WP1testC","/home/file*”, "/home/user/DATA/*"}; OutputSandbox = {“sim.err”, “test.out”, “sim.log"}; Requirements = other. GlueHostOperatingSystemName == “linux" && other. GlueHostOperatingSystemRelease == "Red Hat 6.2“ && other.GlueCEPolicyMaxWallClockTime > 10000; Rank = other.GlueCEStateFreeCPUs; submitted Job Status Job Description Language (JDL) to specify job characteristics and requirements

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage Input Sandbox files Job waiting submitted Job Status NS: network daemon responsible for accepting incoming requests

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage waiting submitted Job Status WM: responsible to take the appropriate actions to satisfy the request Job

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage waiting submitted Job Status Match- Maker/ Broker Where must this job be executed ?

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage waiting submitted Job Status Match- Maker/ Broker Matchmaker: responsible to find the “best” CE where to submit a job

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage waiting submitted Job Status Match- Maker/ Broker Where are (which SEs) the needed data ? What is the status of the Grid ?

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage waiting submitted Job Status Match- Maker/ Broker CE choice

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage waiting submitted Job Status Job Adapter JA: responsible for the final “touches” to the job before performing submission (e.g. creation of wrapper script, etc.)

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage Job Status JC: responsible for the actual job management operations (done via CondorG) Job submitted waiting ready

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node CE characts & status SE characts & status RB storage Job Status Job Input Sandbox files submitted waiting ready scheduled

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node RB storage Job Status Input Sandbox submitted waiting ready scheduled running “Grid enabled” data transfers/ accesses Job

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node RB storage Job Status Output Sandbox files submitted waiting ready scheduled running done

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node RB storage Job Status Output Sandbox submitted waiting ready scheduled running done edg-job-get-output

Job submission UI Network Server Job Contr. - CondorG Workload Manager RLS Inform. Service Computing Element Storage Element RB node RB storage Job Status Output Sandbox files submitted waiting ready scheduled running done cleared

The EDG Workload Management System – n° 28 Job monitoring UI Log Monitor Logging & Bookkeeping Network Server Job Contr. - CondorG Workload Manager Computing Element RB node LM: parses CondorG log file (where CondorG logs info about jobs) and notifies LB LB: receives and stores job events; processes corresponding job status Log of job events edg-job-status edg-job-get-logging-info Job status

The EDG Workload Management System – n° 29 Possible job states

The EDG Workload Management System – n° 30 Job resubmission u If something goes wrong, the WMS tries to reschedule and resubmit the job (possibly on a different resource satisfying all the requirements) u Maximum number of resubmissions: min(RetryCount, MaxRetryCount) n RetryCount: JDL attribute n MaxRetryCount: attribute in the “RB” configuration file u E.g., to disable job resubmission for a particular job: RetryCount=0; in the JDL file

The EDG Workload Management System – n° 31 Other (most relevant) UI commands u edg-job-list-match n Lists resources matching a job description n Performs the matchmaking without submitting the job  edg-job-cancel n Cancels a given job  edg-job-status n Displays the status of the job u edg-job-get-output n Returns the job-output (the OutputSandbox files) to the user  edg-job-get-logging-info n Displays logging information about submitted jobs (all the events “pushed” by the various components of the WMS) n Very useful for debug purposes

The EDG Workload Management System – n° 32 UI configuration files u Two UI configuration files n Common UI conf file s $EDG_WL_LOCATION/etc/edg_wl_ui_cmd_var.conf s User can create his own conf file, and refers to it with option –-config n VO UI conf file s $EDG_WL_LOCATION/etc/ /edg_wl_ui.conf s User can create his own VO conf file, and refers to it with option -–vo / –-config-vo

The EDG Workload Management System – n° 33 Common UI configuration file u Most relevant attributes n Default JDL Requirements s other.GlueCEStateStatus == “Production” n Default JDL Rank s - other.GlueCEStateEstimatedresponseTime n Default VO n Default verbosity level for edg-job-status and edg-job-get- logging-info n Default value for RetryCount

The EDG Workload Management System – n° 34 VO UI configuration file u Most relevant attributes n NS(s) s When submitting a job, the first specified RB is tried, if the operation fails the second one is considered, etc. n LB server(s) s The LB server to be used for a given job to be submitted is chosen in a random way among the listed one s When a –all query (e.g. edg-job-status –all) is issued, all these LB servers are queried

The EDG Workload Management System – n° 35 WMS Matchmaking u The RB (Matchmaker) has to find the best suitable computing resource (CE) where the job will be executed u It interacts with Data Management Service and Information Services n They supply RB with all the information required for the resolution of the matches u The CE chosen by RB has to match the job requirements (e.g. runtime environment, data access requirements, and so on) u If FuzzyRank=False (default): n If 2 or more CEs satisfy all the requirements, the one with the best Rank is chosen n If there are two or more CEs with the same best rank, the choice is done in a random way among them u If FuzzyRank=True in the JDL: n Fuzziness in CE choice: the CE with highest rank has the highest probability to be chosen

The EDG Workload Management System – n° 36 WMS matchmaking scenarios u Possible scenarios for matchmaking: 1. Direct job submission n edg-job-submit –r 2. Job submission with only computational requirements n Nor InputData nor OutputSE specified in the JDL 3. Job submission with also data access requirements n InputData and/or OutputSE specified in the JDL 4. Matchmaking with getAccessCost

The EDG Workload Management System – n° 37 Direct job submission edg-job-submit –r CEId u Job is simply submitted on the given CE u RB doesn’t perform any matchmaking algorithm u Information services not queried at all

The EDG Workload Management System – n° 38 Job submission with only comput. reqs u Nor InputData nor OutputSE specified in the JDL u Matchmaking algorithm: n Requirements check s RB contacts the IS to check which CEs satisfy all the requirements s This includes also authorization check (where is the user allowed to submit jobs ?) n Suitable resources directly queried (GRISes queried) to evaluate Rank expression (which usually refers to dynamic values) n If more than one CE satisfies the job requirements, the CE with the best rank is chosen by the RB (or has the highest probability to be chosen, if Fuzzyrank enabled)

The EDG Workload Management System – n° 39 Job submission with data access reqs u InputData and/or OutputSE specified in the JDL u RB strategy: submit jobs close to data u Matchmaking algorithm: n Requirements check as in the previous case n CE chosen among the suitable ones (the CEs which passed the requirements check) and where most of the needed files are “close” to it (where most of the needed files are stored on SEs close to the considered CE)

The EDG Workload Management System – n° 40 Matchmaking with GetAccessCost u Can be used when InputData has been specified in the JDL u Used when Rank = other.DataAccessCost has been specified in the JDL u Matchmaking algorithm: n Requirements check as in the previous case n The CE is chosen by the ‘getAccessCost’ method provided by data Management Services among the suitable CEs (the CEs which passed the requirements check), taking into account data location and network information

The EDG Workload Management System – n° 41 Example of job submission u User logs in on the UI u User issues a grid-proxy-init and enters his certificate’s password, getting a valid Globus proxy u User sets up his or her JDL file u Example of Hello World JDL file : [ Executable = “/bin/echo”; Arguments = “Hello World”; StdOutput = “Messagge.txt”; StdError = “stderr.log”; OutputSandbox = {“Message.txt”,”stderr.log”}; ]

The EDG Workload Management System – n° 42 Example of job submission u User issues a: edg-job-submit HelloWorld.jdl and gets back from the system a unique Job Identifier (JobId) u User issues a: edg-job-status JobId to get logging information about the current status of his Job u When the “Output” status is reached, the user can issue a edg-job-get-output JobId and the system returns the name of the temporary directory where the job output can be found on the UI machine.

The EDG Workload Management System – n° 43 Example of job submission $ edg-job-submit HelloWorld.jdl ************************************************************ JOB SUBMIT OUTCOME The job has been successfully submitted to the Network Server. Use edg-job-status command to check job current status. Your job identifier (edg_jobId) is: - ************************************************************* JobId

The EDG Workload Management System – n° 44 Example of job submission $ edg-job-status ************************************************************* BOOKKEEPING INFORMATION: Printing status info for the Job : IgxZyVpLKhANfrhHw Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: lxshare0405.cern.ch:2119/jobmanager-pbs-infinite reached on: Wed Jun 18 12:06: *************************************************************

The EDG Workload Management System – n° 45 Example of job submission $ edg-job-get-output --dir Results IgxZyVpLKhANfrhHw ************************************************************* JOB GET OUTPUT OUTCOME Output sandbox files for the job: - have been successfully retrieved and stored in the directory: /shift/lxshare072d/data01/UIhome/sgaravat/Results/KoBA-IgxZyVpLKhANfrhHw ************************************************************* $ more Results/KoBA-IgxZyVpLKhANfrhHw/Message.txt Hello World $ more Results/KoBA-IgxZyVpLKhANfrhHw/stderr.log $

The EDG Workload Management System – n° 46 Proxy renewal u Why? n To avoid job failure because it outlived the validity of the initial proxy, avoiding considering long term user proxies u Solution n Short term proxies created as usual in the UI machine s grid-proxy-init –hours n User registers proxy into a MyProxy server: s myproxy-init –s [-t -c ] n server is the server address (e.g. lxshare0375.cern.ch) n cred is the number of hours the proxy should be valid on the server n proxy is the number of hours renewed proxies should be valid n User specifies the MyProxy server in the JDL to enable proxy renewal: s MyProxyServer=myproxy.host.name; n The Proxy is automatically renewed by WMS without user intervention for all the job life

The EDG Workload Management System – n° 47 Interactive jobs u Specified setting JobType = “Interactive” in JDL u When an interactive job is executed, a window for the stdin, stdout, stderr streams is opened n Possibility to send the stdin to the job n Possibility the have the stderr and stdout of the job when it is running u Possibility to start a window for the standard streams for a previously submitted interactive job with command edg-job-attach

The EDG Workload Management System – n° 48 Job checkpointing u Checkpointing: saving from time to time job state n Useful to prevent data loss, due to unexpected failures n Approach: provide users with a “trivial” logical job checkpointing service n User can save from time to time the state of the job (defined by the application) n A job can be restarted from an intermediate (i.e. “previously” saved) job state u Different than “classical checkpointing (i.e. saving all the information related to a process: process’s data and stack segments, open files, etc.) n Very difficult to apply (e.g. problems to save the state of open network connections) n Not necessary for many applications u To submit a checkpointable job n Code must be instrumented (see next slides) n JobType=Checkpointable to be specified in JDL

The EDG Workload Management System – n° 49 Job checkpointing example int main () { … for (int i=event; i < EVMAX; i++) { ;}... exit(0); } Example of Application (e.g. HEP MonteCarlo simulation)

The EDG Workload Management System – n° 50 Job checkpointing example #include "checkpointing.h" int main () { JobState state(JobState::job); event = state.getIntValue("first_event"); PFN_of_file_on_SE = state.getStringValue("filename"); …. var_n = state.getBoolValue("var_n"); ; … for (int i=event; i < EVMAX; i++) { ;... state.saveValue("first_event", i+1); ; state.saveValue("filename", PFN of file_on_SE);... state.saveValue("var_n", value_n); state.saveState(); } … exit(0); } User code must be easily instrumented in order to exploit the checkpointing framework …

The EDG Workload Management System – n° 51 Job checkpointing example #include "checkpointing.h" int main () { JobState state(JobState::job); event = state.getIntValue("first_event"); PFN_of_file_on_SE = state.getStringValue("filename"); …. var_n = state.getBoolValue("var_n"); ; … for (int i=event; i < EVMAX; i++) { ;... state.saveValue("first_event", i+1); ; state.saveValue("filename", PFN of file_on_SE);... state.saveValue("var_n", value_n); state.saveState(); } … exit(0); } User defines what is a state Defined as pairs Must be “enough” to restart a computation from a previously saved state

The EDG Workload Management System – n° 52 Job checkpointing example #include "checkpointing.h" int main () { JobState state(JobState::job); event = state.getIntValue("first_event"); PFN_of_file_on_SE = state.getStringValue("filename"); …. var_n = state.getBoolValue("var_n"); ; … for (int i=event; i < EVMAX; i++) { ;... state.saveValue("first_event", i+1); ; state.saveValue("filename", PFN of file_on_SE);... state.saveValue("var_n", value_n); state.saveState(); } … exit(0); } User can save from time to time the state of the job

The EDG Workload Management System – n° 53 Job checkpointing example #include "checkpointing.h" int main () { JobState state(JobState::job); event = state.getIntValue("first_event"); PFN_of_file_on_SE = state.getStringValue("filename"); …. var_n = state.getBoolValue("var_n"); ; … for (int i=event; i < EVMAX; i++) { ;... state.saveValue("first_event", i+1); ; state.saveValue("filename", PFN of file_on_SE);... state.saveValue("var_n", value_n); state.saveState(); } … exit(0); } Retrieval of the last saved state The job can restart from that point

The EDG Workload Management System – n° 54 Job checkpointing scenarios u Scenario 1 n Job submitted to a CE n When job runs it saves from time to time its state n Job failure, due to a Grid problems (e.g. CE problem) n Job resubmitted by the WMS possibly to a different CE n Job restarts its computation from the last saved state s  No need to restart from the beginning s  The computation done till that moment is not lost u Scenario 2 n Job failure, but not detected by the Grid middleware n User can retrieved a saved state for the job (typically the last one) s edg-job-get-chkpt –o n User resubmits the job, specifying that the job must start from a specific (the retrieved one) initial state s edg-job-submit –chkpt

The EDG Workload Management System – n° 55 Submission of parallel jobs u Possibility to submit MPI jobs u MPICH implementation supported u Only parallel jobs inside a single CE can be submitted u Submission of parallel jobs very similar to normal jobs n Just needed to specify in the JDL: s JobType= “MPICH” s NodeNumber = n; n The number (n) of requested CPUs u Matchmaking n CE chosen by RB has to have MPICH sw installed, and at least n total CPUs n If there are two or more CEs satisfying all the requirements, the one with the highest number of free CPUs is chosen

The EDG Workload Management System – n° 56 Further information u The EDG User’s Guide u EDG WP1 Web site In particular WMS User & Admin Guide and JDL docs u ClassAd