CLAM: Connection-less, Lightweight, and Multiway Communication Support for Distributed Computing
A number of factors motivate and favor the implementation of communication protocols in user-space. There is a particularly strong motivation for the provision of scalable, multiway and connectionless transport for distributed computing, multimedia, and conferencing applications. This is also true of high speed networking, where it is beneficial to keep the OS kernel out of the critical path in communication. User-space protocol implementations may hold the key to optimal functionality and performance. We describe the Connectionless, Lightweight and Multiway (CLAM) communications system which provides efficient and scalable user-space support for distributed applications requiring multiple protocols. The system supports heterogeneous networked applications with irregular or asynchronous communication patterns and multimodal data. We focus on motivating and describing the CLAM architecture and present some experimental results that evaluate an specific protocol module inside this architecture.