message passing

Also found in: Medical, Wikipedia.

message passing

One of the two techniques for communicating between parallel processes (the other being shared memory).

A common use of message passing is for communication in a parallel computer. A process running on one processor may send a message to a process running on the same processor or another. The actual transmission of the message is usually handled by the run-time support of the language in which the processes are written, or by the operating system.

Message passing scales better than shared memory, which is generally used in computers with relatively few processors. This is because the total communications bandwidth usually increases with the number of processors.

A message passing system provides primitives for sending and receiving messages. These primitives may by either synchronous or asynchronous or both. A synchronous send will not complete (will not allow the sender to proceed) until the receiving process has received the message. This allows the sender to know whether the message was received successfully or not (like when you speak to someone on the telephone). An asynchronous send simply queues the message for transmission without waiting for it to be received (like posting a letter). A synchronous receive primitive will wait until there is a message to read whereas an asynchronous receive will return immediately, either with a message or to say that no message has arrived.

Messages may be sent to a named process or to a named mailbox which may be readable by one or many processes.

Transmission involves determining the location of the recipient and then choosing a route to reach that location. The message may be transmitted in one go or may be split into packets which are transmitted independently (e.g. using wormhole routing) and reassembled at the receiver. The message passing system must ensure that sufficient memory is available to buffer the message at its destination and at intermediate nodes.

Messages may be typed or untyped at the programming language level. They may have a priority, allowing the receiver to read the highest priority messages first.

Some message passing computers are the MIT J-Machine, the Illinois Concert Project and transputer-based systems.

Object-oriented programming uses message passing between objects as a metaphor for procedure call.

message passing

Transmitting a message from one computer to another or transferring a message within the computer from one application to another or from the operating system to an application. See MPI.
References in periodicals archive ?
In tests, the team showed that message passing among the cores could be just as speedy using RCCE as with TCP/IP-based Linux cluster.
The Message Passing Interface (MPI) defines how data is transferred among multiple systems running a collection of related programs.
The other approach is message passing, or loose coupling.
FusionIPC handles both bulk data movement and message passing in a small footprint without requiring application involvement.
Any process that needs data that is not in its local memory obtains that data through calls to message passing routines.
MPI-XF combines the utility of Message Passing Interface with powerful communication technology derived from EI's patented Connected Memory Architecture (CMA) and EXtremely Fast Compression (XFC).
A new voluntary standard, the Interoperable Message Passing Interface, eliminates many of those problems.
These devices include a full range of features such as separate byte enables, master reset, mailbox interrupts for port-to-port message passing and an IEEE 1149.
This streamlined workflow avoids the inefficiencies of parallel computing methods that involve low-level programming with languages such as FORTRAN or C and libraries such as the Message Passing Interface (MPI).
Sandia plans to immediately begin testing InfiniBand with the Message Passing Interface (MPI), an interface that is widely used in the high performance computing community and will enable a large segment of applications to leverage the benefits of InfiniBand.
The DRC Development System, the DS2000, is the first complete development environment for large clusters using Opteron CPUs, DRC RPUs, and the Message Passing Interface (MPI) environment to emulate arrays of mixed processing elements.
WulfKit, the server clustering system developed by Dolphin Interconnect Solutions, now provides Message Passing Interface (MPI) communication libraries for server clusters based on the Intel Itanium 2 processor.

Full browser ?