Active Messages: A Mechanism for Integrated Communication and Computation

Thorsten von Eicken, David E. Culler, Seth Copen Goldstein, Klaus Erick Schauser, 1992

Original Notes by Yu Zhang, February 19, 1998
Notes revised by ted bonkenburg (tb@cs) and presented 8 April 1999


Highlevel Idea

1. To achieve high performance in large scale multiprocessor machines, computation and communication must be overlapped.
2. This implies that the communication model should be asynchronous.
3. Active Messages is a communication model that is highly supported by the underlying hardware in parallel machines.


Traditional Send/Receive Model

1. Synchronous model: The send blocks until the corresponding receive is executed, only then is data transfered (3-phase protocol) 2. Asynchronous send: The send is non-blocking. The message layer buffers the message until the network port is available. The message will be buffered at the receiver waiting for dispatching.

Active Message (AM)  Model

    Design characteristics:


Implementation of AM on Message-passing Architecture

The CM-5 differs from the nCUBE/2 in a number of ways:

This creates different implementations of AM:

nCUBE/2
  • messages received thru interrupt.
  • packet ordering free
  • additional buffers to avoid deadlock
  • msgs sent w/ kernel trap and DMA
  • Tc = 30us, Tb = 0.45us
CM-5
  • messages recvd by polling then calling handler
  • setup required on receiving end in order to get packet ordering
  • deadlock avoidance thru using one network for requests, other for replies
  • msgs sent by stuffing memory-mapped FIFO queue.
  • Tc = 23us, Tb = 0.12us


Split-C Programming Model

Provides non-blocking remote-memory operations in C (over AM).


Message Driven Architecures -vs- AM

Message Driven Architecture 
  • Role of handler: arbitrary computation which can suspend.
    • dynamic allocation
    • complex scheduling
Active Messages 
  • Role of handler: get the message out of the network and into the ongoing computation of the recipient.
    • buffer only for network transport
    • simple scheduling

TAM ---- Simulating Message Driven Architectures with AM


H/W Support for AM

1. Network Interface:reduce the overhead of composing a msg, esp for small msgs

2. Processor support for msg handlers: