Issue No. 02 - April-June (1997 vol. 5)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/4434.588291
To benefit from the low latencies offered by recent user-level communication architectures, message-processing overhead must be minimized. This requirement has led to the development of message-handling models that trade expressiveness for performance. This article describes three models of increasing expressiveness. Active messages, the least expressive model, disallow all blocking in message handlers, which complicates programming if messages arrive asynchronously and message handlers need to synchronize with other threads. The single-threaded upcall model allows blocking in some cases. It is thus more expressive than active messages, but not as expressive as the last model, popup threads, which puts no restrictions on message handlers. The authors have implemented all three models on the same user-level communication architecture. The implementation carefully integrates thread management and message handling. Using this integrated system, the more expressive models perform almost as well as the active messages, indicating that expressiveness need not be sacrificed for performance.
R. Bhoedjang, K. Langendoen and H. Bal, "Models for Asynchronous Message Handling," in IEEE Concurrency (out of print), vol. 5, no. , pp. 28-38, 1997.