Implementing Distributed Algorithms using Remote Procedure Call

H.E. Bal, R. van Renesse, A.S. Tanenbaum

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

27 Downloads (Pure)


Remote procedure call (RPC) is a simple yet powerful primitiv~ for communication and synchronization between distributed processes. A problem with RPC is that it tends to decrease the amount of parallelism in an application due to its synchronous nature. This paper shows how light-weight processes can be used to circumvent this problem. The combination of blocking RPC calls and light-weight processes provides both simple semantics and efficient exploitation of parallelism. The communication primitive of the Amoeba Distributed Operating System is
based on this combination. We describe how two important classes of algorithms, branch-and-bound and alpha-beta search, can be run in a parallel way using this primitive. The results of some experiments comparing these algorithms on a single processor and on Amoeba are also discussed.
Original languageEnglish
Title of host publicationProceedings of the AFIPS National Computer Conference
Place of PublicationReston, Virginia
Number of pages7
ISBN (Print)0-88283-051-1
Publication statusPublished - 1987


Dive into the research topics of 'Implementing Distributed Algorithms using Remote Procedure Call'. Together they form a unique fingerprint.

Cite this