This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Parallel Communication in a Large Distributed Environment
March 1990 (vol. 39 no. 3)
pp. 328-348

The evolution of MultiRPC, a parallel remote procedure call mechanism implemented in Unix is described. Parallelism is obtained from the concurrency of processing on servers and from the overlapping of retransmissions and timeouts. Each of the parallel calls retains the semantics and functionality of the standard remote procedure calls. The underlying communication medium need not support multicast or broadcast transmissions. An analytic model of the system is derived and validated. The experimental observations demonstrate the feasibility of using MultiRPC to contact up to 100 servers in parallel.

[1] A.D. Birrell et al., "Grapevine: An Exercise in Distributed Computing,"Comm. ACM, Apr. 1982, pp. 260-274.
[2] A. D. Birrell and B. J. Nelson, "Implementing remote procedure calls,"ACM Trans. Comp. Syst., vol. 2, no. 1, pp. 39-59, Feb. 1984.
[3] W. A. Burkhard, B. E. Martin, and J. Paris, "The Gemini replicated file system test-bed," inProc. Third Int. Conf. Data Eng., Feb. 1987, pp. 441-448.
[4] D. R. Cheriton and W. Zwaenepoel, "Distributed process groups in the V kernel,"ACM Trans. Comput. Syst., vol. 3, no. 2, pp. 77-107, May 1985.
[5] E. C. Cooper, "Replicated distributed programs," inProc. 10th ACM Symp. Oper. Syst. Principles; inOper. Syst. Rev., vol. 19, no. 5, pp. 63-80, Dec. 1985.
[6] Defense Advanced Research Projects Agency, Information Processing Techniques Office, RFC 791: Internet Program Protocol Specification, Sept. 1981.
[7] Defense Advanced Research Projects Agency, Information Processing Techniques Office, RFC 768: User Datagram Protocol Specification, Sept. 1981.
[8] Defense Advanced Research Projects Agency Information Processing Techniques Office, RFC 793; Transmission Control Protocol Specification, 1981.
[9] M. P. Herlihy, "A quorum-consensus replication method for abstract data types,"ACM Trans. Comput. Syst., vol. 4, no. 1, Feb. 1986.
[10] J. Jones, R. Rashid, and M. Thompson, "Matchmaker: An interface specification language for distributed processing," inProc. 12th ACM Symp. Principles of Programming Languages, Jan. 1985, pp. 225-235.
[11] B. Liskov, T. Bloom, D. Gifford, R. Scheifler, and W. E. Weihl, "Communication in the Mercury system," inProc. Twenty-First Annu. Hawaii Int. Conf. Syst. Sci., Jan. 1988.
[12] B. Martin, "Parallel remote procedure call language reference and user's guide," Comput. Syst. Res. Group, Univ. of California, San Diego, CA 1986.
[13] J. H. Morriset al., "Andrew: a distributed personal computing environment,"Commun. ACM, vol. 29, no. 3, Mar. 1986.
[14] J. Rosenberg, L. Raper, D. Nichols, and M. Satyanarayanan, "LWP manual," Inform. Technol. Cent., CMU-ITC-037, 1985.
[15] J. Sansilo and M. S. Squillante, "An RPC/LWP system for interconnecting heterogeneous systems," inProc. USENIX Tech. Conf., Dallas, TX, Feb. 1988.
[16] M. Satyanarayan,et al., The ITC distributed file system: Principles and design," inProc. 10th Symp. Operating System Principles, Orcas Island, WA, Dec. 1985, pp. 35-50.
[17] M. Satyanarayanan, "RPC2 user's manual," Inform. Technol. Cent., CMU-ITC038, 1986.
[18] A. Spector, "Performing remote operations efficiently on a local computer network,"Commun. ACM. vol. 25, no. 4, pp. 246-260, Apr. 1982.
[19] Sun Microsystems, Inc., "Networking on the sun workstation," May 15, 1985.

Index Terms:
multicast transmissions; large distributed environment; MultiRPC; parallel remote procedure call mechanism; Unix; concurrency; servers; retransmissions; timeouts; semantics; functionality; communication medium; broadcast transmissions; file servers; network operating systems; parallel programming; Unix.
Citation:
M. Satyanarayanan, E.H. Siegel, "Parallel Communication in a Large Distributed Environment," IEEE Transactions on Computers, vol. 39, no. 3, pp. 328-348, March 1990, doi:10.1109/12.48864
Usage of this product signifies your acceptance of the Terms of Use.