Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!gatech!hubcap!"Orran From: okrieg@eecg.toronto.edu (Orran Y. Krieger) Newsgroups: comp.parallel Subject: Looking for a message passing package to run on the Sun Message-ID: <6473@hubcap.clemson.edu> Date: 15 Sep 89 21:10:28 GMT Sender: fpst@hubcap.clemson.edu Lines: 66 Approved: parallel@hubcap.clemson.edu I'd like to tie together our local bevvy of suns into a multicomputer for solving scientific problems. I need simple facilties to fork off processes and to handle message passing. Are there any software packages out there in netland to do this? Scott B. Baden Lawrence Berkeley Laboratory Berkeley, California baden@csam.lbl.gov ...!ucbvax!csam.lbl.gov!baden Since you specified message passing this is probably not of interest to you. However, I developed for my MASc an implementation of distributed shared data on a network of Sun's. A brief abstract from a talk I am giving is included below (in latex format). The code is free and (hopefully) mainly debugged. \centerline{\Large{\bf Distributed Shared Data:}} \centerline{\Large{\bf An Alternative Approach to Interprocess Communication}} \centerline{\Large{\bf for Distributed Systems}} \vspace*{.1 in} \centerline{Orran Krieger and Michael Stumm} \centerline{University of Toronto} \vspace*{.1 in} In this talk we will describe algorithms that implement the {\em shared data model} of interprocess communication for distributed systems. Traditionally, communication among processes in a distributed system is based on the {\em data passing} model, which includes message passing mechanisms. Although the data passing model is a logical extension of the underlying communication hardware, the {\em shared data} model has a number of advantages, which have made it the focus of recent study\footnote{For example, work by Li, Bisiani and Forin, Cheriton, and Gelernter.}. The shared data model provides a simpler abstraction to the application programmer. Processes use shared data in the same way they use normal local memory; that is, shared data is accessed through {\tt read} and {\tt write} operations. Since the access protocol is consistent with the way sequential applications access data, there is a more natural transition from sequential to distributed applications. Another advantage of the shared data model is that it hides the remote communication mechanism from the processes, again substantially simplifying the programming of distributed applications. We have found the size of programs\footnote{as measured by lines of source code} using the shared data model typically to be half the size of equivalent programs that use the data passing model. With a shared data facility, complex structures can be passed by reference. In contrast, with the data passing model complex data structures that are passed between processes must be explicitly packed and unpacked. In this talk we describe how the shared data model can be realized and then focus our attention on a new algorithm we have developed called TORiS. The most original feature of TORiS is that it makes {\em optimistic} assumptions in order to reduce the amount of communication required between processes. All of the algorithms we describe, including TORiS, have been implemented on a network of SUN workstations. We compare performance results of the TORiS implementation with other implementations of the shared data model.