Priority tasks

When you send input messages, they are used to create tasks.

  • If there are enough CPU slots to compute the tasks, tasks are immediately sent to compute hosts.

  • If there are not enough CPU slots to compute the tasks, tasks remain pending in a dispatch queue according to submission time. Tasks are sent to compute hosts in the order in which they were submitted.

In some cases, when tasks are pending, you may want to have a task jump to the start of the queue and be sent to compute hosts before other tasks. You can do this by specifying that a task has priority.

Running tasks are not preempted for priority tasks.

When one task has priority

You specify that a task has priority when you send the message.

If more than one task in a session is a priority task, subsequently submitted priority tasks jump ahead of pending priority tasks that are still waiting to be sent to compute hosts.

If there are pending tasks, the priority task jumps the queue so that it is sent to a compute host for processing ahead of other tasks in the queue.