ORCA - A LANGUAGE FOR PARALLEL PROGRAMMING OF DISTRIBUTED SYSTEMS

被引:133
作者
BAL, HE
KAASHOEK, MF
TANENBAUM, AS
机构
[1] Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam
关键词
AMEBA; BROADCASTING; DISTRIBUTED SYSTEMS; DISTRIBUTED SHARED MEMORY; ORCA; PARALLEL PROGRAMMING; SHARED OBJECTS;
D O I
10.1109/32.126768
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:190 / 205
页数:16
相关论文
共 39 条
[1]  
AHUJA S, 1986, COMPUTER, V19, P26, DOI 10.1109/MC.1986.1663305
[2]   AN OVERVIEW OF THE SR LANGUAGE AND IMPLEMENTATION [J].
ANDREWS, GR ;
OLSSON, RA ;
COFFIN, M ;
ELSHOFF, I ;
NILSEN, K ;
PURDIN, T ;
TOWNSEND, G .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1988, 10 (01) :51-86
[3]  
BAL H, 1990, PROGRAMMING DISTRIBU
[4]  
BAL HE, 1990, IR219 VRIJ U AMST
[5]  
BAL HE, 1990, MAR P IEEE CS 1990 I, P79
[6]  
BAL HE, 1987, 1987 P NAT COMP C CH, P499
[7]  
BAL HE, 1989, IR202 VRIJ U REP
[8]  
BENNET JK, 1990, 2ND P S PRINC PRACT
[9]   RELIABLE COMMUNICATION IN THE PRESENCE OF FAILURES [J].
BIRMAN, KP ;
JOSEPH, TA .
ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1987, 5 (01) :47-76
[10]   IMPLEMENTING REMOTE PROCEDURE CALLS [J].
BIRRELL, AD ;
NELSON, BJ .
ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1984, 2 (01) :39-59