6a.1 - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

6a.1

Description:

GT2 job submission using RSL version 1 language. ... RSL Version 1 -- a metalanguage describing job and its required execution. 6a.13 ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 57
Provided by: barry198
Category:

less

Transcript and Presenter's Notes

Title: 6a.1


1
Globus ToolkitExecution Management
2
Web ServicesComponents
Non-WS Components
Data Management
Security
CommonRuntime
Execution Management
Information Services
I Foster
3
Grid Resource Allocation Manager (GRAM)Job
submission
4
Resource Management
  • Job submission
  • Job status
  • Basic resource allocation

5
Outline
  • GT2 job submission using RSL version 1 language.
  • GT 3.2 job submission using RSL version 2
    language.
  • GT 4 job submission (can use RSL version language

6
Resource Allocation
  • Globus (2, 3.2, or 4.0) does not have its own job
    scheduler to find resources and automatically
    send jobs to suitable machines.
  • For that, use a separate scheduler, e.g. Condor,
    Sun Grid Engine, LSF, PBS, .

7
  • Globus Version 2
  • (pre-2004)
  • Pre-WS GRAM

8
Globus version 2
From Introduction to Grid Computing with
Globus, IBM Redbooks, Fig. 7-3.
9
  • GT 2 GRAM
  • Job startup done using GRAM service.
  • Consist of
  • Gatekeeper
  • Job Manager
  • Job manager can connect to a local resource
    manager (scheduler)
  • GASS service -- provides access to remote files
    and for redirecting standard output streams.

10
  • GRAM Commands
  • globusrun -- Runs a single executable on a remote
    site.
  • globus-job-run -- Allows you to run a job at one
    or several remote resources. Uses globusrun to
    submit job.
  • globus-job-submit -- For batch job submission
    (e.g. using a local scheduling job manager). Not
    recommended use globus-job-run or globusrun
    instead, with job manager specified

11
Scheduler
  • Can specify a job scheduler with globusrun, by
    adding scheduler name to hostname
  • lthostnamegt/jobmanager-lsf

12
Specifying job
  • Command used a file to describe job in a language
    called Resource Specification Language, RSL
  • RSL Version 1 -- a metalanguage describing job
    and its required execution.

13
Resource Specification LanguageRSL
  • Provides a specification for
  • Resource requirements - machine type, number of
    nodes, memory, etc.
  • Job description - directory, executable,
    arguments, environment

14
RSL Version 1Constraints ExampleConjunction
(AND)
  • To create 3-5 instances of myProg, each on a
    machine with at least 64 Mbytes memory available
    to me for 1 hours
  • (executablemyProg)
  • (countgt3)(countlt5)(memorygt64)
  • (max_time60)

15
RSL Version 1Constraints ExampleDisjunction
(OR)
  • To create 5 instances of myProg, each on a
    machine with at least 64 Mbytes memory or 7
    instances of myProg, each on a machine with at
    least 32 Mbytes memory
  • (executablemyProg)
  • (((count5)(memorygt64))
  • ((count7)(memorygt32)))

16
RSL version 1Requesting multiple
resourcesmultirequest
  • To execute 5 instances of myProg1 on a machine
    with at least 64 Mbytes memory and execute 2
    instances of myProg2
  • ((count5)(memorygt64))
  • (executablemyProg1))
  • ((count2)(executablemyProg2))

17
Can specify different resource managers on
different machines using resourceManagerContact
attribute.
18
RSL creation with Globus version 2
  • GT2 globus-job-run can be used to generate RSL
    from command line arguments with -dumprsl flag
  • -help gives options

19
Globus 3.2
20
GT 3.2 GRAMGlobus Resource Allocation Manager
  • A set of OGSI compliant services provided to
    start remote jobs. notably
  • Master Managed Job Factory Service (MMJFS).
  • Also a set of non-OGSI compliant services
    (Gatekeeper, Jobmanager) from pre-GT3.

21
Globus GT 3.x
22
Resource Specification Language, RSL, version 2
  • GT3 and GT 4 use RSL version 2. (Some differences
    in RSL language specification in GT4, so not
    completely interchangeable.)
  • RSL Version 2 is an XML language.

