Lightweight remote procedure call
ACM Transactions on Computer Systems (TOCS)
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)
Protocol service decomposition for high-performance networking
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Virtual memory mapped network interface for the SHRIMP multicomputer
ISCA '94 Proceedings of the 21st annual international symposium on Computer architecture
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
U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
High performance messaging on workstations: Illinois fast messages (FM) for Myrinet
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Early experience with message-passing on the SHRIMP multicomputer
ISCA '96 Proceedings of the 23rd annual international symposium on Computer architecture
Virtual-Memory-Mapped Network Interfaces
IEEE Micro
Software Support for Virtual Memory-Mapped Communication
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
High-performance local area communication with fast sockets
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
The Raincore API for Clusters of Networking Elements
IEEE Internet Computing
Shrimp Project Update: Myrinet Communication
IEEE Micro
WINSYM'98 Proceedings of the 2nd conference on USENIX Windows NT Symposium - Volume 2
Hi-index | 0.00 |
The SHRIMP project at Princeton University supports user-level communication between processes by mapping memory pages between virtual address spaces. This virtual memory-mapped network interface seems to have many advantages including flexible user-level communication, and very low overhead to initiate data transfers. In this work we examine two implementations of RPC and sockets for the SHRIMP multicomputer that deliver to user applications almost raw hardware performance. We achieve high performance by taking advantage of the features of the underlying SHRIMP architecture. SHRIMP provides low-latency, user-level communication, without imposing any buffer management semantics, and without requiring an interrupt for each message. This allows packages like our RPC and sockets libraries to customize their buffer management and control transfer strategies to optimize performance.