Buying Options
The Art of Concurrency
Print $44.99
Add to Cart
Print+Ebook $49.49
Add to Cart
Ebook $35.99
Add to Cart
Safari Books Online
Add to Cart
What is this?
Print £34.50
Add to Cart
What is this?
Description

Looking to take full advantage of multi-core processors with concurrent programming ? As one of the few resources to focus on implementing algorithms in the shared-memory model of multi-core processors, rather than just on theoretical models or distributed-memory architectures, The Art of Concurrency provides the knowledge and hands-on experience you need. You'll get detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis to steer you clear of mistakes.

Full Description
Table of Contents
  1. Chapter 1 Want to Go Faster? Raise Your Hands if You Want to Go Faster!

    1. Some Questions You May Have

    2. Four Steps of a Threading Methodology

    3. Background of Parallel Algorithms

    4. Shared-Memory Programming Versus Distributed-Memory Programming

    5. This Book’s Approach to Concurrent Programming

  2. Chapter 2 Concurrent or Not Concurrent?

    1. Design Models for Concurrent Algorithms

    2. What’s Not Parallel

  3. Chapter 3 Proving Correctness and Measuring Performance

    1. Verification of Parallel Algorithms

    2. Example: The Critical Section Problem

    3. Performance Metrics (How Am I Doing?)

    4. Review of the Evolution for Supporting Parallelism in Hardware

  4. Chapter 4 Eight Simple Rules for Designing Multithreaded Applications

    1. Rule 1: Identify Truly Independent Computations

    2. Rule 2: Implement Concurrency at the Highest Level Possible

    3. Rule 3: Plan Early for Scalability to Take Advantage of Increasing Numbers of Cores

    4. Rule 4: Make Use of Thread-Safe Libraries Wherever Possible

    5. Rule 5: Use the Right Threading Model

    6. Rule 6: Never Assume a Particular Order of Execution

    7. Rule 7: Use Thread-Local Storage Whenever Possible or Associate Locks to Specific Data

    8. Rule 8: Dare to Change the Algorithm for a Better Chance of Concurrency

    9. Summary

  5. Chapter 5 Threading Libraries

    1. Implicit Threading

    2. Explicit Threading

    3. What Else Is Out There?

    4. Domain-Specific Libraries

  6. Chapter 6 Parallel Sum and Prefix Scan

    1. Parallel Sum

    2. Prefix Scan

    3. Selection

    4. A Final Thought

  7. Chapter 7 MapReduce

    1. Map As a Concurrent Operation

    2. Reduce As a Concurrent Operation

    3. Applying MapReduce

    4. MapReduce As Generic Concurrency

  8. Chapter 8 Sorting

    1. Bubblesort

    2. Odd-Even Transposition Sort

    3. Shellsort

    4. Quicksort

    5. Radix Sort

  9. Chapter 9 Searching

    1. Unsorted Sequence

    2. Binary Search

  10. Chapter 10 Graph Algorithms

    1. Depth-First Search

    2. All-Pairs Shortest Path

    3. Minimum Spanning Tree

  11. Chapter 11 Threading Tools

    1. Debuggers

    2. Performance Tools

    3. Anything Else Out There?

    4. Go Forth and Conquer

  1. Glossary

  2. Appendix Photo Credits

  3. Colophon

View Full Table of Contents
Product Details
Title:
The Art of Concurrency
By:
Clay Breshears
Publisher:
O'Reilly Media
Formats:
  • Print
  • Ebook
  • Safari Books Online
Print Release:
May 2009
Ebook Release:
May 2009
Pages:
304
Print ISBN:
978-0-596-52153-0
| ISBN 10:
0-596-52153-7
Ebook ISBN:
978-0-596-80351-3
| ISBN 10:
0-596-80351-6
Customer Reviews
About the Author
  1. Clay Breshears

    Clay Breshears has been with Intel since September 2000. He started as a Senior Parallel Application Engineer at the Intel Parallel Applications Center in Champaign, IL, implementing multithreaded and distributed solutions in customer applications. Clay is currently a Course Architect for the Intel Software College, specializing in multi-core and multithreaded programming and training. Before joining Intel, Clay was a Research Scientist at Rice University helping Department of Defense researchers make best use of the latest High Performance Computing (HPC) platforms and resources.

    Clay received his Ph.D. in Computer Science from the University of Tennessee, Knoxville, in 1996, but has been involved with parallel computation and programming for over twenty years; six of those years were spent in academia at Eastern Washington University and The University of Southern Mississippi.

    View Clay Breshears's full profile page.

Colophon

The cover image is an aerial view of wheat-harvesting combines from Getty Images. The cover fonts are Akzidenz Grotesk and Orator. The text font is Adobe's Meridien; the heading font is ITC Bailey.

  • Book cover of The Art of Concurrency