Replication Techniques for Speeding up Parallel Applications on Distributed Systems

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

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

Most methods for programming loosely coupled systems are based on message‐passing. Recently, however, methods have emerged based on ‘virtually’ sharing data. These methods simplify distributed programming, but are hard to implement efficiently, as loosely coupled systems do not contain physical shared memory. We introduce a new model, the shared data‐object model, that eases the implementation of parallel applications on loosely coupled systems, but can still be implemented efficiently. In our model, shared data are encapsulated in passive data‐objects, which are variables of user‐defined abstract data types. To speed up access to shared data, data‐objects are replicated. This ability to replicate objects is a significant difference with other object‐based models (e.g. Emerald and Amber). Also, by replicating logical objects rather than physical pages, our model has many advantages over shared virtual memory systems. This paper discusses the design choices involved in replicating objects and their effect on performance. Important issues are: how to maintain consistency among different copies of an object; how to implement changes to objects; which strategy for object replication to use. We have implemented several options to determine which ones are the most efficient. Copyright © 1992 John Wiley & Sons, Ltd
Original languageEnglish
Pages (from-to)337-355
Number of pages19
JournalConcurrency, Practice and Experience
Volume4
Issue number3
DOIs
Publication statusPublished - 1992

Fingerprint

Abstract data types
Amber
Data storage equipment

Cite this

@article{6580646b8dde4cb9ba204fae93fce0d9,
title = "Replication Techniques for Speeding up Parallel Applications on Distributed Systems",
abstract = "Most methods for programming loosely coupled systems are based on message‐passing. Recently, however, methods have emerged based on ‘virtually’ sharing data. These methods simplify distributed programming, but are hard to implement efficiently, as loosely coupled systems do not contain physical shared memory. We introduce a new model, the shared data‐object model, that eases the implementation of parallel applications on loosely coupled systems, but can still be implemented efficiently. In our model, shared data are encapsulated in passive data‐objects, which are variables of user‐defined abstract data types. To speed up access to shared data, data‐objects are replicated. This ability to replicate objects is a significant difference with other object‐based models (e.g. Emerald and Amber). Also, by replicating logical objects rather than physical pages, our model has many advantages over shared virtual memory systems. This paper discusses the design choices involved in replicating objects and their effect on performance. Important issues are: how to maintain consistency among different copies of an object; how to implement changes to objects; which strategy for object replication to use. We have implemented several options to determine which ones are the most efficient. Copyright {\circledC} 1992 John Wiley & Sons, Ltd",
author = "H.E. Bal and M.F. Kaashoek and A.S. Tanenbaum and J. Jansen",
year = "1992",
doi = "10.1002/cpe.4330040502",
language = "English",
volume = "4",
pages = "337--355",
journal = "Concurrency, Practice and Experience",
issn = "1040-3108",
publisher = "John Wiley and Sons Inc.",
number = "3",

}

Replication Techniques for Speeding up Parallel Applications on Distributed Systems. / Bal, H.E.; Kaashoek, M.F.; Tanenbaum, A.S.; Jansen, J.

In: Concurrency, Practice and Experience, Vol. 4, No. 3, 1992, p. 337-355.

Research output: Contribution to JournalArticleAcademicpeer-review

TY - JOUR

T1 - Replication Techniques for Speeding up Parallel Applications on Distributed Systems

AU - Bal, H.E.

AU - Kaashoek, M.F.

AU - Tanenbaum, A.S.

AU - Jansen, J.

PY - 1992

Y1 - 1992

N2 - Most methods for programming loosely coupled systems are based on message‐passing. Recently, however, methods have emerged based on ‘virtually’ sharing data. These methods simplify distributed programming, but are hard to implement efficiently, as loosely coupled systems do not contain physical shared memory. We introduce a new model, the shared data‐object model, that eases the implementation of parallel applications on loosely coupled systems, but can still be implemented efficiently. In our model, shared data are encapsulated in passive data‐objects, which are variables of user‐defined abstract data types. To speed up access to shared data, data‐objects are replicated. This ability to replicate objects is a significant difference with other object‐based models (e.g. Emerald and Amber). Also, by replicating logical objects rather than physical pages, our model has many advantages over shared virtual memory systems. This paper discusses the design choices involved in replicating objects and their effect on performance. Important issues are: how to maintain consistency among different copies of an object; how to implement changes to objects; which strategy for object replication to use. We have implemented several options to determine which ones are the most efficient. Copyright © 1992 John Wiley & Sons, Ltd

AB - Most methods for programming loosely coupled systems are based on message‐passing. Recently, however, methods have emerged based on ‘virtually’ sharing data. These methods simplify distributed programming, but are hard to implement efficiently, as loosely coupled systems do not contain physical shared memory. We introduce a new model, the shared data‐object model, that eases the implementation of parallel applications on loosely coupled systems, but can still be implemented efficiently. In our model, shared data are encapsulated in passive data‐objects, which are variables of user‐defined abstract data types. To speed up access to shared data, data‐objects are replicated. This ability to replicate objects is a significant difference with other object‐based models (e.g. Emerald and Amber). Also, by replicating logical objects rather than physical pages, our model has many advantages over shared virtual memory systems. This paper discusses the design choices involved in replicating objects and their effect on performance. Important issues are: how to maintain consistency among different copies of an object; how to implement changes to objects; which strategy for object replication to use. We have implemented several options to determine which ones are the most efficient. Copyright © 1992 John Wiley & Sons, Ltd

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

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

U2 - 10.1002/cpe.4330040502

DO - 10.1002/cpe.4330040502

M3 - Article

VL - 4

SP - 337

EP - 355

JO - Concurrency, Practice and Experience

JF - Concurrency, Practice and Experience

SN - 1040-3108

IS - 3

ER -