Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Limits to low-latency communication on high-speed networks
ACM Transactions on Computer Systems (TOCS)
Separating data and control transfer in distributed operating systems
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Optimistic active messages: a mechanism for scheduling communication with computation
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Remote queues: exposing message queues for optimization and atomicity
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
High performance messaging on workstations: Illinois fast messages (FM) for Myrinet
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Polling watchdog: combining polling and interrupts for efficient message handling
ISCA '96 Proceedings of the 23rd annual international symposium on Computer architecture
High-performance all-software distributed shared memory
High-performance all-software distributed shared memory
Lazy threads: implementing a fast parallel call
Journal of Parallel and Distributed Computing - Special issue on multithreading for multiprocessors
Performance of a high-level parallel language on a high-speed network
Journal of Parallel and Distributed Computing - Special issue on workstation clusters and network-based computing
Assessing Fast Network Interfaces
IEEE Micro
Integrating polling, interrupts, and thread management
FRONTIERS '96 Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation
Friendly and Efficient Message Handling
HICSS '96 Proceedings of the 29th Hawaii International Conference on System Sciences Volume 1: Software Technology and Architecture
An efficient implementation of Java's remote method invocation
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Using the VI architecture to build distributed, multithreaded runtime systems: a case study
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Efficient Java RMI for parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Approach to Asynchronous Object-Oriented Parallel and Distributed Computing on Wide-Area Systems
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
MiMPI: A Multithred-Safe Implementation of MPI
Proceedings of the 6th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Hi-index | 0.00 |
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.