Description

Book Synopsis

Lawrence Snyder is Professor of Computer Science and Engineering at the University of Washington in Seattle. He received his PhD from Carnegie Mellon University and has devoted most of his career to parallel computation research, including architecture, algorithms and languages. With Calvin Lin and UW graduate students, he developed the ZPL parallel programming language. He is a fellow of the ACM and IEEE. He is an ardent traveler, enthusiastic theater-goer and occasional skier.
Calvin Lin is an Associate Professor of Computer Sciences at The University of Texas at Austin, where he also serves as Director of the Turing Scholars Honors Program of undergraduate CS majors. He received his PhD from the University of Washington under the supervision of Lawrence Snyder. His current research interests include compilers and micro-architecture. In his spare time, he is an avid ultimate Frisbee player and coach of UT's Men's Ultimate Frisbee team.



Trade Review
"...the first basic book on the subject that I've ever seen that seems to have the pulse on the true issues of parallelism that are relevant for students." - Alan Edelman, MIT "Principles of Parallel Programming is a wonderful book and I plan to use it in our new parallel programming course..." - Peiyi Tang, University of Arkansas, Little Rock "I like [Principles of Parallel Programming] very much for a few specific reasons: it's concise, covers the most relevant topics but does not take thousand pages to do it, it is hands on and it covers...recent developments with multi-core and GPGPU." - Edin Hodzic, Santa Clara University

Table of Contents

Chapter 1 Introduction: Parallelism = Opportunities + Challenges
The Power and Potential of Parallelism
Examining Sequential and Parallel Programs
A Paradigm Shift
Parallelism Using Multiple Instruction Streams
The Goals: Scalable Performance and Portability
Summary
Historical Context
Exercises
Chapter 2 Parallel Computers And Their Model
Balancing Machine Specifics with Portability
A Look at Five Parallel Computers
The RAM: An Abstraction of a Sequential Computer
The PRAM: A Parallel Computer Model
The CTA: A Practical Parallel Computer Model
Memory Reference Mechanisms
A Closer Look at Communication
Applying the CTA Model
Summary
Historical Perspective
Exercises
Chapter 3 Reasoning about Performance
Introduction
Motivation and Some Basic Concepts
Sources of Performance Loss
Parallel Structure
Reasoning about Performance
Performance Trade-Offs
Measuring Performance
What should we measure?
Summary
Historical Perspective
Exercises
Chapter 4 First Steps Towards Parallel Programming
Task and Data Parallelism
Peril-L
Count 3s Example
Conceptualizing Parallelism
Alphabetizing Example
Comparison of Three Solutions
Summary
Historical Perspective
Exercises
Chapter 5 Scalable Algorithmic Techniques
The Inevitability of Trees
Blocks of Independent Computation
Schwartz’ Algorithm
Assigning Work To Processes Statically
Assigning Work to Processes Dynamically
The Reduce & Scan Abstractions
Trees
Summary
Historical Context
Exercises
Chapter 6 Programming with Threads
POSIX Threads
Thread Creation and Destruction
Mutual Exclusion
Synchronization
Safety Issues
Performance Issues
Open MP
The Count 3s Example
Semantic Limitations on
Reduction
Thread Behavior and Interaction
Sections
Summary of OpenMP
Java Threads
Summary
Historical Perspectives
Exercises
Chapter 7 Local View Programming Languages
MPI: The Message Passing Interface
Getting Started
Safety Issues
Performance Issues
Co-Array Fortran
Unified Parallel C
Titanium
Summary
Exercises
Chapter 8 Global View Programming Languages
The Z-level Programming Language
Basic Concepts of ZPL
Life, An Example
Design Principles
Manipulating Arrays Of Different Ranks
Reordering Data With Remap
Parallel Execution of ZPL
Performance Model
Summary
NESL
Historical Context
Exercises
Chapter 9 Assessing Our Knowledge
Introduction
Evaluating Existing Approaches
Lessons for the Future
Summary
Historical Perspectives
Exercises
Chapter 10 Future Directions in Parallel Programming
Attached Processors
Grid Computing
Transactional Memory
Summary
Exercises
Chapter 11 Capstone Project: Designing a Parallel Program
Introduction
Motivation
Getting Started
Summary
Historical Perspective
Exercises
Appendix 1 More Advanced Concepts

