Active Messages Evaluation only!
Thu, 18 May 2000 00:03:23 EDT

Hi Geoff,

Since I had the network exam on Tuesday and will have the compiler final exam tomorrow, I didn't have time to read both of the papers. So I'm sending my evaluation for the one I read only.


-- Sobeeh

Active Messages: a Mechanism for Integrated Communication and Computation

The paper describes the active messages concept that makes the machine load balanced by overlapping the computation with the communication, thus reducing the communication overhead. The traditional approaches, message passing machines and message driven machine, devote most of the hardware resources to either computation or communication. The AM approach balance the use of the resources by extracting the data from the message and integrating it into an ongoing computation.
The blocking send/receive communication is favored for its simplicity since it doesn't require any buffering, however, this approach will not allow the communication and computation to overlap. The non-blocking operations allow this overlap to happen with the expense of managing the buffers ( if the message is not stored in a pre-allocated storage in the user code.
The header of a message sent by the sender in the AM will specify the address of the handler to be invoked on message arrival. The handler job is to only extract the data from the message and integrate it into the ongoing computation with only a small amount of work. The AM requires no buffering in most cases at both sides.
The paper talks about the hardware design issues that supports and enhances AM classified between the network interface and the processor. The only reasonable example that I read that demonstrates their argument is the matrix example. I guess the whole discussion revolves around that type of optimization, but still wasn't clear enough. Most of the details in this paper made it harder to understand the easy concept behind it.

Sobeeh Almukhaizim