1. A computer-implemented method for assigning a compute task to a first processor included in a plurality of processors, the method comprising: analyzing each compute task in a plurality of compute tasks to identify one or more compute tasks that are eligible for assignment to the first processor, wherein each compute task is listed in a first table and is associated with a priority value and an allocation order that indicates a time at which the compute task was added to the first table; selecting a first compute task from the identified one or more compute tasks based on at least one of the priority value and the allocation order; and assigning the first compute task to the first processor for execution.