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

Abstract

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
PublisherAFIPS
Pages499-505
Number of pages7
ISBN (Print)0-88283-051-1
Publication statusPublished - 1987

Fingerprint

Parallel algorithms
Communication
Synchronization
Semantics
Experiments

Cite this

Bal, H. E., van Renesse, R., & Tanenbaum, A. S. (1987). Implementing Distributed Algorithms using Remote Procedure Call. In Proceedings of the AFIPS National Computer Conference (pp. 499-505). Reston, Virginia: AFIPS.
Bal, H.E. ; van Renesse, R. ; Tanenbaum, A.S. / Implementing Distributed Algorithms using Remote Procedure Call. Proceedings of the AFIPS National Computer Conference. Reston, Virginia : AFIPS, 1987. pp. 499-505
@inproceedings{7c8c1182ab1a43cb98fe5958b754b69f,
title = "Implementing Distributed Algorithms using Remote Procedure Call",
abstract = "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 isbased 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.",
author = "H.E. Bal and {van Renesse}, R. and A.S. Tanenbaum",
year = "1987",
language = "English",
isbn = "0-88283-051-1",
pages = "499--505",
booktitle = "Proceedings of the AFIPS National Computer Conference",
publisher = "AFIPS",

}

Bal, HE, van Renesse, R & Tanenbaum, AS 1987, Implementing Distributed Algorithms using Remote Procedure Call. in Proceedings of the AFIPS National Computer Conference. AFIPS, Reston, Virginia, pp. 499-505.

Implementing Distributed Algorithms using Remote Procedure Call. / Bal, H.E.; van Renesse, R.; Tanenbaum, A.S.

Proceedings of the AFIPS National Computer Conference. Reston, Virginia : AFIPS, 1987. p. 499-505.

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

TY - GEN

T1 - Implementing Distributed Algorithms using Remote Procedure Call

AU - Bal, H.E.

AU - van Renesse, R.

AU - Tanenbaum, A.S.

PY - 1987

Y1 - 1987

N2 - 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 isbased 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.

AB - 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 isbased 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.

M3 - Conference contribution

SN - 0-88283-051-1

SP - 499

EP - 505

BT - Proceedings of the AFIPS National Computer Conference

PB - AFIPS

CY - Reston, Virginia

ER -

Bal HE, van Renesse R, Tanenbaum AS. Implementing Distributed Algorithms using Remote Procedure Call. In Proceedings of the AFIPS National Computer Conference. Reston, Virginia: AFIPS. 1987. p. 499-505