Parallel Programming Using Shared Objects and Broadcasting

A.S. Tanenbaum, M.F. Kaashoek, H.E. Bal

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

The two major design approaches taken to build distributed and parallel computer systems, multiprocessing and multicomputing, are discussed. A model that combines the best properties of both multiprocessor and multicomputer systems, easy-to-build hardware, and a conceptually simple programming model is presented. Using this model, a programmer defines and invokes operations on shared objects, the runtime system handles reads and writes on these objects, and the reliable broadcast layer implements indivisible updates to objects using the sequencing protocol. The resulting system is easy to program, easy to build, and has acceptable performance on problems with a moderate grain size in which reads are much more common than writes. Orca, a procedural language whose sequential constructs are roughly similar to languages like C or Modula 2 but which also supports parallel processes and shared objects and has been used to develop applications for the prototype system, is described.
Original languageEnglish
Pages (from-to)10-19
Number of pages10
JournalComputer
Volume25
Issue number8
DOIs
Publication statusPublished - 1992

Fingerprint

Parallel programming
Broadcasting
Computer systems
Hardware
Network protocols

Cite this

@article{28b742633c40447abace959aa2b57be8,
title = "Parallel Programming Using Shared Objects and Broadcasting",
abstract = "The two major design approaches taken to build distributed and parallel computer systems, multiprocessing and multicomputing, are discussed. A model that combines the best properties of both multiprocessor and multicomputer systems, easy-to-build hardware, and a conceptually simple programming model is presented. Using this model, a programmer defines and invokes operations on shared objects, the runtime system handles reads and writes on these objects, and the reliable broadcast layer implements indivisible updates to objects using the sequencing protocol. The resulting system is easy to program, easy to build, and has acceptable performance on problems with a moderate grain size in which reads are much more common than writes. Orca, a procedural language whose sequential constructs are roughly similar to languages like C or Modula 2 but which also supports parallel processes and shared objects and has been used to develop applications for the prototype system, is described.",
author = "A.S. Tanenbaum and M.F. Kaashoek and H.E. Bal",
year = "1992",
doi = "10.1109/2.153276",
language = "English",
volume = "25",
pages = "10--19",
journal = "Computer",
issn = "0018-9162",
publisher = "IEEE",
number = "8",

}

Parallel Programming Using Shared Objects and Broadcasting. / Tanenbaum, A.S.; Kaashoek, M.F.; Bal, H.E.

In: Computer, Vol. 25, No. 8, 1992, p. 10-19.

Research output: Contribution to JournalArticleAcademicpeer-review

TY - JOUR

T1 - Parallel Programming Using Shared Objects and Broadcasting

AU - Tanenbaum, A.S.

AU - Kaashoek, M.F.

AU - Bal, H.E.

PY - 1992

Y1 - 1992

N2 - The two major design approaches taken to build distributed and parallel computer systems, multiprocessing and multicomputing, are discussed. A model that combines the best properties of both multiprocessor and multicomputer systems, easy-to-build hardware, and a conceptually simple programming model is presented. Using this model, a programmer defines and invokes operations on shared objects, the runtime system handles reads and writes on these objects, and the reliable broadcast layer implements indivisible updates to objects using the sequencing protocol. The resulting system is easy to program, easy to build, and has acceptable performance on problems with a moderate grain size in which reads are much more common than writes. Orca, a procedural language whose sequential constructs are roughly similar to languages like C or Modula 2 but which also supports parallel processes and shared objects and has been used to develop applications for the prototype system, is described.

AB - The two major design approaches taken to build distributed and parallel computer systems, multiprocessing and multicomputing, are discussed. A model that combines the best properties of both multiprocessor and multicomputer systems, easy-to-build hardware, and a conceptually simple programming model is presented. Using this model, a programmer defines and invokes operations on shared objects, the runtime system handles reads and writes on these objects, and the reliable broadcast layer implements indivisible updates to objects using the sequencing protocol. The resulting system is easy to program, easy to build, and has acceptable performance on problems with a moderate grain size in which reads are much more common than writes. Orca, a procedural language whose sequential constructs are roughly similar to languages like C or Modula 2 but which also supports parallel processes and shared objects and has been used to develop applications for the prototype system, is described.

U2 - 10.1109/2.153276

DO - 10.1109/2.153276

M3 - Article

VL - 25

SP - 10

EP - 19

JO - Computer

JF - Computer

SN - 0018-9162

IS - 8

ER -