23
Resource Specification Language Version 2 (RSL
-2)
  • Can specify everything from executable, paths,
    arguments, input/output, error file, number of
    processes, max/min execution time, max/min
    memory, job type etc. etc.

24
RSL-2
  • Much more elegant and flexible, and in keeping
    with systems using XML.
  • Can use XML parsers.
  • Allows more powerful mechanisms with job
    schedulers.
  • Resource scheduler/broker applies specification
    to local resources.

25
RSL-2 ExampleSpecifying Executable(executable/b
in/echo)
  • ltgramexecutablegt
  • ltrslpathgt
  • ltrslstringElement value"/bin/echo"/gt
  • lt/rslpathgt
  • lt/gramexecutablegt
  • In GT 4 version of RSL-2, can simply write
  • ltexecutablegt/bin/echolt/executablegt

26
RSL-2 ExampleSpecifying Directory(directory/bi
n)
  • ltgramdirectorygt
  • ltrslpathgt
  • ltrslstringElement value"/bin/"/gt
  • lt/rslpathgt
  • lt/gramdirectorygt
  • In GT 4 version of RSL-2, can simply write
  • ltdirectorygt/bin/lt/directorygt

27
RSL-2 ExampleSpecifying Number(count1)
  • ltgramcountgt
  • ltrslinteger value"1"/gt
  • lt/gramcountgt
  • In GT 4 version of RSL-2, can simply write
  • ltcountgt1lt/countgt

28
RSL-2 ExampleSpecifying Arguments(argumentsHel
lo)
  • ltgramargumentsgt
    ltrslstringgt
  • ltrslstringElement value"Hello World"/gt
  • lt/rslstringgt
  • lt/gramargumentsgt
  • In GT 4 version of RSL-2, can simply write
  • ltargmentgthello worldlt/argumentgt

29
RSL and (GT 3.2) RSL-2 comparison for echo program
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltrslrsl
    xmlnsrsl"http//www.globus.org/namespaces/2003/0
    4/rsl"

  • xmlnsgram"http//www.globus.org/namespaces/2003/
    04/rsl/gram"

  • xmlnsxsi"http//www.w3.org/2001/XMLSchema-instan
    ce"

  • xsischemaLocation"

  • http//www.globus.org/namespaces/2003/04/rsl

  • c/ogsa-3.0/schema/base/gram/rsl.xsd

  • http//www.globus.org/namespaces/2003/04/rsl/gram

  • c/ogsa-3.0/schema/base/gram/gram_rsl.xsd"gt
  • ltgramjobgt

  • ltgramexecutablegt ltrslpathgt

  • ltrslstringElement value"/bin/echo"/gt
    lt/rslpathgt

  • lt/gramexecutablegt

  • ltgramdirectorygt ltrslpathgt

  • ltrslstringElement value"/bin"/gt lt/rslpathgt

  • lt/gramdirectorygt

  • ltgramargumentsgt

  • ltrslstringgt ltrslstringElement value"Hello
    World"/gt lt/rslstringgt

  • lt/gramargumentsgt
  • ((executable/bin/echo)
  • (directory"/bin")
  • (arguments"Hello World")
  • (stdin/dev/null)
  • (stdout"stdout")
  • (stderr"stderr")
  • (count1)
  • )

30
Running GT 3 Job
  • Command
  • managed-job-globusrun
  • and arguments -- named master job factory
    service to process job and an xml file to specify
    job.
  • Command equivalent to GT 2 globusrun command.

31
Globus 4.0
32
GT 4 WS-GRAM
33
  • In WS GRAM, jobs started by the
    ManagedExecutionJobService, which is a Java
    service implementation running within globus
    service container.

34
Running GT 4 Job
  • Command
  • globusrun-ws
  • and arguments to specify job.
  • Equivalent to GT 3.2 managed-job-globusrun
    command, and GT 2 globusrun command.

35
GT4 job submission command globusrun-ws
  • Submit and monitor GRAM jobs
  • Replaces (java) managed-job-globusrun
  • Written in C, faster startup and execution
  • Supports multiple and single job submission
  • Handles credential management
  • Streaming of job stdout/err during execution

36
Simple job submission
  • Step 1 Create proxy with grid-proxy-int command.
  • Step 2 globusrun-ws with parameters to specify
    job.

37
Some globusrun-ws flags for job submission
38
Job submission
  • -submit Submits (or resubmits) a job to a job
    host in one of three output modes batch,
    interactive, or interactive-streaming. This flag
    needed.

39
Specifying where job is submitted(ManagedJobFacto
ry)
  • -F Specifies the contact for the job
    submission.
  • Default
  • https//localhost8443/wsrf/services/
  • ManagedJobFactoryService
  • In assignment 3, simply localhost and container
    port number used, i.e.
  • -F localhost8443

40
Submitting a single job
  • - c Causes globusrun-ws to generate a simple
    job description with the named program and
    arguments. This flag, if used, must be the last
    flag.

41
Example Submit program echo with argument hello
to default local host.
globusrun-ws submit c /bin/echo
hello Submitting job...Done. Job ID
uuidd23a7be0-f87c-11d9-a53b-0011115aae1f Terminat
ion time 07/20/2005 1744 GMT Current job state
Active Current job state CleanUp Current job
state Done Destroying job...Done.
42
  • A successful submission will create a new
    ManagedJob resource with its own unique EPR for
    messaging.
  • globusrun-ws will output this EPR to a file when
    requested, as the sole standard output when
    running in batch mode.

43
Selecting a different host
Example globusrun-ws submit F
https//140.221.65.1934444/wsrf/services/managedJ
obFactoryService c /bin/echo hello
44
Using an RSL file
f Similar to -c except job description held
in a file. Example globusrun-ws submit f
echo.xml where echo.xml is an RSL-2 file
describing job.
45
Contents of echo.xml ltjobgt ltexecutablegt/bin/ec
holt/executablegt ltargumentgthellolt/argumentgt lt/job
gt
46
Batch Submission
  • -batch Results in ManagedJob EPR as the sole
    standard output (unless in quiet mode) and then
    exits.
  • -o filename Created ManagedJob EPR written to
    file (if submission successful)

47
Batch Job Submission
globusrun-ws submit batch o job_epr s
/bin/sleep 50 Submitting jobDone JoB ID
uuidf9544174-60c5-11d9-97e3-0002a5ad41e5 Terminat
ion time 01/08/2005 1605 GMT
48
Monitoring Batch Submission
  • -monitor Attaches to an existing job in
    interactive or interactive-streaming output
    modes.
  • -j filename EPR for ManagedJob read from file.

49
Monitoring Batch Job
globusrun-ws monitor j job_epr job state
Active Current job state CleanUp Current job
state Done Requesting original job
description...Done. Destroying job...Done
50
Batch Submission
  • -status Reports the current state of the job
    and exits
  • -kill Requests immediate cancellation of job
    and exits.

51
(No Transcript)
52
Input/Output
  • RSL file can specify where stdout/err goes.
  • Example
  • ltjobgt
  • ltexecutablegt/bin/echolt/executablegt
  • ltdirectorygt/tmplt/directorygt
  • ltargumentgthellolt/argumentgt
  • ltstdoutgtjob.outlt/stdoutgt
  • ltstderrgtjob.errlt/stderrgt
  • lt/jobgt

53
Stream Input/Output
  • -s The standard output and standard error files
    of the job are monitored and data is written to
    the corresponding output of globusrun-ws.
  • Allows streaming stdout/err during executing to
    the terminal.

54
Stream output data files
  • Can also stream output data files. Specify in
    RSL file where to.

55
  • Example
  • ltjobgt
  • ltfileStageOutgt
  • lttransfergt
  • ltsourceUrlgtfile///tmp/job.outlt/sourceUrlgt
  • ltdestinationUrlgtgsiftp//host.domain2811/
  • tmp/stage.outlt/destinationUrlgt
  • lt/transfergt
  • lt/fileStageOutgt
  • lt/jobgt

56
Reliable File Transfer (RTF)
  • Example
  • ltjobgt
  • lttransfergt
  • ltrftOptionsgt
  • ltsubjectNamegt/ONCSU/OUHPC/
  • OUunity.ncsu.edu/CNBarry Wilkinson
  • ltparallelStreamsgt4lt/parallel Streamsgt
  • lt/transfergt
  • lt/jobgt
Write a Comment
User Comments (0)
About PowerShow.com