Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Foundations of Parallel Programming

Foundations of Parallel Programming

Foundations of Parallel Programming

D. B. Skillicorn, Queen's University, Ontario
August 2005
Paperback
9780521018562
£36.99
GBP
Paperback
USD
eBook

    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.

    • First comprehensive account of this new approach to the fundamentals of parallel programming
    • The software can execute efficiently on a range of existing and potential hardware configurations

    Product details

    August 2005
    Paperback
    9780521018562
    212 pages
    245 × 170 × 12 mm
    0.343kg
    60 b/w illus.
    Available

    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.