Distributed Programming with Shared Data

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

Until recently, at least one thing was clear about parallel programming: shared-memory machines were programmed in a language based on shared variables and distributed machines were programmed using message passing. Recent research on distributed systems and their languages, however, has led to new methodologies that blur this simple distinction. Operating system primitives and languages for programming distributed systems have been proposed that support shared data without the presence of physical shared memory. We will look at the reasons for this evolution, the resemblances and differences among these new proposals, and the key issues in their design and implementation. It turns out that many implementations are based on replication of data. We take this idea one step further, and discuss how automatic replication can be used as a basis for a new model with similar semantics as shared variables. Finally, we discuss a new language, Orca, based on this model. © 1991.
Original languageEnglish
Pages (from-to)129-146
Number of pages18
JournalComputer Languages
Volume16
Issue number2
DOIs
Publication statusPublished - 1991

Fingerprint

Data storage equipment
Parallel programming
Message passing
Semantics

Keywords

  • Distributed systems
  • Programming languages

Cite this

@article{76b5059ed59e48a2a83f3d993a969edd,
title = "Distributed Programming with Shared Data",
abstract = "Until recently, at least one thing was clear about parallel programming: shared-memory machines were programmed in a language based on shared variables and distributed machines were programmed using message passing. Recent research on distributed systems and their languages, however, has led to new methodologies that blur this simple distinction. Operating system primitives and languages for programming distributed systems have been proposed that support shared data without the presence of physical shared memory. We will look at the reasons for this evolution, the resemblances and differences among these new proposals, and the key issues in their design and implementation. It turns out that many implementations are based on replication of data. We take this idea one step further, and discuss how automatic replication can be used as a basis for a new model with similar semantics as shared variables. Finally, we discuss a new language, Orca, based on this model. {\circledC} 1991.",
keywords = "Distributed systems, Programming languages",
author = "H.E. Bal and A.S. Tanenbaum",
year = "1991",
doi = "10.1016/0096-0551(91)90003-R",
language = "English",
volume = "16",
pages = "129--146",
journal = "Computer Languages",
issn = "0096-0551",
publisher = "Pergamon Press Ltd.",
number = "2",

}

Distributed Programming with Shared Data. / Bal, H.E.; Tanenbaum, A.S.

In: Computer Languages, Vol. 16, No. 2, 1991, p. 129-146.

Research output: Contribution to JournalArticleAcademicpeer-review

TY - JOUR

T1 - Distributed Programming with Shared Data

AU - Bal, H.E.

AU - Tanenbaum, A.S.

PY - 1991

Y1 - 1991

N2 - Until recently, at least one thing was clear about parallel programming: shared-memory machines were programmed in a language based on shared variables and distributed machines were programmed using message passing. Recent research on distributed systems and their languages, however, has led to new methodologies that blur this simple distinction. Operating system primitives and languages for programming distributed systems have been proposed that support shared data without the presence of physical shared memory. We will look at the reasons for this evolution, the resemblances and differences among these new proposals, and the key issues in their design and implementation. It turns out that many implementations are based on replication of data. We take this idea one step further, and discuss how automatic replication can be used as a basis for a new model with similar semantics as shared variables. Finally, we discuss a new language, Orca, based on this model. © 1991.

AB - Until recently, at least one thing was clear about parallel programming: shared-memory machines were programmed in a language based on shared variables and distributed machines were programmed using message passing. Recent research on distributed systems and their languages, however, has led to new methodologies that blur this simple distinction. Operating system primitives and languages for programming distributed systems have been proposed that support shared data without the presence of physical shared memory. We will look at the reasons for this evolution, the resemblances and differences among these new proposals, and the key issues in their design and implementation. It turns out that many implementations are based on replication of data. We take this idea one step further, and discuss how automatic replication can be used as a basis for a new model with similar semantics as shared variables. Finally, we discuss a new language, Orca, based on this model. © 1991.

KW - Distributed systems

KW - Programming languages

UR - http://www.scopus.com/inward/record.url?scp=0025894356&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0025894356&partnerID=8YFLogxK

U2 - 10.1016/0096-0551(91)90003-R

DO - 10.1016/0096-0551(91)90003-R

M3 - Article

VL - 16

SP - 129

EP - 146

JO - Computer Languages

JF - Computer Languages

SN - 0096-0551

IS - 2

ER -