SHARED ADDRESS COLLECTIVES USING COUNTER MECHANISMS
First Claim
1. A device for communication in message passing interface applications with multiple processes running on a compute node connected to a global network of compute nodes, comprising:
- a shared address space on a compute node, operable to store data coming in from a network and data to be written out to the network, wherein the shared address space includes an application buffer that can be directly operated upon by a plurality of processes; and
a shared counter operable to be used for one or more of signaling arrival of the data across the plurality of processes running on the compute node, signaling completion of an operation performed by one or more of the plurality of processes, obtaining reservation slots by one or more of the plurality of processes, or combinations thereof.
1 Assignment
0 Petitions
Accused Products
Abstract
A shared address space on a compute node stores data received from a network and data to transmit to the network. The shared address space includes an application buffer that can be directly operated upon by a plurality of processes, for instance, running on different cores on the compute node. A shared counter is used for one or more of signaling arrival of the data across the plurality of processes running on the compute node, signaling completion of an operation performed by one or more of the plurality of processes, obtaining reservation slots by one or more of the plurality of processes, or combinations thereof.
41 Citations
25 Claims
-
1. A device for communication in message passing interface applications with multiple processes running on a compute node connected to a global network of compute nodes, comprising:
-
a shared address space on a compute node, operable to store data coming in from a network and data to be written out to the network, wherein the shared address space includes an application buffer that can be directly operated upon by a plurality of processes; and a shared counter operable to be used for one or more of signaling arrival of the data across the plurality of processes running on the compute node, signaling completion of an operation performed by one or more of the plurality of processes, obtaining reservation slots by one or more of the plurality of processes, or combinations thereof. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A collective communication method for message passing interface applications with multiple processes running on a compute node, comprising:
-
receiving data from a global network for performing a collective operation; writing the data directly into an application buffer of a core on a compute node receiving the data, the application buffer being in shared address space; signaling using a shared counter of the received data; and in response to the signaling, copying the data directly from the application buffer to a plurality of cores on the compute node different from the core receiving the data. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer readable storage medium storing a program of instructions executable by a machine to perform a collective communication method for message passing interface applications with multiple processes running on a compute node, comprising:
-
receiving data from a global network for performing a collective operation; writing the data directly into an application buffer of a core on a compute node receiving the data, the application buffer being in shared address space; signaling using a shared counter of the received data; and in response to the signaling, copying the data directly from the application buffer to a plurality of cores on the compute node different from the core receiving the data. - View Dependent Claims (22, 23, 24, 25)
-
Specification