Patent ID: 8578386

Claim:
A method of scheduling a request for execution on one or more processors, comprising: dividing processes from the request into a set of domains where processes in the same domain are executable in a serial manner on a processor without conflict; identifying a relative processor utilization for each domain from the set of the domains based upon a workload corresponding to an execution of the request; provisioning a subset of available processors to fulfill an aggregate processor utilization created from a combination of the relative processor utilization associated with each domain from the set of domains, shutting down any remaining processors from the one or more processors not provisioned in the subset of available processors in order to reduce power consumption while the processes in the set of domains are scheduled for execution; assigning a base cost in each domain corresponding to a relative processor utilization in each domain that increases when at least one process in a selected domain cannot execute in conjunction with processes from another domain due to conflicts; scheduling at least one process from a more costly domain to one or more processors for subsequent execution; and scheduling at least one process selected from a set of lower cost domains to one or more processors for execution that will be subsequent to the at least one process from the more costly domain.