Process assignment to physical processors using minimum and maximum processor shares
AssigneeHewlett-Packard Development Company, L.P.
InventorScott Rhine
Life of this patent
Estimating the term…
Abstract
A system and method is provided for assigning a plurality of executable processes to a plurality of physical processors in a multi-processor computer system using a minimum processor share and a maximum processor share defined for each executable process. In an embodiment, the method can include allocating shares of total processor time to each executable process in proportion to the minimum processor shares up to the maximum processor shares to form target share allocations. The target share allocations can be used to map processes to the physical processors.
Claims22
A method of assigning a plurality of executable processes to a plurality of physical processors in a multi-processor computer system, each of said executable processes having a minimum share and a maximum share of processor time from the plurality of physical processors they are allocated, a sum of the minimum processor shares being less than a total processor time of the plurality of physical processors, said method comprising:
- determining respective target share allocations by scaling the minimum processor shares by a scaling ratio corresponding to the total processor time of the plurality of physical processors divided by a sum of the minimum processor shares of the plurality of executable processes;
- and
- mapping the plurality of executable processes to the plurality of physical processors based on the respective target share allocations.
A method of assigning a plurality of executable processes to a plurality of physical processors in a multi-processor computer system, each of said processes having a minimum share and a maximum share of processor time from the plurality of physical processors they are allocated, a sum of the minimum processor shares being less than a total processor time of the plurality of physical processors, said method comprising:
- determining a plurality of preliminary share allocations by scaling up the minimum processor shares by a scaling ratio corresponding to the total processor time of the plurality of physical processors divided by a sum of the minimum processor shares of the plurality of executable processes;
- determining an excess by which the preliminary share allocations exceed the maximum processor shares on a per process basis;
- and
- redistributing the excess to processes which have not reached their maximum share allocation;
- and
- mapping the plurality of executable processes to the plurality of physical processors based on the target share allocations.
A multi-processor computer system comprising:
- a plurality of N processors;
- a plurality of M executables, wherein a minimum processor share and a maximum processor share of processor time is defined for each executable from the plurality of N processors they are allocated;
- an optimizer configured to determine respective target share allocations by scaling the minimum processor shares by a scaling ratio corresponding to the total processor time of the plurality of N processors divided by a sum of the minimum processor shares of the plurality of M executables while limiting the target share allocations by the maximum processor shares;
- and
- a scheduler configured to assign each of the plurality of executables to at least one of the plurality of processors based on the plurality of target share allocations.
Dependencies are inferred from the claim text.