1. A method comprising: creating, in a process executing on a computer system, a scheduler comprising: a plurality of local collections having a corresponding local collection of tasks for each processing resource of a plurality of processing resources allocated to the scheduler and including a first corresponding local collection associated with a first one of the plurality of processing resources; and at least one general collection of tasks including a first task, detecting that the first task has become unblocked by a second task executing on the first one of a plurality of processing resources; and assigning the first task to the first corresponding local collection.