Freshly Printed - allow 8 days lead
Couldn't load pickup availability
Foundations of Parallel Programming
This is the first comprehensive account of this new approach to the fundamentals of parallel programming.
D. B. Skillicorn (Author)
9780521018562, Cambridge University Press
Paperback, published 22 August 2005
212 pages, 60 b/w illus.
24.5 x 17 x 1.2 cm, 0.343 kg
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.
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.
Subject Areas: Parallel processing [UYFP], Mathematical theory of computation [UYA]
