Method and apparatus for dynamic optimization of connection establishment and message progress processing in a multifabric MPI implementation
First Claim
Patent Images
1. A method comprising:
- maintaining a first count of a number of connections expected to be established over a plurality of heterogeneous communication fabrics;
maintaining an indicator of connections established over a one of the plurality of fabrics;
attempting to establish a new connection only if the first count is non-zero; and
attempting to exchange data over the fabric only if the indicator shows that a connection was established.
1 Assignment
0 Petitions
Accused Products
Abstract
Connections are established and data passed over a plurality of heterogeneous communication fabrics by maintaining counts of expected connections and established connections over each fabric, and by attempting to establish a new connection only if a connection is expected, and attempting to exchange data over a fabric only if the number of established connections over the fabric is nonzero. Systems and other embodiments are also described and claimed.
47 Citations
18 Claims
-
1. A method comprising:
-
maintaining a first count of a number of connections expected to be established over a plurality of heterogeneous communication fabrics;
maintaining an indicator of connections established over a one of the plurality of fabrics;
attempting to establish a new connection only if the first count is non-zero; and
attempting to exchange data over the fabric only if the indicator shows that a connection was established. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium containing instructions that, when executed by a processor, cause the processor to perform operations comprising:
-
attempting to establish a connection over a communication fabric if a number of expected connections is greater than zero;
if no connection is established, then iterating over a plurality of different communication fabrics and, for each fabric, polling for data to exchange if a connection has been established over the fabric; and
terminating the iteration if data are successfully exchanged. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
a processor;
a memory;
a plurality of different communication interfaces; and
a subroutine to exchange data over at least one of the plurality of interfaces;
whereinthe system is to communicate with a first peer over a first communication interface and with a second peer over a second communication interface; and
the subroutine services an interface only if a connection has been established over the interface. - View Dependent Claims (16, 17, 18)
-
Specification