Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
¡â¯What type of Gateway? §â¯Who is your audience? âªâ¯ Desktop application âªâ¯ Large portal/website interface
¡⯠Structured staging plans §⯠Short & long term goals §⯠Precise list of requirements for your gateway §⯠Choose technologies based on resources and time
¡⯠Bring your development team with you ¡â¯Make friends at your resource site(s)
¡⯠For scalability Community Accounts (CA) are used instead of unique XSEDE accounts §⯠A single community user account is created âªâ¯ Gateway uses the CA to launch jobs âªâ¯ SAML attribute (citizenship info) is sent along CA request
§⯠Gateway user of the CA typically has privileges to only run a limited set of commands âªâ¯ Community Shell â commsh cat commsh.mmcken6.conf
# Generic commands DirectAccess cc ** DirectAccess aprun ** DirectAccess /bin/cat *
¡⯠A service for securing private keys §⯠Keys stored encrypted with password §⯠Keys never leave the MyProxy server
¡⯠A service for retrieving proxy credentials §⯠Delegate these credentials to access other resources
¡⯠A commonly used service for gateway/portal security
¡⯠myproxy-Ââlogon §⯠Retrieve stored credential §⯠Requires passphrase that was used when it was stored §⯠First command you should always execute
¡⯠myproxy-Ââinfo §⯠Get stored credential information
¡⯠myproxy-Ââinit §⯠Generate a proxy from credentials on local machine & store it
on the proxy server ¡⯠myproxy-Ââdestroy
§⯠Remove credential
¡⯠Useful flags ¡⯠-Ââs server_name ¡⯠-Ââl user_name
¡⯠GridFTP: Globus provides this service §⯠Implements FTP protocol using GSI authentication
¡⯠globus-Ââurl-Ââcopy §⯠Client tool that performs file management tasks
¡⯠globus-Ââurl-Ââcopy Source_URL Destination_URL §⯠URL looks like: §⯠gsiftp://<hostname:port>/path âªâ¯ globus-Ââurl-Ââcopy gsiftp://gridftp.kraken.nics.xsede.org/PATH/TO/FILE gsiftp://gridftp.blacklight.psc.teragrid.org/PATH/TO/FILE
§⯠The file:// protocol is deprecated, please do not use
http://www.loni.org
LONI HPC Enablement Workshop â LaTech University, October 23, 2008
!"#$%&'(
Basic Transfer One control channel, several
parallel data channels
Third-party
Transfer Control channels to each server, several parallel
data channels between servers Striped Transfer
Control channels to each server on one node, several parallel data channels
between servers and data channels spread across nodes
myproxy.teragrid.org
Myproxy-Ââlogon Globus-Ââjob-Âârun My machine
Gatekeeper LRM
jobmanager jobmanager
jobmanager
Condor pool
PBS: Compute nodes
Fork: Local host
1 2 3
globusrun where_to/who_to_talk_to what_to_do globusrun url_to_resource/jobmanager-ÂâX RSL file
¡⯠Globusrun â Execute & manage jobs via GRAM ¡⯠Useful options
§⯠-Ââp âªâ¯ Verify syntax of the RSL specification
§⯠-Ââa âªâ¯ Authenticate only
§⯠-Âây or ârefresh-Ââproxy âªâ¯ Attempt to delegate a new X.509 proxy to the job manager managing a
jobID §⯠-Ââstatus §⯠-Ââf RSL_FILENAME §⯠-Ââr Resource Contact âªâ¯ Host:Port/Service
§⯠-Ââb âªâ¯ Submit job and exit GRAM service
¡⯠XML language ¡⯠Attribute & value pairings ¡⯠GRAM attributes: executable, arguments, count, directory, maxtime, jobtype, project,⊠§⯠A different way to describe a PBS script
¡⯠LRM interprets the RSL attributes to manage the GRAM request
& (project=TG-ÂâSTA110014S) (jobtype=mpi) (directory=/lustre/scratch/mmcken6/apoa1/) (count=24) (executable=/lustre/scratch/mmcken6/namd2) (arguments=apoa1.namd)
#!/bin/bash #PBS âl size=24 #PBS âA TG-ÂâSTA110014S cd /lustre/scratch/mmcken6/apoa1/ aprun ân 24 /lustre/scratch/mmcken6/namd2 apoa1.namd
:~>globusrun -Ââo -Ââr grid.nics.utk.edu:2119/jobmanager-Ââpbs '&(directory=/lustre/scratch/$USER)(executable=/lustre/scratch/$USER/helloworld)(jobtype=mpi)(count=12)(project=my_allocation)'
Gatekeeper
jobmanager jobmanager
jobmanager
Condor pool
PBS: Compute nodes
Fork: Local host
¡⯠jobmanager-Ââpbs '&(directory=/lustre/scratch/user)(executable=/lustre/scratch/$USER/helloworld)(jobtype=mpi)(count=12)(project=my_allocation)'
¡⯠Jobmanager-Ââpbs autogenerates a PBS script ¡⯠Jobtype=mpi
§⯠Places âaprun ânâ or âmpirun ânpâ §⯠Site/machine dependent
¡⯠Jobtype=single §⯠This is solitary, non-Ââparallel job §⯠Most flexible option âªâ¯ One can set aprun/mpirun/other exe and its various arguments âªâ¯ '&(executable=aprun)(arguments="-Âân" "24" "helloworld") (directory=/lustre/scratch/user)(jobtype=single)(count=24)(maxtime=10) (project=my_allocation)'
¡⯠Jobtype=mpi §⯠Generates a PBS for MPI jobs
¡⯠Jobtype=multiple §⯠Parallel applications that do not depend on MPI §⯠Check your site friend on how this is implemented âªâ¯ @ NICS = many under 1 submission âªâ¯ @ SDSC = many submissions
~> more sub_namd.rsl & (project=TG-ÂâSTA110014S) (jobtype=mpi) (directory=/lustre/scratch/mmcken6/apoa1/) (count=24) (executable=/sw/xt/namd/2.8/cnl3.1_gnu4.6.1/bin/namd2) (arguments=apoa1.namd) ~> globusrun -Ââo -Ââr grid.nics.utk.edu:2119/jobmanager-Ââpbs -Ââf sub_namd.rsl GRAM Job failed because the authorization system denied the request â not authorized to run the specified executable (error code 165)
Solution Email [email protected] or talk to your XSEDE site friend Could you please add â/sw/xt/namd/2.8/cnl3.1_gnu4.6.1/bin/namd2â to my commsh?
~>globusrun -Ââo -Ââr grid.nics.utk.edu:2119/jobmanager-Ââpbs '&(directory=/lustre/scratch/$USER) (executable=/lustre/scratch/$USER/helloworld)(jobtype=mpi)(count=12)(project=my_allocation)' Hello world from process 8 of 12 Hello world from process 10 of 12 Hello world from process 7 of 12 Hello world from process 3 of 12 Hello world from process 11 of 12 Hello world from process 4 of 12 Hello world from process 5 of 12 Hello world from process 1 of 12 Hello world from process 0 of 12 Hello world from process 9 of 12 Hello world from process 2 of 12 Hello world from process 6 of 12 Application 5579880 resources: utime 0, stime 0
¡⯠Good overview of the parts of GRAM5 §⯠http://www.globus.org/toolkit/docs/5.0/5.0.0/execution/gram5/user/
¡⯠Good manual for RSL files §⯠http://www.globus.org/toolkit/docs/2.4/gram/rsl_spec1.html/#Simple%20RSL%20Examples
¡â¯Many, many examples and error codes §⯠http://www.nics.tennessee.edu/computing-Ââresources/grid_services