Orca: A Language for Parallel Programming of Distributed Systems

Orca is a language for implementing parallel applications on loosely coupled distributed systems. Unlike most languages for distributed programming, it allows processes on different machines to share data. Such data are encapsulated in data-objects, which are instances of user-defined abstract data...

Full description

Bibliographic Details
Published in:IEEE Transactions on Software Engineering
Main Authors: Bal, H.E., Kaashoek, M.F., Tanenbaum, A.S.
Format: Article in Journal/Newspaper
Language:English
Published: 1992
Subjects:
Online Access:https://research.vu.nl/en/publications/0ef89e41-282e-4d2c-85f4-9a7112dcff1b
https://doi.org/10.1109/32.126768
http://hdl.handle.net/1871.1/0ef89e41-282e-4d2c-85f4-9a7112dcff1b
http://www.scopus.com/inward/record.url?scp=0026825229&partnerID=8YFLogxK
http://www.scopus.com/inward/citedby.url?scp=0026825229&partnerID=8YFLogxK
id ftvuamstcris:oai:research.vu.nl:publications/0ef89e41-282e-4d2c-85f4-9a7112dcff1b
record_format openpolar
spelling ftvuamstcris:oai:research.vu.nl:publications/0ef89e41-282e-4d2c-85f4-9a7112dcff1b 2023-05-15T17:52:57+02:00 Orca: A Language for Parallel Programming of Distributed Systems Bal, H.E. Kaashoek, M.F. Tanenbaum, A.S. 1992 https://research.vu.nl/en/publications/0ef89e41-282e-4d2c-85f4-9a7112dcff1b https://doi.org/10.1109/32.126768 http://hdl.handle.net/1871.1/0ef89e41-282e-4d2c-85f4-9a7112dcff1b http://www.scopus.com/inward/record.url?scp=0026825229&partnerID=8YFLogxK http://www.scopus.com/inward/citedby.url?scp=0026825229&partnerID=8YFLogxK eng eng info:eu-repo/semantics/restrictedAccess Bal , H E , Kaashoek , M F & Tanenbaum , A S 1992 , ' Orca: A Language for Parallel Programming of Distributed Systems ' , IEEE Transactions on Software Engineering , vol. 18 , no. 3 , pp. 190-205 . https://doi.org/10.1109/32.126768 Amoeba broadcasting distributed systems distributed shared memory Orca parallel programming shared objects article 1992 ftvuamstcris https://doi.org/10.1109/32.126768 2022-01-17T13:27:38Z Orca is a language for implementing parallel applications on loosely coupled distributed systems. Unlike most languages for distributed programming, it 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 implementation of Orca takes care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate and/or migrate objects in order to decrease access times to objects and increase parallelism. This paper gives a detailed description of the Orca language design and motivates the design choices. Orca is intended for applications programmers rather than systems programmers. This is reflected in its design goals to provide a simple, easy to use language that is type-secure and provides clean semantics. The paper discusses three example parallel applications in Orca, one of which is described in detail. It also describes one of the existing implementations, which is based on reliable broadcasting. Performance measurements of this system are given for three parallel applications. The measurements show that significant speedups can be obtained for all three applications. Finally, the paper compares Orca with several related languages and systems. © 1992 IEEE Article in Journal/Newspaper Orca Vrije Universiteit Amsterdam (VU): Research Portal IEEE Transactions on Software Engineering 18 3 190 205
institution Open Polar
collection Vrije Universiteit Amsterdam (VU): Research Portal
op_collection_id ftvuamstcris
language English
topic Amoeba
broadcasting distributed systems
distributed shared memory
Orca
parallel programming
shared objects
spellingShingle Amoeba
broadcasting distributed systems
distributed shared memory
Orca
parallel programming
shared objects
Bal, H.E.
Kaashoek, M.F.
Tanenbaum, A.S.
Orca: A Language for Parallel Programming of Distributed Systems
topic_facet Amoeba
broadcasting distributed systems
distributed shared memory
Orca
parallel programming
shared objects
description Orca is a language for implementing parallel applications on loosely coupled distributed systems. Unlike most languages for distributed programming, it 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 implementation of Orca takes care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate and/or migrate objects in order to decrease access times to objects and increase parallelism. This paper gives a detailed description of the Orca language design and motivates the design choices. Orca is intended for applications programmers rather than systems programmers. This is reflected in its design goals to provide a simple, easy to use language that is type-secure and provides clean semantics. The paper discusses three example parallel applications in Orca, one of which is described in detail. It also describes one of the existing implementations, which is based on reliable broadcasting. Performance measurements of this system are given for three parallel applications. The measurements show that significant speedups can be obtained for all three applications. Finally, the paper compares Orca with several related languages and systems. © 1992 IEEE
format Article in Journal/Newspaper
author Bal, H.E.
Kaashoek, M.F.
Tanenbaum, A.S.
author_facet Bal, H.E.
Kaashoek, M.F.
Tanenbaum, A.S.
author_sort Bal, H.E.
title Orca: A Language for Parallel Programming of Distributed Systems
title_short Orca: A Language for Parallel Programming of Distributed Systems
title_full Orca: A Language for Parallel Programming of Distributed Systems
title_fullStr Orca: A Language for Parallel Programming of Distributed Systems
title_full_unstemmed Orca: A Language for Parallel Programming of Distributed Systems
title_sort orca: a language for parallel programming of distributed systems
publishDate 1992
url https://research.vu.nl/en/publications/0ef89e41-282e-4d2c-85f4-9a7112dcff1b
https://doi.org/10.1109/32.126768
http://hdl.handle.net/1871.1/0ef89e41-282e-4d2c-85f4-9a7112dcff1b
http://www.scopus.com/inward/record.url?scp=0026825229&partnerID=8YFLogxK
http://www.scopus.com/inward/citedby.url?scp=0026825229&partnerID=8YFLogxK
genre Orca
genre_facet Orca
op_source Bal , H E , Kaashoek , M F & Tanenbaum , A S 1992 , ' Orca: A Language for Parallel Programming of Distributed Systems ' , IEEE Transactions on Software Engineering , vol. 18 , no. 3 , pp. 190-205 . https://doi.org/10.1109/32.126768
op_rights info:eu-repo/semantics/restrictedAccess
op_doi https://doi.org/10.1109/32.126768
container_title IEEE Transactions on Software Engineering
container_volume 18
container_issue 3
container_start_page 190
op_container_end_page 205
_version_ 1766160713731014656