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, comprising:
- defining a minimum processor share and a maximum processor share for each executable process;
- allocating a share of total processor time to each executable process in proportion to the minimum processors share up to the maximum processor share to form a plurality of target share allocations;
- and
- mapping the plurality of executable processes to the plurality of physical processors based on the target share allocations.
A method of assigning a plurality of executable processes to a plurality of physical processors in a multi-processor computer system, comprising:
- defining a minimum processor share and a maximum processor share for each executable process;
- calculating a scaling ratio equal to the total processor time divided by a sum of the minimum processor shares;
- determining a plurality of preliminary share allocations by scaling the minimum processor shares by the scaling ratio;
- 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 is defined for each executable;
- an optimizer configured to determine a plurality of target share allocations for the plurality of executables based on proportionally scaling the minimum processor shares 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.