Orchid: A portable platform for parallel programming

Abstract In this paper we present the Orchid system, a new portable and scalable platform for parallel programming, suitable for any type of distributed memory architecture. It includes libraries that facilitate dynamic process allocation, asynchronous process communication, and global process synchronization. It also integrates a set of flexible mechanisms for the implementation of a wide variety of Distributed Shared Memory (DSM) paradigms. As an example, two different DSM paradigms are proposed. Moreover, a new polyparametric model is suggested, which can be used in the performance evaluation of any DSM paradigm. Orchid has been successfully used for the development of a large scale application, i.e. an environment for parallel logic programming, based on attribute grammars.

[1]  Nicholas Carriero,et al.  Linda and Friends , 1986, Computer.

[2]  Ewing L. Lusk,et al.  Monitors, Messages, and Clusters: The p4 Parallel Programming System , 1994, Parallel Comput..

[3]  Michael Stumm,et al.  Algorithms implementing distributed shared memory , 1990, Computer.

[4]  George K. Papakonstantinou,et al.  Facilitating the development of portable parallel applications on distributed memory systems , 1995, Programming Models for Massively Parallel Computers.

[5]  Henri E. Bal,et al.  Panda: a portable platform to support parallel programming languages , 1993 .

[6]  Henri E. Bal,et al.  A comparison of two paradigms for distributed shared memory , 1992, Softw. Pract. Exp..

[7]  Mosur Ravishankar,et al.  PLUS: a distributed shared-memory system , 1990, ISCA '90.

[8]  Willy Zwaenepoel,et al.  Munin: distributed shared memory based on type-specific memory coherence , 1990, PPOPP '90.

[9]  ChaikenD.,et al.  Software-extended coherent shared memory , 1994 .

[10]  Jan Maluszynski,et al.  Relating Logic Programs and Attribute Grammars , 1985, J. Log. Program..

[11]  George K. Papakonstantinou,et al.  A portable platform for parallel databases , 1995, HPCN Europe.

[12]  Umakishore Ramachandran,et al.  An implementation of distributed shared memory , 1991, Softw. Pract. Exp..

[13]  Maristella Agosti,et al.  Editorial – The Context of Information Retrieval , 1992 .

[14]  Anoop Gupta,et al.  The Stanford FLASH Multiprocessor , 1994, ISCA.

[15]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[16]  Henri E. Bal,et al.  Parallel programming using shared objects and broadcasting , 1992, Computer.

[17]  Liuba Shrira,et al.  Promises: linguistic support for efficient asynchronous procedure calls in distributed systems , 1988, PLDI '88.

[18]  Anoop Gupta,et al.  The DASH Prototype: Logic Overhead and Performance , 1993, IEEE Trans. Parallel Distributed Syst..

[19]  Nigel P. Topham,et al.  Performance of the decoupled ACRI-1 architecture: the perfect club , 1995, HPCN Europe.

[20]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[21]  George K. Papakonstantinou,et al.  Distributed shared-memory implementation for multitransputer systems , 1992, Inf. Softw. Technol..

[22]  George K. Papakonstantinou,et al.  AGP: A Parallel Processor for Knowledge and Software Engineering , 1992, Comput. J..

[23]  Henri E. Bal,et al.  Orca: A Language For Parallel Programming of Distributed Systems , 1992, IEEE Trans. Software Eng..

[24]  Geert Adriaens,et al.  Parallel Natural Language Processing , 1994 .

[25]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[26]  Henri E. Bal,et al.  Object distribution in Orca using Compile-Time and Run-Time techniques , 1993, OOPSLA '93.

[27]  Bill Nitzberg,et al.  Distributed shared memory: a survey of issues and algorithms , 1991, Computer.

[28]  George K. Papakonstantinou,et al.  Knowledge Representation with Attribute Grammars , 1986, Comput. J..

[29]  Brett D. Fleisch,et al.  Mirage: a coherent distributed shared memory design , 1989, SOSP '89.

[30]  Henri E. Bal,et al.  Replication techniques for speeding up parallel applications on distributed systems , 1992, Concurr. Pract. Exp..

[31]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[32]  George K. Papakonstantinou,et al.  Parallel approaches to piecewise linear approximation , 1994, Signal Process..

[33]  Partha Dasgupta,et al.  The Clouds distributed operating system: functional description, implementation details and related work , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[34]  Alessandro Forin,et al.  Architectural support for multilanguage parallel programming on heterogeneous systems , 1987, ASPLOS 1987.

[35]  C. W. Oehlrich,et al.  Performance evaluation of a communication system for transputer-networks based on monitored event traces , 1991, [1991] Proceedings. The 18th Annual International Symposium on Computer Architecture.

[36]  George K. Papakonstantinou,et al.  Orchid: the design of a parallel and portable software platform for local area networks , 1995, Proceedings 1st International Conference on Algorithms and Architectures for Parallel Processing.