Skip to main navigation Skip to search Skip to main content

Orca: A Language for Parallel Programming of Distributed Systems

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

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
Original languageEnglish
Pages (from-to)190-205
Number of pages16
JournalIEEE Transactions on Software Engineering
Volume18
Issue number3
DOIs
Publication statusPublished - 1992

Keywords

  • Amoeba
  • broadcasting distributed systems
  • distributed shared memory
  • Orca
  • parallel programming
  • shared objects

Fingerprint

Dive into the research topics of 'Orca: A Language for Parallel Programming of Distributed Systems'. Together they form a unique fingerprint.

Cite this