A Distributed Implementation of the Shared Data-object Model

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

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

Abstract

The shared data-object model is designed to ease the implementation of parallel applications on loosely coupled distributed systems. Unlike most other models for distributed programming (e.g., RPC), the shared data-object model allows processes on different machines to share data. Such data are encapsulated in data-objects, which are instances of user-defined abstract data types. The shared data-object model forms the basis of a new language for distributed programming, Orca, which gives linguistic support for parallelism and data-objects. A distributed implementation of the shared data-object model should take care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate objects in order to decrease access times to objects and increase parallelism.
The intent of this paper is to show that, for several applications, the proposed model is both easy to use and efficient. We first give a brief description of the shared data-object model and Orca. Next, we describe one of several existing implementations of Orca. This implementation replicates all objects on all processors and updates replicas through a reliable broadcast protocol. We describe all three layers of this implementation: the Orca compiler, the Orca run time system, and the reliable broadcast protocol. Finally, we report on our experiences in using this implementation. We describe three parallel applications written in Orca and give performance measurements for them. We also compare these figures with those of a nondistributed (shared-memory) implementation of Orca. The measurements show that significant speedups can be obtained for all three applications.
Original languageEnglish
Title of host publicationProceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems
Place of PublicationBerkely, CA
PublisherUSENIX
Pages1-19
Publication statusPublished - 1989

Fingerprint

Abstract data types
Data storage equipment
Linguistics

Cite this

Bal, H. E., Kaashoek, M. F., & Tanenbaum, A. S. (1989). A Distributed Implementation of the Shared Data-object Model. In Proceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems (pp. 1-19). Berkely, CA: USENIX.
Bal, H.E. ; Kaashoek, M.F. ; Tanenbaum, A.S. / A Distributed Implementation of the Shared Data-object Model. Proceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems. Berkely, CA : USENIX, 1989. pp. 1-19
@inproceedings{cf9480d3f57d4788a69d88eb8a60dd3e,
title = "A Distributed Implementation of the Shared Data-object Model",
abstract = "The shared data-object model is designed to ease the implementation of parallel applications on loosely coupled distributed systems. Unlike most other models for distributed programming (e.g., RPC), the shared data-object model allows processes on different machines to share data. Such data are encapsulated in data-objects, which are instances of user-defined abstract data types. The shared data-object model forms the basis of a new language for distributed programming, Orca, which gives linguistic support for parallelism and data-objects. A distributed implementation of the shared data-object model should take care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate objects in order to decrease access times to objects and increase parallelism.The intent of this paper is to show that, for several applications, the proposed model is both easy to use and efficient. We first give a brief description of the shared data-object model and Orca. Next, we describe one of several existing implementations of Orca. This implementation replicates all objects on all processors and updates replicas through a reliable broadcast protocol. We describe all three layers of this implementation: the Orca compiler, the Orca run time system, and the reliable broadcast protocol. Finally, we report on our experiences in using this implementation. We describe three parallel applications written in Orca and give performance measurements for them. We also compare these figures with those of a nondistributed (shared-memory) implementation of Orca. The measurements show that significant speedups can be obtained for all three applications.",
author = "H.E. Bal and M.F. Kaashoek and A.S. Tanenbaum",
year = "1989",
language = "English",
pages = "1--19",
booktitle = "Proceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems",
publisher = "USENIX",

}

Bal, HE, Kaashoek, MF & Tanenbaum, AS 1989, A Distributed Implementation of the Shared Data-object Model. in Proceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems. USENIX, Berkely, CA, pp. 1-19.

A Distributed Implementation of the Shared Data-object Model. / Bal, H.E.; Kaashoek, M.F.; Tanenbaum, A.S.

Proceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems. Berkely, CA : USENIX, 1989. p. 1-19.

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

TY - GEN

T1 - A Distributed Implementation of the Shared Data-object Model

AU - Bal, H.E.

AU - Kaashoek, M.F.

AU - Tanenbaum, A.S.

PY - 1989

Y1 - 1989

N2 - The shared data-object model is designed to ease the implementation of parallel applications on loosely coupled distributed systems. Unlike most other models for distributed programming (e.g., RPC), the shared data-object model allows processes on different machines to share data. Such data are encapsulated in data-objects, which are instances of user-defined abstract data types. The shared data-object model forms the basis of a new language for distributed programming, Orca, which gives linguistic support for parallelism and data-objects. A distributed implementation of the shared data-object model should take care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate objects in order to decrease access times to objects and increase parallelism.The intent of this paper is to show that, for several applications, the proposed model is both easy to use and efficient. We first give a brief description of the shared data-object model and Orca. Next, we describe one of several existing implementations of Orca. This implementation replicates all objects on all processors and updates replicas through a reliable broadcast protocol. We describe all three layers of this implementation: the Orca compiler, the Orca run time system, and the reliable broadcast protocol. Finally, we report on our experiences in using this implementation. We describe three parallel applications written in Orca and give performance measurements for them. We also compare these figures with those of a nondistributed (shared-memory) implementation of Orca. The measurements show that significant speedups can be obtained for all three applications.

AB - The shared data-object model is designed to ease the implementation of parallel applications on loosely coupled distributed systems. Unlike most other models for distributed programming (e.g., RPC), the shared data-object model allows processes on different machines to share data. Such data are encapsulated in data-objects, which are instances of user-defined abstract data types. The shared data-object model forms the basis of a new language for distributed programming, Orca, which gives linguistic support for parallelism and data-objects. A distributed implementation of the shared data-object model should take care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate objects in order to decrease access times to objects and increase parallelism.The intent of this paper is to show that, for several applications, the proposed model is both easy to use and efficient. We first give a brief description of the shared data-object model and Orca. Next, we describe one of several existing implementations of Orca. This implementation replicates all objects on all processors and updates replicas through a reliable broadcast protocol. We describe all three layers of this implementation: the Orca compiler, the Orca run time system, and the reliable broadcast protocol. Finally, we report on our experiences in using this implementation. We describe three parallel applications written in Orca and give performance measurements for them. We also compare these figures with those of a nondistributed (shared-memory) implementation of Orca. The measurements show that significant speedups can be obtained for all three applications.

M3 - Conference contribution

SP - 1

EP - 19

BT - Proceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems

PB - USENIX

CY - Berkely, CA

ER -

Bal HE, Kaashoek MF, Tanenbaum AS. A Distributed Implementation of the Shared Data-object Model. In Proceedings of the 1st USENIX Workshop on Experiences with Distributed and Multiprocessor Systems. Berkely, CA: USENIX. 1989. p. 1-19