Implicit Parallel Programming in Ph

Rishiyur Nikhil, Arvind

  • 出版商: Morgan Kaufmann
  • 出版日期: 2001-06-04
  • 售價: $2,990
  • 貴賓價: 9.5$2,841
  • 語言: 英文
  • 頁數: 508
  • 裝訂: Hardcover
  • ISBN: 1558606440
  • ISBN-13: 9781558606449
  • 無法訂購

買這商品的人也買了...

商品描述


Order This Book | Authors | Contents | Related Titles

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.

Features

  • 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.

Authors:

Rishiyur S. Nikhil is the Director of Software at Sandburst Corporation, where he manages the development of software for hardware synthesis. He has devoted seventeen years to designing and implementing languages and architectures as a researcher at the Cambridge Research Laboratory of DEC and Compaq Computer Corporation and as a Professor of Computer Science and Engineering at MIT.

Arvind is the Johnson Professor of Computer Science and Engineering at MIT and President and founder of Sandburst Corporation, a new style chips company that exploits his recent research on high-level specification and description of architectures and protocols using term rewriting systems. He is an IEEE Fellow and was awarded the Charles Babbage Outstanding Scientist Award.

Table of Contents:

Chapter 1 From Sequential to Implicit Parallel Programming
Chapter 2 Functions and Reduction
Chapter 3 Types and Type Checking
Chapter 4 Rewrite Rules, Reduction Strategies, and Parallelism
Chapter 5 Tuples and Algebraic Product Types
Chapter 6 Lists and Algebraic Sum Types
Chapter 7 Arrays: Fast Indexed Data Structures
Chapter 8 Sequencing, Input/Output, and Side Effects
Chapter 9 I-structures
Chapter 10 M-structures: Mutable Synchronized State
Chapter 11 Conclusion
Appendix A An Introduction to the lambda for pH

Related Titles:

High Performance, Parallel & Distributed Computing
Software Engineering & Programming