This book describes the activities of the Caltech Concurrent Computation Program (CP). This was a seven-year project (1983-1990), focussed on the question, ``Can parallel computers be used effectively for large scale scientific computation?'' The title of the book, ``Parallel Computing Works,'' reveals our belief that we answered the question in the affirmative, by implementing numerous scientific applications on real parallel computers and doing computations that produced new scientific results. In the process of doing so, CP helped design and build several new computers, designed and implemented basic system software, developed algorithms for frequently used mathematical computations on massively parallel machines, devised performance models and measured the performance of many computers, and created a high-performance computing facility based exclusively on parallel computers. While the initial focus of CP was the hypercube architecture developed by C. Seitz at Caltech, many of the methods developed and lessons learned have been applied successfully on other massively parallel architectures.
Of course, CP was only one of many projects contributing to this field and so the contents of this book are only representative of the important activities in parallel computing during the last ten years. However, we believe that the project did address a wide range of issues and applications areas. Thus, a book focussed on CP has some general interest. We do, of course, cite other activities but surely not completely. Other general references which the reader will find valuable are [Almasi:89a], [Andrews:91a], [Arbib:90a], [Blelloch:90a], [Brawer:89a], [Doyle:91a], [Duncan:90a], [Fox:88a], [Golub:89a], [Hayes:89a], [Hennessy:91a], [Hillis:85a], [Hockney:81a], [Hord:90a], [Hwang:89a], [IEEE:91a], [Laksh:90a], [Lazou:87a], [Messina:87a;91d], [Schneck:87a], [Skerrett:92a], [Stone:91a], [Trew:91a], [Zima:91a].
CP was both a technical and social experiment. It involved a wide range of disciplines working together to understand the hardware, software, and algorithmic (applications) issues in parallel computing. Such multidisciplinary activities are generally considered of growing relevance to many new academic and research activities-including the federal high-performance computing and communication initiative. Many of the participants of CP are no longer at Caltech, and this has positive and negative messages. CP was not set up in a traditional academic fashion since its core interdisciplinary field, computational science, is not well understood or implemented either nationally or in specific universities. This is explored further in Chapter 20. CP has led to flourishing follow-on projects at Caltech, Syracuse University, and elsewhere. These differ from CP just as parallel computing has changed from an exploratory field to one that is in a transitional stage into development, production, and exploitation.