|
Article ID: 571
Last updated: 08 Jul, 2020
TEMPORARY NOTICE: The sky_wide queue on Electra's Skylake nodes has been disabled until further notice in order to process high-priority wide jobs.
The sky_wide queue is intended to help you run very wide ("at scale") jobs on Electra's Skylake nodes by ensuring that at least once a week, the jobs in the queue will have enough available nodes to run. Job requests submitted to the sky_wide queue must specify between 576 and 1,152 Skylake nodes (between 25% and 50% of the total number of Skylake nodes, which is currently 2,304). The maximum wall time is currently 5 days. Submitting Your Job to the sky_wide QueueYou can submit jobs to the queue each week. Jobs submitted to the queue by Thursday at 5:00 p.m. (Pacific Time) are scheduled to run starting the following Monday at 10:00 a.m. PBS runs the jobs one at a time, prioritized by job size; wider jobs are run before those requesting fewer nodes. When it is your job's turn to run, a reservation is created for the number of nodes requested, plus a few extra nodes. The job is then moved from the sky_wide queue into the reservation's queue, where it starts running. If the job fails early, you can submit a replacement job to the reservation queue without losing your place in line. Eventually, the queue will go idle or the reservation will expire, and the next job will be selected. Important: Jobs submitted to the sky_wide queue after Thursday at 5:00 p.m. (Pacific Time) will not be scheduled to run the following Monday; rather, they will carry over to the next week. Sample Job Submission ScriptThe following sample script includes several instructions. Each line is described below the script.
Job SubmissionThe first two lines request the sky_wide queue and submit your job:
Wall Time RequestThis line specifies how much wall time the job needs. Keep in mind that if the job fails, you can submit a replacement job, but its wall time must fit within the time remaining from the original job. By specifying a maximum and minimum useful wall time in the original job script, you can use the same script, unedited, for the replacement job. The sample script requests a total of 24 hours of time, and any replacement job will not run unless at least 5.5 hours of wall time remain:
Note: This technique, a PBS feature known as shrink-to-fit, is described in the article Running Jobs Before Dedicated Time. NotificationIf there are several jobs in the sky_wide queue, your job might not be the first to run. You can tell PBS to send you an email notification when your job starts, ends, or aborts, so you'll know whether you need to submit a replacement job:
Additional OptionsPBS automatically adds a few extra nodes to the job reservation, beyond the number of nodes in the request, in case nodes fail during the run. That way, a replacement job will still have enough reserved nodes. The default is 12 nodes. To specify a different value, use site=extra_nodes=nn:
Recommendation: There are four Skylake nodes per blade. Because it is possible for a failing node to take down the whole blade, it makes sense to set aside extra nodes in multiples of four. PBS also adds extra time to each job reservation. The default is 15 minutes. To specify different value, use site=extra_time=nn:
Once your per-job reservation starts, PBS monitors the reservation. If the reservation queue is idle for a set number of minutes, the reservation is terminated early. The default is 30 minutes. To specify a different value, use site=idle_timeout=nn:
To specify multiple site options in one line, separate them by colons (":"), as shown in the sample script:
Note: When you consider these requests, keep in mind that your account is billed for the full number of nodes and for the actual duration of the job reservation. Checking Status of Wide JobsRun the pbs_scale_jobs command, which uses qstat to display the status of jobs submitted to the sky_wide queue. For example:
In this example, the jobs named testing1–3 were submitted before the cutoff time. Jobs testing5 and testing6 were submitted too late for this week's run and will be considered next week. The testing3 job has been moved to its run queue (R3853, in this example). Note that although testing3 was submitted after testing1 and 2, the PBS scheduler runs it first because it uses more nodes than the other jobs. Submitting Replacement JobsReplacement jobs are submitted to the reservation queue associated with the original job, rather than to the sky_wide queue. This queue will have a name like R12345, which changes for each reservation. However, there is an easier way to submit a replacement job to the reservation queue. You can use the queue's alias, which takes the form NAS_job_username (where username is your NAS user name). Also, instead of editing your qsub script to change the queue name when you submit the replacement, you can use the original job script, but override the queue on the command line. For example:
|