Active message
Encyclopedia
An Active message is a messaging object capable of performing processing on its own. This contrasts with traditional computer-based messaging systems in which messages are passive entities with no processing power.
and flexibility of modern computer interconnects. They are often classified as one of the three main types of distributed memory programming, the other two being data parallel and message passing
. The view is that Active Messages are actually a lower-level mechanism that can be used to implement data parallel or message passing efficiently.
The basic idea is that each message has a header containing the address of a userspace handler to be executed upon message arrival, with the contents of the message passed as an argument to the handler. Because the address of the handler must be known when composing the message, this mechanism is restricted to the SPMD
programming model.
Other versions of active messages carry the actual code itself, not a pointer to the code. The message typically carries some data. On arrival at the receiving end, more data is acquired, and the computation is performed (or, rather, the computation in the active message is performed, making use of data in the message as well as data in the receiving node. This form of active messaging is not restricted to SPMD
, although originator and receiver must share some notions as to what data can be accessed at the receiving node.
Distributed Memory Programming
Active messages are communications primitive for exploiting the full performanceComputer performance
Computer performance is characterized by the amount of useful work accomplished by a computer system compared to the time and resources used.Depending on the context, good computer performance may involve one or more of the following:...
and flexibility of modern computer interconnects. They are often classified as one of the three main types of distributed memory programming, the other two being data parallel and message passing
Message passing
Message passing in computer science is a form of communication used in parallel computing, object-oriented programming, and interprocess communication. In this model, processes or objects can send and receive messages to other processes...
. The view is that Active Messages are actually a lower-level mechanism that can be used to implement data parallel or message passing efficiently.
The basic idea is that each message has a header containing the address of a userspace handler to be executed upon message arrival, with the contents of the message passed as an argument to the handler. Because the address of the handler must be known when composing the message, this mechanism is restricted to the SPMD
SPMD
In computing, SPMD is a technique employed to achieve parallelism; it is a subcategory of MIMD. Tasks are split up and run simultaneously on multiple processors with different input in order to obtain results faster. SPMD is the most common style of parallel programming...
programming model.
Other versions of active messages carry the actual code itself, not a pointer to the code. The message typically carries some data. On arrival at the receiving end, more data is acquired, and the computation is performed (or, rather, the computation in the active message is performed, making use of data in the message as well as data in the receiving node. This form of active messaging is not restricted to SPMD
SPMD
In computing, SPMD is a technique employed to achieve parallelism; it is a subcategory of MIMD. Tasks are split up and run simultaneously on multiple processors with different input in order to obtain results faster. SPMD is the most common style of parallel programming...
, although originator and receiver must share some notions as to what data can be accessed at the receiving node.
Sources and external links
- http://www.tc.cornell.edu/Services/Education/Topics/Parallel/Distributed/+6.3+Active+Messages.htm