Integration with AFS
5.14. Integration with AFS
To run parallel tasks spawned by ParaStation on clusters using AFS, ParaStation provides the scripts env2tok and tok2env.
On the frontend side, calling
. tok2env
will create an environment variable AFS_TOKEN containing an encoded access token for AFS. This variable must be added to the list of exported variables
PSI_EXPORTS="AFS_TOKEN,$PSI_EXPORTS"
In addition, the variable
PSI_RARG_PRE_0=/some/path/env2tok
must be set. This will call the script env2tok before running the actual program on each node. Env2tok itself will decode the token and will setup the AFS environment.
The commands SetToken and GetToken, which are part of the AFS package, must be available on each node. Also, the commands uuencode and uudecode must be installed.
Script tok2env:
#!/bin/bash tmp=$IFS IFS=" "
export AFS_TOKEN=`GetToken uuencode /dev/stdout` IFS=$tmp
Script env2tok:
#!/bin/bash IFS=" "
echo $AFS_TOKEN uudecode SetToken
exec $*
5.15. Integrating external queuing systems
ParaStation can be easily integrated with batch queuing and scheduling systems. In this case, the queuing system will decide, where (and when) to run a parallel task. ParaStation will then start, monitor and terminate the task. In case of higher prioritized jobs, the batch system may also suspend a task using the ParaStation signal forwarding.
Integration is done by setting up ParaStation environment variables, like PSI_HOSTFILE. ParaStation itself need not be modified in any way. It is not necessary to use a remote shell (rsh) to start mpirun on the first node of the selected partition. The batch system should only run the command on the same node where the batch system is running, ParaStation will start all necessary processes on the remote nodes. For details about spawning processes refer to ParaStation5 User's Guide.
24 | ParaStation5 Administrator's Guide |