Guide: Priority Job Queuing

How to prioritize jobs to override the CryoSPARC scheduler's default behaviour.

Overview

As of v3.0.0+, CryoSPARC jobs have a priority property that the CryoSPARC scheduler uses to sort jobs to be executed. The priority is sorted in descending order, meaning jobs with higher priority will get queued first. When the scheduler encounters jobs that have the same priority, it will sort the jobs based on the time they entered the queue in ascending order.

If an administrator of your CryoSPARC instance has enabled access for you to modify the priority of a job (more on that below), you can set the priority when you queue a job via the Queue Modal. The priority of a job must be between 0-100.

Access & Default Priorities

When you create a new job in CryoSPARC, the priority value is automatically set using the default user and instance priority values. The default user job priority will take precedence; if it is not set, the default instance priority is used instead. If neither are set, the default priority is 0. You can manage both default priority values and whether a user can set them or not in the Admin Panel.

Manage Access to Modify Job Priority

In the admin panel, administrators can enable and disable users from being able to modify the priority value of a job using the "Job Priority Management" column. Click on the "Able to modify"/"Unable to modify" button to change this value. Enabling this will allow users to see the "Job Priority" input box in the Queue Modal.

Default User Priorities

You can set the default user priority by entering a value in the "User Default Job Priority" column. This value will be used by default whenever the user creates a job.

Default Instance Priorities

You can set the default instance priority by entering a value in the "Update Default Job Priority" input box. This will update the default job priority for all users in the instance. This value will be used if a user doesn't have their own default job priority set.

Inspect Priorities of Your Jobs

You can view the priority of your jobs in several places. The easiest place to see it is in the Resource Manager, under the "Current Jobs" tab.

You can also find the priority of jobs that previously ran in the "Job History" tab, under the "Priority" column.

When you select a job, you can also view its priority by looking at the Job Details panel on the right.

The final place you can find the priority of a job is in the job card's "Metadata" tab.

CryoSPARC Live Session Priority

CryoSPARC Live sessions also leverage the priority value. Any jobs created by the Live Session (CryoSPARC Live GPU Worker jobs, Streaming 2D Classification jobs, Ab-Initio Reconstruction jobs, Streaming Refinement jobs, etc.) will inherit the priority that was set for the Session.

By default, when you create a Session, the default priority set will follow the same method as when you create a new job: first, the user default will be used, then the instance default if a user default doesn't exist.

You can change the priority of a session by changing the "Priority" value in the Configuration tab in CryoSPARC Live.

Last updated