Orca: a language for parallel programming of distributed systems
- 1 March 1992
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 18 (3) , 190-205
- https://doi.org/10.1109/32.126768
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 IEEKeywords
This publication has 30 references indexed in Scilit:
- Synchronization and scheduling in ALPS objectsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Slow memory: weakening consistency to enhance concurrency in distributed shared memoriesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Reducing host load, network load, and latency in a distributed shared memoryPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Group communication in the Amoeba distributed operating systemPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1991
- Munin: distributed shared memory based on type-specific memory coherencePublished by Association for Computing Machinery (ACM) ,1990
- The Amber system: parallel programming on a network of multiprocessorsPublished by Association for Computing Machinery (ACM) ,1989
- An efficient reliable broadcast protocolACM SIGOPS Operating Systems Review, 1989
- Architectural support for multilanguage parallel programming on heterogeneous systemsACM SIGARCH Computer Architecture News, 1987
- Preliminary thoughts on problem-oriented shared memoryACM SIGOPS Operating Systems Review, 1985
- EthernetCommunications of the ACM, 1976