FAST INTERRUPT DISABLING AND PROCESSING IN A PARALLEL COMPUTING ENVIRONMENT
First Claim
Patent Images
1. A method for interrupt disabling and processing by a compute node running a user application in a parallel computing environment, comprising:
- upon entry to a critical section of code, disabling interrupts from being delivered to the user application, wherein the critical section of code includes at least an instruction that modifies a shared memory value;
invoking, by the user application, a call configured to process an asynchronous event; and
upon exit from the critical section of code, re-enabling the delivery of interrupts.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide techniques for protecting critical sections of code being executed in a lightweight kernel environment suited for use on a compute node of a parallel computing system. These techniques avoid the overhead associated with a full kernel mode implementation of a network layer, while also allowing network interrupts to be processed without corrupting shared memory state. In one embodiment, a system call may be used to disable interrupts upon entry to a routine configured to process an event associated with the interrupt.
29 Citations
21 Claims
-
1. A method for interrupt disabling and processing by a compute node running a user application in a parallel computing environment, comprising:
-
upon entry to a critical section of code, disabling interrupts from being delivered to the user application, wherein the critical section of code includes at least an instruction that modifies a shared memory value; invoking, by the user application, a call configured to process an asynchronous event; and upon exit from the critical section of code, re-enabling the delivery of interrupts. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable medium containing a program which, when executed, performs an operation for interrupt disabling and processing by a compute node running a user application in a parallel computing environment, comprising:
-
upon entry to a critical section of code, disabling interrupts from being delivered to the user application, wherein the critical section of code includes at least an instruction that modifies a shared memory value; invoking, by the user application, a call configured to process an asynchronous event; and upon exit from the critical section of code, re-enabling the delivery of interrupts. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a compute node having at least one processor; a memory coupled to the compute node and configured to store, a shared memory data structure and a lightweight kernel; and a user application configured to; upon entry to a critical section of code, disabling interrupts from being delivered to the user application, wherein the critical section of code includes at least an instruction that modifies a shared memory value; invoke a call configured to process an asynchronous event; and upon exit from the critical section of code, re-enable the delivery of interrupts. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification