Utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer
First Claim
1. A method of utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer, the compute node comprising a kernel processing core and a plurality of parallel application processing cores, the kernel processing core comprising a plurality of kernel administration hardware threads, each application processing core comprising a plurality of hardware threads, wherein the plurality of kernel administration hardware threads and the plurality of hardware threads are implemented using identical hardware, the method comprising:
- assigning to the kernel administration hardware thread when the kernel administration hardware thread is not being utilized at a particular time, by a kernel executing on the kernel processing core, a memory space of a hardware thread of one of the application processing cores;
in response to the assignment of the kernel administration hardware thread to the memory space of the hardware thread of one of the application processing cores, advancing, by the kernel administration hardware thread, the hardware thread to a next memory space associated with the hardware thread, wherein the advancing of the hardware thread to the next memory space is carried out by updating a register value such that the hardware thread does not execute within the assigned memory space and instead executes next instruction within the next memory space; and
wherein the hardware thread of the one of the application processing cores is advanced without advancing code corresponding to an instruction that the one of the application processing cores is currently executing so that the hardware thread of the one of the application processing cores is not disrupted; and
executing, by the kernel administration hardware thread, an instruction previously assigned to be executed by the hardware thread within the assigned memory space.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatuses, and computer program products for utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer are provided. Embodiments include a kernel assigning a memory space of a hardware thread of an application processing core to a kernel administration hardware thread of a kernel processing core. A kernel administration hardware thread is configured to advance the hardware thread to a next memory space associated with the hardware thread in response to the assignment of the kernel administration hardware thread to the memory space of the hardware thread. Embodiments also include the kernel administration hardware thread executing an instruction within the assigned memory space.
-
Citations
14 Claims
-
1. A method of utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer, the compute node comprising a kernel processing core and a plurality of parallel application processing cores, the kernel processing core comprising a plurality of kernel administration hardware threads, each application processing core comprising a plurality of hardware threads, wherein the plurality of kernel administration hardware threads and the plurality of hardware threads are implemented using identical hardware, the method comprising:
-
assigning to the kernel administration hardware thread when the kernel administration hardware thread is not being utilized at a particular time, by a kernel executing on the kernel processing core, a memory space of a hardware thread of one of the application processing cores; in response to the assignment of the kernel administration hardware thread to the memory space of the hardware thread of one of the application processing cores, advancing, by the kernel administration hardware thread, the hardware thread to a next memory space associated with the hardware thread, wherein the advancing of the hardware thread to the next memory space is carried out by updating a register value such that the hardware thread does not execute within the assigned memory space and instead executes next instruction within the next memory space; and wherein the hardware thread of the one of the application processing cores is advanced without advancing code corresponding to an instruction that the one of the application processing cores is currently executing so that the hardware thread of the one of the application processing cores is not disrupted; and executing, by the kernel administration hardware thread, an instruction previously assigned to be executed by the hardware thread within the assigned memory space. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer, the compute node comprising a kernel processing core and a plurality of parallel application processing cores, the kernel processing core comprising a plurality of kernel administration hardware threads, each application processing core comprising a plurality of hardware threads, wherein the plurality of kernel administration hardware threads and the plurality of hardware threads are implemented using identical hardware, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that when executed by the computer processor cause the apparatus to carry out the steps of:
-
assigning to the kernel administration hardware thread when the kernel administration hardware thread is not being utilized at a particular time, by a kernel executing on the kernel processing core, a memory space of a hardware thread of one of the application processing cores; in response to the assignment of the kernel administration hardware thread to the memory space of the hardware thread of one of the application processing cores, advancing, by the kernel administration hardware thread, the hardware thread to a next memory space associated with the hardware thread, wherein the advancing of the hardware thread to the next memory space is carried out by updating a register value such that the hardware thread does not execute within the assigned memory space and instead executes next instruction within the next memory space; and wherein the hardware thread of the one of the application processing cores is advanced without advancing code corresponding to an instruction that the one of the application processing cores is currently executing so that the hardware thread of the one of the application processing cores is not disrupted; and executing, by the kernel administration hardware thread, an instruction previously assigned to be executed by the hardware thread within the assigned memory space. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product embodied in a computer readable storage medium, wherein the computer readable storage medium is not a signal, for utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer, the compute node comprising a kernel processing core and a plurality of parallel application processing cores, the kernel processing core comprising a plurality of kernel administration hardware threads, each application processing core comprising a plurality of hardware threads, wherein the plurality of kernel administration hardware threads and the plurality of hardware threads are implemented using identical hardware, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that when executed cause a computer to carry out the steps of:
-
assigning to the kernel administration hardware thread when the kernel administration hardware thread is not being utilized at a particular time, by a kernel executing on the kernel processing core, a memory space of a hardware thread of one of the application processing cores; in response to the assignment of the kernel administration hardware thread to the memory space of the hardware thread of one of the application processing cores, advancing, by the kernel administration hardware thread, the hardware thread to a next memory space associated with the hardware thread, wherein the advancing of the hardware thread to the next memory space is carried out by updating a register value such that the hardware thread does not execute within the assigned memory space and instead executes next instruction within the next memory space; and wherein the hardware thread of the one of the application processing cores is advanced without advancing code corresponding to an instruction that the one of the application processing cores is currently executing so that the hardware thread of the one of the application processing cores is not disrupted; and executing, by the kernel administration hardware thread, an instruction previously assigned to be executed by the hardware thread within the assigned memory space. - View Dependent Claims (12, 13, 14)
-
Specification