Preempt Lower Priority Work without Work Loss

The grid scheduler dispatches the next highest priority job from the waiting queues. It is not aware of future higher priority work and thus makes the best decision with the information at hand. When a subsequent higher priority job is submitted, there are two options: either queue the high priority work until a slot becomes available, or preempt (kill) the lower priority job to make way. Neither option is optimal - either the high priority work is delayed or the work accomplished to date by the low priority job is lost.

SmartSuspend adds a third option that enables immediate dispatch of the high priority job without losing the low priority job's work to date. Depending on the grid's dynamic mix, SmartSuspend improves grid utilization by 10% or greater.

SmartSuspend enables the lower priority job to be suspended - put into a comatose state - such that hardware resources (CPU, memory, etc.) and licenses are made available to run the higher priority job. The low priority job is resumed - awoken - when no more high priority jobs require the hardware and license resources. SmartSuspend seamlessly integrates with popular queuing systems such as LSF and SGE to provide this value with little or no end-user impact except to achieve better grid throughput.