Document Type

Conference Proceeding

Publication Date


Publication Title

Proceedings of HiPC Workshop India


Scalable parallel processing has been proposed as the technology scientists and engineers can use today to solve the problems of tomorrow. Many computational Grand Challenge problems require between two and three orders of magnitude than can be provided with the scalable parallel hardware of the early nineteen-nineties. While hardware continues to become more scalable and cheaper, software is not advancing at the same pace and remains a very expensive part of systems development.

A great deal of emphasis on software technology to support scalable parallel processing is placed on von Neumann languages. One of two approaches is common: (a) augment the von Neumann language with explicit parallel constructs or (b) write super-optimizing compilers to “find” the parallelism in a von Neumann program. These two approaches appear to be useful at some level; however, this paper argues that software constructed using these approaches is not likely to scale very well, because an appropriate level of abstraction is not being used to solve the problem.

We propose a simple layered architecture for doing parallel processing. The outer layer is the composition layer. This layer is used from a von Neumann language to encode algorithms using standard building blocks (objects). The middle layer uses objects. These objects exhibit high potential for parallelism. In our application, we focus on multidimensional arrays. At the lowest level, Itinerant Actors is used. Itinerant Actors is an object model developed by Christopher and Thiruvathukal at IIT to support asynchronous message-passing between active objects with a number of other useful ideas.


This is a workshop paper based on my dissertation research. Unfortunately, the revised/corrected version never made it into the proceedings, so there are lots of stylistic issues. A much more polished version of this work can be found in my book co-authored with Thomas W. Christopher.

Creative Commons License

Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.