Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Implicit Parallel Programming in <i>pH</i>

Implicit Parallel Programming in <i>pH</i>

List Price: $69.95
Your Price: $69.95
Product Info Reviews

Description:

Suitable for the mathematically adept researcher or computer science student, Implicit Parallel Programming in pH provides a textbook-style guide to the new pH computer language, a functional language syntactically similar to Haskell but with built-in support for parallel processing.

Besides providing a perspective on the issues of parallel processing, this text is first and foremost an in-depth tutorial to the pH language (which was developed at MIT). While many programmers have managed threads and processes explicitly, pH makes parallel computing automatic. Because it is a functional programming language with limited support for program state, algorithms can be efficiently "parallelized" automatically with little or no programmer intervention.

After introducing the state of parallel programming today, the book delves in with an intensive (and mathematically astute) tutorial for working in pH from the basic syntax of the language to rules of encoding algorithms effectively. The raw syntax of pH resembles Haskell, a well-known functional programming language. To help the beginner, the authors also provide a tutorial for the lambda calculus (which provides the underpinnings of functional programming languages) in an appendix. Samples include problems using linear algebra and chemistry (with paraffin molecules) that help round out concepts for the reader.

Later chapters cover the extensions in pH for sequential programming and sharing data between modules. I-structures, first of all, allow multiple processes to read data in parallel, while M-structures allow read-and-write access to mutable data. (Used sparingly, these techniques supplement the purely functional aspects of pH, which language by default eschews program variables used in traditional sequential programming.)

Short exercises supplement each chapter, and the book concludes with a discussion of the future of pH (currently a research project) and parallel programming in general. The authors envision a day when parallel programming is the norm and sequential programming is the exception. In the meantime, this intelligent and fast-moving computer science title can help put parallel computing (and functional programming) into the hands of any interested computer science student or researcher. --Richard Dragan

Topics covered:

  • Overview of parallel execution techniques (explicit and implicit parallel programming)
  • Functional languages
  • Basic tutorial for pH (data types, recursion, block, static scoping, and loops)
  • Types and types checking (including static type checking, polymorphism, and operator overloading)
  • Rewrite rules, reduction strategies, and parallelism
  • Determinacy and termination
  • Tuples and algebraic product types (including rewrite rules for algebraic types)
  • Lists and algebraic sum types
  • Sums of products
  • Lists and list comprehensions
  • Graphs and binary trees
  • Arrays and multidimensional arrays
  • Techniques for solving linear equations
  • Sample problems from chemistry (modeling paraffins)
  • Sequencing
  • Monadic and parallel I/O
  • Explicit sequencing and barriers
  • I-structures
  • M-structures
  • Arrays
  • Lists and graphs (mutable synchronized state)
  • The future of parallelism and the pH language
  • Tutorial for lambda calculus
  • Reference for rewrite rules for pH
© 2004, ReviewFocus or its affiliates