Multilanguage Parallel Programming of Heterogeneous Machines

A system called Agora was designed and implemented that supports the development of multilanguage parallel applications for heterogeneous machines. Agora hinges on two ideas: the first one is that shared memory can be a suitable abstraction to program concurrent, multilanguage modules running on heterogeneous machines. The second idea is that a shared memory abstraction can be efficiently supported across different computer architectures that are not connected by a physical shared memory, e.g., local area network workstations or ensemble machines. Agora has been in use for more than a year. The authors describe the Agora shared memory and its software implementation on both tightly and loosely coupled architectures. Measurements of the current implementation are also included. >

[1]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[2]  Nicholas Carriero,et al.  The S/Net's Linda kernel , 1986, TOCS.

[3]  David R. Cheriton The V Kernel: A Software Base for Distributed Systems , 1984, IEEE Software.

[4]  Paul J. Leach,et al.  The network computing architecture and system: an environment for developing distributed applications , 1988, Digest of Papers. COMPCON Spring 88 Thirty-Third IEEE Computer Society International Conference.

[5]  Barbara Liskov,et al.  On Linguistic Support for Distributed Programs , 1982, IEEE Transactions on Software Engineering.

[6]  Bruce Jay Nelson Remote procedure call , 1981 .

[7]  Alessandro Forin,et al.  Parallel processing with Agora , 1987 .

[8]  Maurice Herlihy,et al.  A Value Transmission Method for Abstract Data Types , 1982, TOPL.

[9]  Butler W. Lampson,et al.  Distributed Systems - Architecture and Implementation, An Advanced Course , 1981, Advanced Course: Distributed Systems.

[10]  David R. Cheriton,et al.  Problem-oriented Shared Memory: A Decentralized Approach to Distributed System Design , 1986, IEEE International Conference on Distributed Computing Systems.

[11]  Mark S. Fox,et al.  The Role of Databases in Knowledge-Based Systems , 1986, On Knowledge Base Management Systems.

[12]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[13]  George G. Robertson,et al.  Accent: A communication oriented network operating system kernel , 1981, SOSP.

[14]  Randy H. Katz,et al.  Implementing a cache consistency protocol , 1985, ISCA 1985.

[15]  Richard F. Rashid,et al.  Mach and Matchmaker: kernel and language support for object-oriented distributed systems , 1986, OOPSLA 1986.

[16]  David L. Black,et al.  Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures , 1987, ASPLOS 1987.

[17]  Leslie Lamport Solved problems, unsolved problems and non-problems in concurrency , 1985, OPSR.

[18]  Daniel D. Corkill,et al.  GBB: A Generic Blackboard Development System , 1986, AAAI.