Implementing Tuple Space with Threads
چکیده
The development of efficient and portable parallel programming systems can be a complex and troublesome task. Although there are several portable environments that are meant to be used as a support layer for higher level programming systems, they all provide different features and different levels of functionality to the system programmer. In this paper we report on our experience implementing a tuple space library, called OpenTS, on top of two portable environments: the MPI message passing interface and the Panda virtual machine. We discuss the difficulties encountered when implementing OpenTS on both systems, and how the availability/lack of some features affected the flexibility, elegance, and refinement of the overall tuple space implementation. In particular, we focus on the system support that is required to build the sophisticated OpenTS run-time system module that supports different tuple distribution policies based on programmer annotations. Experimental results of OpenTS collected on a cluster of workstations using Panda and MPI are presented. The comparison of these performance numbers shows the practical impact of both environments on the overall performance of a higher level programming system.