Allocating computer processes to processor cores as a function of process utilizations
First Claim
Patent Images
1. A computer system comprising:
- an operating system instance;
plural multi-core processors, each of said multi-core processors being an integrated circuit with plural processor cores, each of said cores being configured to execute processes assigned by said operating system instance;
a utilization monitor to track respective per-core utilizations of said processor cores by computer processes and to compile a utilization history;
allocation policies to generate a plan specifying how processes are to be allocated to said processor cores at least in part as a function of said utilization history; and
a workload manager to implement said plan, wherein said workload manger allocates said processes to processor cores so that the processes with highest expected per-core utilizations are allocated to respective cores on a first processor while processes with lowest expected per-core utilizations are allocated to respective processor cores on a second processor which is set at a lower-power active state than is said first processor.
3 Assignments
0 Petitions
Accused Products
Abstract
Computer processes are allocated among cores of a multi-core multi-processor system at least in part as a function of utilization histories of the processes.
-
Citations
14 Claims
-
1. A computer system comprising:
-
an operating system instance; plural multi-core processors, each of said multi-core processors being an integrated circuit with plural processor cores, each of said cores being configured to execute processes assigned by said operating system instance; a utilization monitor to track respective per-core utilizations of said processor cores by computer processes and to compile a utilization history; allocation policies to generate a plan specifying how processes are to be allocated to said processor cores at least in part as a function of said utilization history; and a workload manager to implement said plan, wherein said workload manger allocates said processes to processor cores so that the processes with highest expected per-core utilizations are allocated to respective cores on a first processor while processes with lowest expected per-core utilizations are allocated to respective processor cores on a second processor which is set at a lower-power active state than is said first processor. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
tracking per-core utilization of processor cores by computer processes for plural multi-core processors concurrently executing processes of the same operating system instance, each of said multi-core processors being an integrated circuit with plural processor cores; compiling a utilization history for said processes; and allocating said computer processes to said processor cores as a function of said utilization history and allocation policies, and wherein after said allocating a maximum variance of expected per-core utilization among processor cores of the same processor among all processors is less than a variance of average per-core utilization across processors. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer product comprising non-transitory computer-readable media encoded with a program of computer-executable instructions configured for, when executed by a processor:
-
tracking per-core utilization of processor cores by computer processes for plural multi-core processors executing processes of the same operating system instance; compiling a utilization history for said processes; and allocating said processes to said processor cores as a function of said utilization history and allocation policies, wherein said program is further configured to allocate said processes so that a maximum variance of expected per-core utilization among same processor cores among all processors is less than a variance of average per-core utilization across processors. - View Dependent Claims (12, 13, 14)
-
Specification