This Article 
 Bibliographic References 
 Add to: 
The CLAM Approach to Multithreaded Communication on Shared-Memory Multiprocessors: Design and Experiments
January 1998 (vol. 9 no. 1)
pp. 36-49

Abstract—We present results on the experimental design and development of a Connectionless, Lightweight, and Multiway (CLAM) communications environment. The system provides efficient and scalable multiprotocol support for distributed applications that use multimodal data. We present motivation behind design decisions for the CLAM system, and describe two simple, but effective scheduling algorithms for the simultaneous support of multiple, threads-based user-space protocols. One algorithm is readily portable to shared-memory multiprocessors, and enables two or more protocols to coexist within an OS-level process. We present experimental results on the performance of both algorithms.

[1] V. Sunderam, J. Dongarra, A. Geist, and R Manchek, “The PVM Concurrent Computing System: Evolution, Experiences, and Trends,” Parallel Computing, vol. 20, no. 4, pp. 531–547, , 1994.
[2] R. Butler and E. Lusk, “Monitors, Message, and Clusters: The p4 Parallel Programming System,” Parallel Computing, vol. 20, pp. 547-564, Apr. 1994.
[3] MPI: A Message-Passing Interface Standard. Message Passing Interface Forum, May 1994.
[4] P. Pierce, "The NX Message Passing Interface," Parallel Computing, vol. 20, no. 4, pp. 463-480, Apr. 1994.
[5] V. Bala,J. Bruck,R. Bryant,R. Cypher,P. deJong,P. Elustondo,D. Frye,A. Ho,C.T. Ho,G. Irwin,S. Kipnis,R. Lawrence,, and M. Snir,“The IBM external user interface for scalable parallel systems,” Parallel Computing, vol. 20, no. 4, pp. 445-462, Apr. 1994.
[6] T. Agerwala, J. Martin, J. Mirza, D. Sadler, D. Dias, and M. Snir, “SP2 System Architecture,” IBM Systems J., vol. 34, no. 2,pp. 153–184, 1995.
[7] A. Ferrari and V. Sunderam, "TPVM: Distributed Concurrent Computing with Lightweight Processes," Fourth IEEE Int'l Symp. High Performance Distributed Computing, Aug. 1995.
[8] I. Foster, C. Kesselman, and S. Tuecke, "The Nexus Approach to Integrating Multithreading and Communication," to be published in J. Parallel and Distributed Computing.
[9] H. Zhou and A. Geist, "LPVM: A Step Towards Multithreaded PVM," technical report, Oak Ridge Nat'l Laboratory, 1995.
[10] E. Mascarenhas, F. Knop, and V. Rego, "ParaSol: A Multi-Threaded System for Parallel Simulation Based on Mobile Threads," Proc. Winter Simulation Conf., pp. 690-697, 1995.
[11] J. Postel, "User Datagram Protocol," Technical Report RFC-768, Aug. 1980.
[12] G. Wright and R. Stevens, TCP/IP Illustrated, vol. 2, chap. 15-16. Addison Wesley, 1995.
[13] E. Mascarenhas and V. Rego, "Ariadne: Architecture of a Portable Threads System Supporting Thread Migration," Software-Practice and Experience, vol. 26, no. 3, pp. 327-357, Mar. 1996.
[14] E. Mascarenhas and V. Rego, "Migrant Threads on Process Farms: Parallel Programming with Ariadne," Technical Report CSD-TR 95-081, Purdue Univ., 1997. to appear Concurrency-Practice and Experience.
[15] J. Gomez, V. Rego, and V. Sunderam, "On Tailoring Thread Schedules in Protocol Design: Experimental Results," Technical Report TR 96-018, Purdue Univ., 1996.
[16] J.C. Gomez, V. Rego, and V.S. Sunderam, "Efficient Multithreaded User-Space Transport for Network Computing: Design and Test of the TRAP Protocol," J. Parallel and Distributed Computing, vol. 40, no. 1, pp. 103-117, Jan. 1997.
[17] J.H. Saltzer, D.P. Reed, and D.D. Clark, "End-to-End Arguments in System Design," ACM Trans. Computer Systems, vol. 2, no. 4, Nov. 1984, pp. 277-288.
[18] H. Eriksson, "MBONE: The Multicast Backbone," Comm. ACM, Aug. 1994, pp. 54-60.
[19] D. Clark, "An Alternative Protocol Implementation," technical report, Computer Laboratory, Cambridge, Mass., May 1982.
[20] D. Clark, "Modularity and Efficiency in Protocol Implementation," Technical Report RFC-817, July 1982.
[21] C. Thekkath, T. Nguyen, E. Moy, and E. Lazoswka, "Implementing Network Protocols at User Level," IEEE/ACM Trans. Networking, vol. 1, no. 15, Oct. 1993.
[22] J. Mogul, R Rashid, and M. Accetta, "The Packet Filter: An Efficient Mechanism for User Level Network Code," 11th ACM Symp. Operating System Principles, pp. 39-51, Nov. 1987.
[23] A. Davis, M. Swanson, and M. Parker, "Efficient Communication Mechanisms for Cluster Based Parallel Computing," technical report, Univ. of Utah, 1996.
[24] R. Minnich, D. Burns, and F. Hady, "The Memory-Integrated Network Interface," IEEE Micro, vol. 15, no. 1, pp. 11-20, Feb. 1995.
[25] R.W. Horst, "TNet: A Reliable System Area Network," IEEE Micro, Feb. 1994, pp. 37-45.
[26] M. Blumrich et al., "Virtual-Memory Mapped Network Interfaces," IEEE Micro, Feb. 1995, pp. 21-28.
[27] J. Gomez, V. Rego, and V. Sunderam, "CLAM: Connectionless, Lightweight, and Multiway Communication Support for Distributed Computing," Lecture Notes in Computer Science: Communication and Architectural Support for Network-Based Parallel Computing, pp. 227-240. Springer-Verlag, 1997.
[28] IEEE, Standard for Distributed Interactive Simulation-Application Protocols. IEEE Standards Dept., 1995.
[29] M. Bjorkman and P. Gunningberg, "Locking Effects in Multiprocessor Implementation of Protocols," Proc. SIGCOMM, pp. 74-83,Ithaca, N.Y., 1993.
[30] M. Kaiserwerth, "The Parallel Protocol Engine," IEEE/ACM Trans. Networking, vol. 1, no. 6, Dec. 1993.
[31] T. von Eicken, "Active Messages: An Efficient Communication Architecture for Multiprocessors," PhD thesis, Univ. of California, Berkeley, 1993.
[32] J. Gomez and V. Rego, "TRAM: A Transaction-Oriented Reliable and Multipoint Protocol for Multiway Communication," report in preparation.
[33] R. Pasquini and V. Rego, "Distributed Services with SHOW," report in preparation.
[34] D. Yau and S. Lam, "Migrating Sockets for Networking with Quality of Service Guarantees," Technical Report TR-97-05, Univ. of Texas at Austin, 1997.

Index Terms:
User-level protocols, threads, scheduling, message-passing, multimedia, shared-memory, multiprocessor.
Juan Carlos Gomez, Edward Mascarenhas, Vernon Rego, "The CLAM Approach to Multithreaded Communication on Shared-Memory Multiprocessors: Design and Experiments," IEEE Transactions on Parallel and Distributed Systems, vol. 9, no. 1, pp. 36-49, Jan. 1998, doi:10.1109/71.655241
Usage of this product signifies your acceptance of the Terms of Use.