Principles of Parallel Programming
by Lin, Calvin; Snyder, Larry-
Complimentary 7-Day eTextbook Access - Read more
When you rent or buy this book, you will receive complimentary 7-day online access to the eTextbook version from your PC, Mac, tablet, or smartphone. Feature not included on Marketplace Items.
Buy New
Buy Used
Rent Textbook
Rent Digital
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
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.
Table of Contents
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| Scalable Algorithmic Techniques | |
| The Inevitability of Trees Blocks of Independent | |
| Computation Schwartzrsquo; Algorithm Assigning | |
| Work To Processes Statically Assigning | |
| Work to Processes Dynamically | |
| The Reduce & Scan Abstractions Trees | |
| Summary | |
| Historical Context | |
| Exercises | |
| 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 | |
| Local View Programming Languages MPI: The Message Passing Interface | |
| Getting Started Safety Issues | |
| Performance Issues | |
| Co-Array Fortran Unified Parallel C Titanium | |
| Summary | |
| Exercises | |
| 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 | |
| Assessing Our Knowledge | |
| Introduction | |
| Evaluating Existing Approaches Lessons for the Future | |
| Summary | |
| Historical Perspectives | |
| Exercises | |
| Future Directions in Parallel Programming | |
| Attached Processors Grid Computing Transactional Memory | |
| Summary | |
| Exercises | |
| Capstone Project: Designing a Parallel Program | |
| Introduction | |
| Motivation Getting Started | |
| Summary | |
| Historical Perspective | |
| Exercises | |
| More Advanced Concepts | |
| Table of Contents provided by Publisher. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.