Active Messages: simple, fast, and flexible communication David E. Culler Computer Science Division --- EECS University of California, Berkeley, CA 94720 culler@cs.Berkeley.edu Active Messages is a simple communication primitive that makes the full capabilities of modern MPP communication hardware available to user-level parallel programming system. The implementation on the CM-5 and nCUBE/2 exhibits an order of magnitude less overhead than the send/receive model for which the machines were designed. Its flexibility has been demonstrated by realizations of shared memory, message passing, dataflow and various hybrid models on the same machine. The simplicity of Active Messages comes about by separating complex storage management and scheduling from basic communication. The higher level programming system or communication library can layer the additional functionality that it requires or it can seek to exploit frequently occurring simple cases. We are currently developing Active Messages on other platforms and less robust networks.