Job Priority Definition
Jobs are sorted into four priority buckets: P0 (highest priority) to P3 (lowest priority). Within each bucket, individual jobs are ranked based on numerical priority values; lower numbers signify higher priority. Scheduling prioritizes jobs based on these values within designated queues.Detailed Workflow
Submitting Jobs with Priority
Users can specify a job priority at submission using--job_priority
with run.py
.
Valid inputs are p1, p2, and p3, corresponding to default values of 199, 299, and 399, respectively. If unspecified, jobs default to P2 (299).
Updating Job Priority
Users can adjust a job’s priority post-submission using Command-Line Interface for Job Monitoring(csctl). There are two ways to implement this:- By Bucket Name: Update using P0, P1, P2, or P3.
- By Priority Value: Directly assign a numerical value within the priority bucket ranges.
Priority rules
- Rule #1: Only admin users and users with the same GID can modify a job’s priority.
- Rule #2: Only admin users can access the P0 bucket (0 to 99).
- Rule #3: Completed jobs cannot have their priorities updated.
Monitoring job priorities
Use csctl to view the priorities of jobs, which aids in understanding the scheduling order and managing workflows effectively. When listing jobs, users will see both priority values and their corresponding buckets, providing clarity on job scheduling order.Priority Continuity
Jobs stemming from the samerun.py
invocation inherit the workflow’s priority. Updating a workflow’s priority affects all associated pending and subsequent jobs, ensuring consistent priority across a workflow.
Usage Enhancements
In addition to allowing users to specify and update job priorities, several other changes enhance the functionality and user experience:Priority column in job listings
Thecsctl
get job command now includes a priority column displaying “bucket-name (priority-value)” for clearer priority visualization.
Job sorting
Jobs are now sorted first by priority and then by age within the csctl get job listings. Higher priority jobs appear first, and among jobs with the same priority, newer jobs are listed before older ones.Enhanced csctl commands
Newcsctl
job commands have been introduced to improve job management. The aim is to consolidate all job-related commands under csctl job, enhancing the command structure and help menu.