MECHANISM TO SUPPORT GENERIC COLLECTIVE COMMUNICATION ACROSS A VARIETY OF PROGRAMMING MODELS
First Claim
1. A system for supporting collective communications on a plurality of processors that use different parallel programming paradigms, comprising:
- a schedule module operable to define one or more tasks in a collective operation;
an executor module operable to execute said one or more tasks;
a multisend module operable to perform one or more data transfer functions in said one or more tasks;
a connection manager operable to control one or more connections and identify an available connection,the multisend module further operable to use the available connection in performing the one or more data transfer functions; and
a language adaptor operable to interface at least to the multisend module,wherein a plurality of processors that use different parallel programming paradigms can use a common implementation of the schedule module, the executor module, the connection manager and the multisend module via the language adaptor specific to a parallel programming paradigm.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for supporting collective communications on a plurality of processors that use different parallel programming paradigms, in one aspect, may comprise a schedule defining one or more tasks in a collective operation an executor that executes the task, a multisend module to perform one or more data transfer functions associated with the tasks, and a connection manager that controls one or more connections and identifies an available connection. The multisend module uses the available connection in performing the one or more data transfer functions. A plurality of processors that use different parallel programming paradigms can use a common implementation of the schedule module, the executor module, the connection manager and the multisend module via a language adaptor specific to a parallel programming paradigm implemented on a processor.
-
Citations
20 Claims
-
1. A system for supporting collective communications on a plurality of processors that use different parallel programming paradigms, comprising:
-
a schedule module operable to define one or more tasks in a collective operation; an executor module operable to execute said one or more tasks; a multisend module operable to perform one or more data transfer functions in said one or more tasks; a connection manager operable to control one or more connections and identify an available connection, the multisend module further operable to use the available connection in performing the one or more data transfer functions; and a language adaptor operable to interface at least to the multisend module, wherein a plurality of processors that use different parallel programming paradigms can use a common implementation of the schedule module, the executor module, the connection manager and the multisend module via the language adaptor specific to a parallel programming paradigm. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of supporting collective communications on a plurality of processors that use different parallel programming paradigms, comprising:
-
receiving an application call invoking a collective operation from a processor via a language adaptor; creating a schedule defining one or more tasks in a collective operation; creating a executor for executing said one or more tasks; and invoking a multisend operation to perform a communication tasks associated with said one or more tasks. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method of supporting collective communications on a plurality of processors that use different parallel programming paradigms, comprising:
-
receiving a plurality of application calls invoking a collective operation from a plurality of processors using different parallel programming language, each of the plurality of application calls being received via a language adaptor specific to a parallel programming language implemented in a processor; for each of the plurality of application calls, creating a schedule defining one or more tasks in a collective operation associated with an application call; creating a executor for executing said one or more tasks; and invoking a multisend operation to perform a communication tasks associated with said one or more tasks.
-
-
18. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method of supporting collective communications on a plurality of processors that use different parallel programming paradigms, comprising:
-
receiving an application call invoking a collective operation from a processor via a language adaptor; creating a schedule defining one or more tasks in a collective operation; creating a executor for executing said one or more tasks; and invoking a multisend operation to perform a communication tasks associated with said one or more tasks. - View Dependent Claims (19, 20)
-
Specification