How can I get faster HPC Queue times

Job queues are a way of optimizing access to a shared resource (in this case computing time). The larger your job is, the harder it will be to fit into a schedule with other jobs.

There are three things you should consider when scheduling a job:

  1. Are you asking for more processors than needed? Different nodes on the cluster have different numbers of available processors, so if you’re asking for a large number of processors you may be limiting the number of nodes on which your job could possibly run.
  2. Are you asking for more processing time than is needed? To avoid having the job terminated prematurely it is easy to just pick an amount of time well in excess of what you expect the run to take. Doing so, though, makes your job less “competitive” to the scheduler’s algorithm. Try to pick a request run time that is “just enough”.
  3. Are you specifying a particular queue that is very much in demand? Queues have been established for specialized resources. If you’re requesting a specialized queue without needing that particular resources you could be unnecessarily limiting the number of nodes that could service your request.