Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 6 (1997), Issue 2, Pages 163-186
http://dx.doi.org/10.1155/1997/586912

Towards Architecture-Adaptable Parallel Programming

Santhosh Kumaran1 and Michael J. Quinn2

1IBM, 3200 Windy Hill Road, Atlanta, GA 80339, USA
2Department of Computer Science, Oregon State University, Corvallis, OR 97331, USA

Received 26 September 1995; Accepted 26 March 1996

Copyright © 1997 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Parallel processing is facing a software crisis. The primary reasons for this crisis are the short life span and small installation base of parallel architectures. In this article, we propose a solution to this problem in the form of an architecture-adaptable programming environment. Our method is different from high-level procedural programming languages in two ways: (1) our system automatically selects the appropriate parallel algorithm to solve the given problem efficiently on the specified architecture; (2) by using a divide-and-conquer template as the basic mechanism for achieving parallelism, we considerably simplify the implementation of the system on a new platform. There is a trade-off, however: the loss of generality. From a pragmatic point of view, this is not a major liability since our strategy will be useful in building domain-specific problem solving environments and application-oriented compilers, which can be easily and effectively ported to diverse architectures. We give preliminary results from a case study in which our method is used to adapt the parallel implementations of the conjugate gradient algorithm on a multiprocessor, a multicomputer, and a workstation network.