Orca: A Language for Parallel Programming of Distributed Systems

Orca is a language for implementing parallel applications on loosely coupled distri-buted 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
Main Authors: Henri E. Bal, M. Frans Kaashoek, Andrew S. Tanenbaum
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: 1992
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.614.9549
http://dare.ubvu.vu.nl/bitstream/handle/1871/2576/10970.pdf;jsessionid=77F0ABB0B3BF7AD9AD7FA1E558EB1F3A?sequence=1
Description
Summary:Orca is a language for implementing parallel applications on loosely coupled distri-buted 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 program-mers. 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. 1.