Application-based control of hardware resource allocation
First Claim
1. A method of allocating hardware resources for an application program configured to execute in a computer of the type having a resource allocation manager configured to manage hardware resources organized into a plurality of nodes, wherein each node includes processor and memory hardware resources, the method comprising:
- in the application program, specifying a home node preference and a node strength preference for the application program;
in response to a request to create a thread for the application program, setting a home node for the thread from among the plurality of nodes using the home node preference, and setting a node strength for the thread based upon the node strength preference; and
in response to a request to dispatch the thread;
dispatching the thread to a processor resource in the home node for the thread if the home node has an available processor resource;
waiting to dispatch the thread to a processor resource in the home node for the thread if the home node does not have an available processor resource and the node strength for the thread is strong; and
dispatching the thread to a processor resource in a node other than the home node for the thread if the home node does not have an available processor resource and the node strength for the thread is weak.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus, program product and method in which application program-specified resource allocation and allocation strength preferences are used to allocate hardware resources from a computer for that application program. The resource allocation preference is used to allocate hardware resources for the application program, while the allocation strength preference is used to determine whether to allocate alternate hardware resources when the resource allocation preference specified by the application program cannot be met.
99 Citations
40 Claims
-
1. A method of allocating hardware resources for an application program configured to execute in a computer of the type having a resource allocation manager configured to manage hardware resources organized into a plurality of nodes, wherein each node includes processor and memory hardware resources, the method comprising:
-
in the application program, specifying a home node preference and a node strength preference for the application program;
in response to a request to create a thread for the application program, setting a home node for the thread from among the plurality of nodes using the home node preference, and setting a node strength for the thread based upon the node strength preference; and
in response to a request to dispatch the thread;
dispatching the thread to a processor resource in the home node for the thread if the home node has an available processor resource;
waiting to dispatch the thread to a processor resource in the home node for the thread if the home node does not have an available processor resource and the node strength for the thread is strong; and
dispatching the thread to a processor resource in a node other than the home node for the thread if the home node does not have an available processor resource and the node strength for the thread is weak. - View Dependent Claims (2, 3, 4)
-
-
5. A method of allocating hardware resources for an application program, the method comprising:
-
in the application program, specifying a resource allocation preference for use in allocating hardware resources for the application program, and specifying an allocation strength preference for use in determining whether to allocate alternate hardware resources when the resource allocation preference specified by the application program cannot be met; and
using the resource allocation preference and allocation strength preference specified by the application program to allocate a selected hardware resource for the application program. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus, comprising:
-
a computer including a plurality of hardware resources; and
program code resident in the computer and configured to use a resource allocation preference and an allocation strength preference for an application program to allocate a selected hardware resource for the application program, wherein the resource allocation preference and the allocation strength preference are specified by the application program, wherein the resource allocation preference is used to allocate hardware resources for the application program, and wherein the allocation strength preference is used to determine whether to allocate alternate hardware resources when the resource allocation preference specified by the application program cannot be met. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34)
-
-
35. A program product, comprising:
-
program code configured to manage a plurality of hardware resources in a computer by using a resource allocation preference and an allocation strength preference for an application program to allocate a selected hardware resource for the application program, wherein the resource allocation preference and the allocation strength preference are specified by the application program, wherein the resource allocation preference is used to allocate hardware resources for the application program, and wherein the allocation strength preference is used to determine whether to allocate alternate hardware resources when the resource allocation preference specified by the application program cannot be met; and
a signal bearing medium bearing the program code. - View Dependent Claims (36)
-
-
37. A method of allocating hardware resources in a computer, the method comprising:
-
during creation of a thread, inheriting at least one of a resource allocation preference and an allocation strength preference associated with an existing thread in the computer, wherein the resource allocation preference is used for allocating hardware resources in the computer, and wherein the allocation strength preference is used for determining whether to allocate alternate hardware resources when a resource allocation preference cannot be met; and
using the resource allocation preference and allocation strength preference associated with the created thread to allocate a selected hardware resource for the created thread. - View Dependent Claims (38, 39, 40)
-
Specification