a computing system configured to handle preemption events in an environment having jobs with high and low priorities . the system includes a job queue configured to receive job requests from users , the job queue storing the jobs in an order based on the priority of the jobs , and indicating whether a job is a high priority job or a low priority job . the system also includes a plurality of node clusters , each node cluster including a plurality of nodes and a scheduler coupled to the job queue and to the plurality of node clusters and configured to assign jobs from the job queue to the plurality of node clusters . the scheduler is configured to preempt a first low priority job running in a first node cluster with a high priority job that appears in the job queue after the low priority job has started and , in the event that a second low priority job from the job queue may run on a portion of the plurality of nodes in the first node cluster during a remaining processing time for the high priority job , backfill the second low priority job into the portion of the plurality of nodes and , in the event a second high priority job is received in the job queue and may run on the portion of the plurality of nodes , return the second low priority job to the job queue .