Foundations of parallel programming

Bibliographic Information

Foundations of parallel programming

David Skillicorn

(Cambridge international series on parallel computation, 6)

Cambridge University Press, 1994

Available at  / 35 libraries

Search this Book/Journal

Note

Bibliography: p. [179]-193. - Includes index

Description and Table of Contents

Description

The major reason for the lack of use of parallel computing is the mismatch between the complexity and variety of parallel hardware, and the software development tools to program it. The cost of developing software needs to be amortised over decades, but the platforms on which it executes change every few years, requiring complete rewrites. The evident cost-effectiveness of parallel computation has not been realized because of this mismatch. This book presents an integrated approach to parallel software development by addressing both software and performance issues together. It presents a methodology for software construction that produces architecture-independent and intellectually abstract software. The software can execute efficiently on a range of existing and potential hardware configurations. The approach is based on the construction of categorical data types, a generalization of abstract data types, and of objects. Categorical data types abstract both from the representation of a data type, and also from the detailed control flow necessary to perform operations on it. They thus impose a strong separation between the semantics, on which programs can depend, and the implementation, which is therefore free to hide the parallel machine properties that are used.

Table of Contents

  • 1. The key idea
  • 2. Parallel software development
  • 3. Architectural background
  • 4. Models and their properties
  • 5. The categorical data type of lists
  • 6. Software development using lists
  • 7. Other operations on lists
  • 8. A cost calculus for lists
  • 9. Building categorical data types
  • 10. Lists, bags and finite sets
  • 11. Trees
  • 12. Arrays
  • 13. Graphs
  • 14. Conclusions
  • Appendix A. C++ Library for lists
  • Appendix B. Historical background.

by "Nielsen BookData"

Related Books: 1-1 of 1

Details

Page Top