Principles of Parallel Programming

    Product form

    £150.11

    Includes FREE delivery

    RRP £158.01 – you save £7.90 (4%)

    Order before 4pm today for delivery by Sat 1 Aug 2026.

    A Hardback by Calvin Lin, Larry Snyder

    Out of stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Principles of Parallel Programming by Calvin Lin

      Publisher: Pearson Education (US)
      Publication Date: Publication Date: 07/04/2008
      ISBN13: 9780321487902, 978-0321487902
      ISBN10: 0321487907

      Description

      Book Synopsis

      Lawrence Snyder is Professor of Computer Science and Engineering at the University of Washington in Seattle. He received his PhD from Carnegie Mellon University and has devoted most of his career to parallel computation research, including architecture, algorithms and languages. With Calvin Lin and UW graduate students, he developed the ZPL parallel programming language. He is a fellow of the ACM and IEEE. He is an ardent traveler, enthusiastic theater-goer and occasional skier.
      Calvin Lin is an Associate Professor of Computer Sciences at The University of Texas at Austin, where he also serves as Director of the Turing Scholars Honors Program of undergraduate CS majors. He received his PhD from the University of Washington under the supervision of Lawrence Snyder. His current research interests include compilers and micro-architecture. In his spare time, he is an avid ultimate Frisbee player and coach of UT's Men's Ultimate Frisbee team.



      Trade Review
      "...the first basic book on the subject that I've ever seen that seems to have the pulse on the true issues of parallelism that are relevant for students." - Alan Edelman, MIT "Principles of Parallel Programming is a wonderful book and I plan to use it in our new parallel programming course..." - Peiyi Tang, University of Arkansas, Little Rock "I like [Principles of Parallel Programming] very much for a few specific reasons: it's concise, covers the most relevant topics but does not take thousand pages to do it, it is hands on and it covers...recent developments with multi-core and GPGPU." - Edin Hodzic, Santa Clara University

      Table of Contents

      Chapter 1 Introduction: Parallelism = Opportunities + Challenges
      The Power and Potential of Parallelism
      Examining Sequential and Parallel Programs
      A Paradigm Shift
      Parallelism Using Multiple Instruction Streams
      The Goals: Scalable Performance and Portability
      Summary
      Historical Context
      Exercises
      Chapter 2 Parallel Computers And Their Model
      Balancing Machine Specifics with Portability
      A Look at Five Parallel Computers
      The RAM: An Abstraction of a Sequential Computer
      The PRAM: A Parallel Computer Model
      The CTA: A Practical Parallel Computer Model
      Memory Reference Mechanisms
      A Closer Look at Communication
      Applying the CTA Model
      Summary
      Historical Perspective
      Exercises
      Chapter 3 Reasoning about Performance
      Introduction
      Motivation and Some Basic Concepts
      Sources of Performance Loss
      Parallel Structure
      Reasoning about Performance
      Performance Trade-Offs
      Measuring Performance
      What should we measure?
      Summary
      Historical Perspective
      Exercises
      Chapter 4 First Steps Towards Parallel Programming
      Task and Data Parallelism
      Peril-L
      Count 3s Example
      Conceptualizing Parallelism
      Alphabetizing Example
      Comparison of Three Solutions
      Summary
      Historical Perspective
      Exercises
      Chapter 5 Scalable Algorithmic Techniques
      The Inevitability of Trees
      Blocks of Independent Computation
      Schwartz’ Algorithm
      Assigning Work To Processes Statically
      Assigning Work to Processes Dynamically
      The Reduce & Scan Abstractions
      Trees
      Summary
      Historical Context
      Exercises
      Chapter 6 Programming with Threads
      POSIX Threads
      Thread Creation and Destruction
      Mutual Exclusion
      Synchronization
      Safety Issues
      Performance Issues
      Open MP
      The Count 3s Example
      Semantic Limitations on
      Reduction
      Thread Behavior and Interaction
      Sections
      Summary of OpenMP
      Java Threads
      Summary
      Historical Perspectives
      Exercises
      Chapter 7 Local View Programming Languages
      MPI: The Message Passing Interface
      Getting Started
      Safety Issues
      Performance Issues
      Co-Array Fortran
      Unified Parallel C
      Titanium
      Summary
      Exercises
      Chapter 8 Global View Programming Languages
      The Z-level Programming Language
      Basic Concepts of ZPL
      Life, An Example
      Design Principles
      Manipulating Arrays Of Different Ranks
      Reordering Data With Remap
      Parallel Execution of ZPL
      Performance Model
      Summary
      NESL
      Historical Context
      Exercises
      Chapter 9 Assessing Our Knowledge
      Introduction
      Evaluating Existing Approaches
      Lessons for the Future
      Summary
      Historical Perspectives
      Exercises
      Chapter 10 Future Directions in Parallel Programming
      Attached Processors
      Grid Computing
      Transactional Memory
      Summary
      Exercises
      Chapter 11 Capstone Project: Designing a Parallel Program
      Introduction
      Motivation
      Getting Started
      Summary
      Historical Perspective
      Exercises
      Appendix 1 More Advanced Concepts

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account