Network Queuing System (NQS)
Interactive and background jobs are strongly discouraged on ESI batch machines (though exceptions are made for compiling and debugging). Instead jobs should be submitted in batch mode via NQS from a frontend machine. Relevant commands are:
- qstat -ad to see jobs which are currently running or waiting in the queues.
- qsub -q QUEUE SCRIPT to submit a shell script “SCRIPT” to the queue “QUEUE”.
- qdel -k 3901.esi21@esirs to kill the job number 3901 submitted from esi21 but queued on esirs.
- qacct -u usager -S -a MONTH/DAY lists the total CPU time used by the user since the specified date.
Note that you must add /usr/local/bin to your default UNIX path in order to access these commands. Sample scripts are:
- sample script 1 (too simple).
- sample script 2 (parallelized task).
- sample script 3 (one of the right ways to do things).
More information about these commands may be obtained from the on-line manual. The queues are listed on the main page for the ESI network. In writing appropriate NQS scripts, please note that it is important that jobs run on the batch machines maximize performance. Since performance is lost by transfering files across disk boundaries, the standard operating procedure for running jobs on our batch machines is to
- Create a subdirectory in /UDEM/disques/tmp/login, where “login” is the users login name (call this new subdirectory “mydir” for the sake of illustration).
- Copy input and executable to /UDEM/disques/tmp/login/mydir.
- Run the program, making sure that all output files are written to /UDEM/disques/tmp/login/mydir.
- Copy any output files you would like to save to another directory (such as /UDEM/disques/chims1/login).
- Empty and remove /UDEM/disques/tmp/login.
Note that users should never use /tmp as scratch directory. Instead /UDEM/disques/tmp/login should be used.