System and method for processor thread allocation using delay-costs
AssigneeInternational Business Machines Corporation
InventorPeter A. Franaszek
Life of this patent
Estimating the term…
Abstract
A computer system includes a plurality of multi-threaded processors, and a scheduler. The multi-threaded processors each have a set of hardware threads forming a pool of hardware threads. The scheduler allocates hardware threads of the pool of hardware threads to one or more guest operating systems based on priorities of the guest operating systems. The priorities of the guest operating systems are based on logical processors requested by the guest operating systems.
Claims13
A computer system, comprising:
- a plurality of multi-threaded processors, the multi-threaded processors each having a set of hardware threads forming a pool of hardware threads;
- a plurality of guest operating systems GOS, wherein each GOS requests a number of logical processors that represents a requested number of the hardware threads, and each GOS presents a price for an assignment of nominal processing power;
- and
- a scheduler to (i) determine generalized costs for each GOS from the corresponding presented price and the corresponding number of requested logical processors, and (ii) schedule at least one of the GOS to be run on an optimal number of the pool of hardware threads,
- wherein the scheduler determines the optimal number based on an optimization of a sum of the generalized costs with respect to a total count of the hardware threads of the pool,
- wherein one of the generalized costs is based on the price presented by the corresponding GOS multiplied by on a speed of processing the corresponding GOS on the number of the pool hardware threads it has requested.
A system for scheduling computing jobs in a computer system, comprising:
- a scheduler to allocate a number of hardware threads from the system to a plurality of computing jobs according to a schedule computed by optimization of an objective function with respect to a total count of hardware threads of the system,
- wherein the objective function is based on a sum of generalized costs, wherein each cost is based on a price presented by a corresponding computing job for an assignment of nominal processing power and a number of logical processors requested by the computing job, each logical processor representing a number of the hardware threads,
- wherein one of the generalized costs is based on the price presented by the corresponding computing job multiplied by a speed of processing the corresponding computing job on the requested number of hardware threads.
A method of scheduling guest operating systems on a computer system, comprising:
- receiving requests for sets of logical processors from a plurality of guest operating systems, wherein each logical processor represents a number of hardware threads;
- determining a delay-cost for each guest operating system based on a price that each guest operating system presents for an assignment of nominal processing power;
- determining a generalized delay-cost for each guest operating system based on the corresponding delay-cost and the number of hardware threads represented by the corresponding requested set of logical processors;
- and
- scheduling one or more of the guest operating systems to be run on hardware threads of a computer system by optimizing a sum of the generalized delay-costs with respect to a total count of the hardware threads of the system,
- wherein one of the generalized delay-costs is based on the price presented by the corresponding guest operating multiplied by a speed of processing the corresponding guest operating system on the requested number of hardware threads.
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for scheduling guest operating systems on a computer system, the method steps comprising:
- receiving requests for sets of logical processors from a plurality of guest operating systems, wherein each logical processor represents a number of hardware threads;
- determining a delay-cost for each guest operating system based on a price that each guest operating system presents for an assignment of nominal processing power;
- determining a generalized delay-cost for each guest operating system based on the corresponding delay-cost and the number of hardware threads represented by the corresponding requested set of logical processors;
- and
- scheduling one or more of the guest operating systems to be run on corresponding hardware threads of a computer system by optimizing a sum of the generalized delay-costs with respect to a total count of the hardware threads of the system,
- wherein one of the generalized delay-costs is based on the price presented by the corresponding guest operating system multiplied by a speed of processing the corresponding guest operating system on the number of the hardware threads it has requested.
Dependencies are inferred from the claim text.