Implicit Parallel Programming in PH

Front Cover
Morgan Kaufmann Publishers, 2001 - Computers - 508 pages
0 Reviews
Parallel machines are now affordable and available to many users in the form of small symmetric shared-memory multiprocessors (SMPs). Unfortunately, programming practices have not kept pace with this hardware advance. The vast majority of developers still write applications in sequential programming languages that do not exploit multiple processors. The traditional approaches for adding parallelism to applications are prone to introducing new, strange, and difficult-to-eliminate bugs.


In this important new text, the authors offer a completely different vision of the future, where parallel programming is the default and sequential programming is a special case. The foundation of this vision is an implicitly parallel programming language, pH, which is the result of two decades of research by the authors. A dialect and extension of the standard nonstrict and purely functional language Haskell, pH is essentially Haskell with implicitly parallel semantics. pH's extensions to Haskell comprise a disciplined approach to shared parallel state, so that a pH program-even a beginner's program-is implicitly parallel.


The authors have developed this text over ten years while teaching implicit parallel programming to graduate students at MIT and specialized short courses to undergraduates and software professionals in the U.S., Japan, and India.

* Provides a complete treatment of the language, the programming philosophy it embraces, and its theoretical underpinnings.
* Includes many clear yet small examples.
* Features programs, problems, solutions, and a downloadable pH implementation for SMP machines and related software.
* Is designed for students and professionals with a thorough knowledge of a high-level programming language but with no previous experience in parallel programming.

What people are saying - Write a review

We haven't found any reviews in the usual places.

References to this book

About the author (2001)

Nikhil is the director of software at Sandburst Corporation, where he manages the development of software for hardware syntheses from declarative specifications. He received his M.S.E. and Ph.D. degrees in computer and information sciences from the University of Pennsylvania, and his B. Tech. degree in electrical engineering from the Indian Institute of Technology, Kanpur, India.

Arvind is the Johnson Professor of Computer Science and Engineering at the Massachusetts Institute of Technology.

Bibliographic information