Summary: | . Orca is a simple, imperative parallel programming language, based on a form of distributed shared memory called shared data-objects. This paper discusses the suitability of Orca for parallel symbolic programming. Orca was not designed specifically for this application area, and it lacks several features supported in many languages for symbolic parallel computing, such as futures, automatic load balancing, and automatic garbage collection. On the other hand, Orca does give high-level support for sharing global state. Also, its implementation automatically distributes shared data (stored in shared objects). We first give a comparison between Orca and two other models: imperative message-passing systems and functional languages. We do so by looking at several key issues in parallel programming and by studying how each of the three paradigms deals with these issues. Next, we describe our experiences with writing parallel symbolic applications in Orca. This work indicates that Or.
|