Thread selection according to predefined power characteristics during context switching on compute nodes
First Claim
1. A method of thread selection for context switching on a plurality of compute nodes, the method comprising:
- executing, by a compute node of the plurality of compute nodes, an application using a plurality of threads of execution, including executing one or more of the threads of execution;
predefining power characteristics for each of the plurality of threads of execution for the application;
selecting, by the compute node from a plurality of available threads of execution for the application, a next thread of execution in dependence upon power characteristics for each of the available threads by determining a current power mode for the compute node while executing a current thread of the application, and selecting, from the available threads of execution, the next thread of execution having predefined power characteristics that are consistent with the current power mode;
determining, by the compute node, whether a criteria for a thread context switch is satisfied; and
performing, by the compute node, the thread context switch if the criteria for a thread context switch are satisfied, including executing the next thread of execution.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus, and products are disclosed for thread selection during context switching on a plurality of compute nodes that includes: executing, by a compute node, an application using a plurality of threads of execution, including executing one or more of the threads of execution; selecting, by the compute node from a plurality of available threads of execution for the application, a next thread of execution in dependence upon power characteristics for each of the available threads; determining, by the compute node, whether criteria for a thread context switch are satisfied; and performing, by the compute node, the thread context switch if the criteria for a thread context switch are satisfied, including executing the next thread of execution.
82 Citations
15 Claims
-
1. A method of thread selection for context switching on a plurality of compute nodes, the method comprising:
-
executing, by a compute node of the plurality of compute nodes, an application using a plurality of threads of execution, including executing one or more of the threads of execution; predefining power characteristics for each of the plurality of threads of execution for the application; selecting, by the compute node from a plurality of available threads of execution for the application, a next thread of execution in dependence upon power characteristics for each of the available threads by determining a current power mode for the compute node while executing a current thread of the application, and selecting, from the available threads of execution, the next thread of execution having predefined power characteristics that are consistent with the current power mode; determining, by the compute node, whether a criteria for a thread context switch is satisfied; and performing, by the compute node, the thread context switch if the criteria for a thread context switch are satisfied, including executing the next thread of execution. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A parallel computer capable of thread selection for context switching on a plurality of compute nodes, the parallel computer comprising the plurality of compute nodes, each of the compute nodes comprising one or more computer processors and computer memory operatively coupled to the computer processors, the computer memory having disposed within it computer program instructions capable of:
-
executing, by a compute node of the plurality of compute nodes, an application using a plurality of threads of execution, including executing one or more of the threads of execution; predefining power characteristics of each of the plurality of threads of execution for the application; selecting, by the compute node from a plurality of available threads of execution for the application, a next thread of execution in dependence upon power characteristics for each of the available threads by determining a current power mode for the compute node while executing a current thread of the application, and selecting, from the available threads of execution, the next thread of execution having predefined power characteristics that are consistent with the current power mode; determining, by the compute node, whether a criteria for a thread context switch is satisfied; and performing, by the compute node, the thread context switch if the criteria for a thread context switch are satisfied, including executing the next thread of execution. - View Dependent Claims (8, 9)
-
-
10. A computer program product for thread selection for context switching on a plurality of compute nodes, the computer program product disposed upon a computer readable recordable medium, wherein the computer readable recordable medium is not a signal, the computer program product comprising computer program instructions capable of:
-
executing, by a compute node of the plurality of compute nodes, an application using a plurality of threads of execution, including executing one or more of the threads of execution; predefining the power characteristics of each of the plurality of threads of execution for the application; selecting, by the compute node from a plurality of available threads of execution for the application, a next thread of execution in dependence upon power characteristics for each of the available threads by determining a current power mode for the compute node while executing a current thread of the application, and selecting, from the available threads of execution, the next thread of execution having predefined power characteristics that are consistent with the current power mode; determining, by the compute node, whether a criteria for a thread context switch is satisfied; and performing, by the compute node, the thread context switch if the criteria for a thread context switch are satisfied, including executing the next thread of execution. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification