Active Messages: A Mechanism for Integrated Communication and Computation
Top Cited Papers
- 24 August 2005
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 256-266
- https://doi.org/10.1109/isca.1992.753322
Abstract
The design challenge for large-scale multiprocessors is (1) to minimize communication overhead, (2) allow communication to overlap computation, and (3) coordinate the two without sacrificing processor cost/performance. We show that existing message passing multiprocessors have unnecessarily high communication costs. Research prototypes of message driven machines demonstrate low communication overhead, but poor processor cost/performance. We introduce a simple communication mechanism, Active Messages, show that it is intrinsic to both architectures, allows cost effective use of the hardware, and offers tremendous flexibility. Implementations on nCUBE/2 and CM-5 are described and evaluated using a split-phase shared-memory extension to C, Split-C. We further show that active messages are sufficient to implement the dynamically scheduled languages for which message driven machines were designed. With this mechanism, latency tolerance becomes a programming/compiling concern. Hardware support for active messages is desirable and we outline a range of enhancements to mainstream processors.Keywords
This publication has 9 references indexed in Scilit:
- Resource requirements of dataflow programsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Monsoon: an explicit token-store architecturePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- THE PARALLEL PROGRAMMING LANGUAGE Id AND ITS COMPILATION FOR PARALLEL MACHINESInternational Journal of High Speed Computing, 1993
- Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machinePublished by Association for Computing Machinery (ACM) ,1991
- Trap architectures for Lisp systemsPublished by Association for Computing Machinery (ACM) ,1990
- Lightweight remote procedure callACM Transactions on Computer Systems, 1990
- Experience with CST: programming and implementationPublished by Association for Computing Machinery (ACM) ,1989
- Architecture of a message-driven processorPublished by Association for Computing Machinery (ACM) ,1987
- MULTILISP: a language for concurrent symbolic computationACM Transactions on Programming Languages and Systems, 1985