Patent ID: 8732712

Claim:
A method, comprising: receiving, by a computing device, a scheduling specification for an irregular algorithm, the scheduling specification representing a scheduling policy encoded according to a scheduler specification syntax, wherein receiving comprises receiving at least one ordering rule, wherein the at least one ordering rule specifies a total order for processing a plurality of items, wherein receiving the at least one ordering rule comprises receiving a sequentially composed ordering rule; and synthesizing, by the computing device, a scheduler for executing the irregular algorithm based on the scheduling specification, wherein synthesizing comprises implementing the at least one ordering rule by defining one or more workset objects, a workset object of the one or more workset objects having an addition method, a first poll method, and a second poll method, wherein the addition method comprises a definition for adding an item to the workset object, the first poll method comprises a definition for returning (i) a null value distinct from all items added to the workset object and (ii) a first item being previously added to the workset object in response to invocation of the addition method, and the second poll method comprises a definition for returning (a) the null value only when the workset object is empty and (b) a second item being previously added to the workset object in response to invocation of the addition method, and further wherein concurrent execution of the second poll method and an invocation of a disparate method is avoided, and invocation of the second poll method is avoided when a pending invocation of a method is present.