Patent ID: 7546592

Claim:
A method of scheduling a set of instructions in a data processing system, the method comprising the computer implemented steps of: reading the set of instructions; providing a data dependency graph comprising a plurality of nodes, wherein each node of the plurality of nodes represents one of a plurality of instructions in the set of instructions; analyzing the data dependency graph to determine whether any constrained resource is identified, wherein a constrained resource comprises a heavily-used resource; responsive to determining that any constrained resource is identified, determining whether any node of the plurality of nodes uses a constrained resource; responsive to determining that any node of the plurality of nodes uses a constrained resource, designating any node of the plurality of nodes that uses a constrained resource as being in a subset of nodes, wherein nodes of the subset of nodes comprise resource-constrained nodes; and performing a scheduling attempt with the nodes of the subset of nodes scheduled with priority with respect to any nodes of the plurality of nodes that are not included in the subset of nodes, wherein the nodes of the subset of nodes are scheduled prior to any nodes of the plurality of nodes that are not included in the subset of nodes.