Experiences with the Amoeba distributed operating system
Communications of the ACM
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Remote queues: exposing message queues for optimization and atomicity
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
The SPLASH-2 programs: characterization and methodological considerations
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Parallel retrograde analysis on a distributed system
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
The Nexus approach to integrating multithreading and communication
Journal of Parallel and Distributed Computing - Special issue on multithreading for multiprocessors
(R) Efficient Reliable Multicast on MYRINET
ICPP '96 Proceedings of the Proceedings of the 1996 International Conference on Parallel Processing - Volume 3
High-Performance All-Software Distributed Shared Memory
High-Performance All-Software Distributed Shared Memory
High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Panda: a portable platform to support parallel programming languages
Sedms'93 USENIX Systems on USENIX Experiences with Distributed and Multiprocessor Systems - Volume 4
Performance evaluation of the Orca shared-object system
ACM Transactions on Computer Systems (TOCS)
Models for Asynchronous Message Handling
IEEE Parallel & Distributed Technology: Systems & Technology
Platform-Independent Runtime Optimizations Using OpenThreads
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
Prioritizing Network Event Handling in Clusters of Workstations
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
Euro-Par '02 Proceedings of the 8th International Euro-Par Conference on Parallel Processing
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
ACM Transactions on Embedded Computing Systems (TECS)
ToCL: a thread oriented communication library to interface VIA and GM protocols
ICCS'03 Proceedings of the 2003 international conference on Computational science: PartII
Scalable multithreading in a low latency Myrinet cluster
VECPAR'02 Proceedings of the 5th international conference on High performance computing for computational science
Misco: a MapReduce framework for mobile systems
Proceedings of the 3rd International Conference on PErvasive Technologies Related to Assistive Environments
Improving reactivity and communication overlap in MPI using a generic I/O manager
PVM/MPI'07 Proceedings of the 14th European conference on Recent Advances in Parallel Virtual Machine and Message Passing Interface
ARCS'13 Proceedings of the 26th international conference on Architecture of Computing Systems
Hi-index | 0.00 |
Many user-level communication systems receive network messages by polling the network adapter from user space. While polling avoids the overhead of interrupt-based mechanisms, it is not suited for all parallel applications. This paper describes a general-purpose, multithreaded, communication system that uses both polling and interrupts to receive messages. Users need not insert polls into their code; through a careful integration of the user-level communication software with a user-level thread scheduler, the system can automatically switch between polling and interrupts. We have evaluated the performance of this integrated system on Myrinet, using a synthetic benchmark and a number of applications that have very different communication requirements. We show that the integrated system achieves robust performance: in most cases, it performs as well as or better than systems that rely exclusively on interrupts or polling.