Administering connection identifiers for collective operations in a parallel computer
First Claim
1. A method of administering connection identifiers for collective operations in a parallel computer, the method comprising:
- prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘
ConnID’
) utilization buffer does not exceed a predetermined threshold,;
calling the collective operation with a next available ConnID including, atomically;
retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; and
if the value stored in the global ConnID utilization buffer exceeds the predetermined threshold;
repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Administering connection identifiers for collective operations in a parallel computer, including prior to calling a collective operation, determining, by a first compute node of a communicator to receive an instruction to execute the collective operation, whether a value stored in a global connection identifier utilization buffer exceeds a predetermined threshold; if the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold: calling the collective operation with a next available ConnID including retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; and if the value stored in the global ConnID utilization buffer exceeds the predetermined threshold: repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold.
174 Citations
18 Claims
-
1. A method of administering connection identifiers for collective operations in a parallel computer, the method comprising:
-
prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘
ConnID’
) utilization buffer does not exceed a predetermined threshold,;
calling the collective operation with a next available ConnID including, atomically;
retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; andif the value stored in the global ConnID utilization buffer exceeds the predetermined threshold;
repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for administering connection identifiers for collective operations in a parallel computer, the parallel computer having a plurality of compute nodes organized into a communicator, 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 capable of:
-
prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘
ConnID’
) utilization buffer does not exceed a predetermined threshold,;
calling the collective operation with a next available ConnID including, atomically;
retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; andif the value stored in the global ConnID utilization buffer exceeds the predetermined threshold;
repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for administering connection identifiers for collective operations in a parallel computer, the parallel computer having a plurality of compute nodes organized into a communicator, the computer program product disposed in a non-transitory computer readable storage medium, the computer program product comprising computer program instructions capable of:
-
prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘
ConnID’
) utilization buffer does not exceed a predetermined threshold,;
calling the collective operation with a next available ConnID including, atomically;retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; and if the value stored in the global ConnID utilization buffer exceeds the predetermined threshold;
repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification