The Art of Concurrency
A Thread Monkey's Guide to Writing Parallel Applications
Publisher: O'Reilly Media
Final Release Date: May 2009
Pages: 304

If you're looking to take full advantage of multi-core processors with concurrent programming, this practical book provides the knowledge and hands-on experience you need. The Art of Concurrency is one of the few resources to focus on implementing algorithms in the shared-memory model of multi-core processors, rather than just theoretical models or distributed-memory architectures. The book provides detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis for avoiding mistakes that programmers typically make when first attempting these computations.

Written by an Intel engineer with over two decades of parallel and concurrent programming experience, this book will help you:

  • Understand parallelism and concurrency
  • Explore differences between programming for shared-memory and distributed-memory
  • Learn guidelines for designing multithreaded applications, including testing and tuning
  • Discover how to make best use of different threading libraries, including Windows threads, POSIX threads, OpenMP, and Intel Threading Building Blocks
  • Explore how to implement concurrent algorithms that involve sorting, searching, graphs, and other practical computations

The Art of Concurrency shows you how to keep algorithms scalable to take advantage of new processors with even more cores. For developing parallel code algorithms for concurrent programming, this book is a must.

Table of Contents
Product Details
About the Author
Colophon
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyThe Art of Concurrency
 
4.3

(based on 3 reviews)

Ratings Distribution

  • 5 Stars

     

    (1)

  • 4 Stars

     

    (2)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

100%

of respondents would recommend this to a friend.

Pros

  • Helpful examples (3)

Cons

No Cons

Best Uses

  • Expert (3)
  • Intermediate (3)
    • Reviewer Profile:
    • Developer (3)

Reviewed by 3 customers

Displaying reviews 1-3

Back to top

(4 of 4 customers found this review helpful)

 
5.0

Mind Warping

By Senior Code Monkey

from Arlington, VA

About Me Designer, Developer

Verified Reviewer

Pros

  • Accurate
  • Concise
  • Easy to understand
  • Helpful examples
  • Well-written

Cons

    Best Uses

    • Expert
    • Intermediate
    • Student

    Comments about oreilly The Art of Concurrency:

    "The Art of Concurrency," by Clay Breshears, is an outstanding book on concurrent algorithms and multi-threaded programming. Breshears hits the sweet spot between rigor and readability, and manages to make a terrifically difficult subject accessible, if not the to layman, at least to motivated and experienced developers.

    While I cannot imagine a more accessible book on the subject, make no mistake: reading this book requires some serious head work and commitment. If you stay the course, you will review the details of algorithms that you vaguely remember (quick sort; Floyd's algorithm) and some that may be entirely new to you (PRAM). But the rewards are significant: not just a sense of accomplishment, but confidence that you could transform a gnarly serial algorithm into a parallel version that would run rings around the original. There is also the intangible benefit of having been forced to look at problems sideways, with the result that next time you need to engineer a solution, you will be less stuck in a rut and more apt to find an elegant, out-of-the-box solution.

    Although there are some eminently practical chapters on searching for potential race conditions, this book is not a cookbook of thread solutions: few developers will need to implement parallel binary searches, parallel sorts, or parallel graph traversal. Yet reading this book should make a developer better prepared to resolve more mundane concurrency issues. And it goes down easy: the author has a charming voice, loves his area of expertise, and takes delight in leading the reader through this subject.

    Without a doubt, this is one of the best books on programming that I have read.

    (2 of 2 customers found this review helpful)

     
    4.0

    Great introduction and reference

    By harningt

    from Huntertown, IN

    About Me Developer

    Verified Reviewer

    Pros

    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

      Best Uses

      • Expert
      • Intermediate

      Comments about oreilly The Art of Concurrency:

      With CPUs growing in power by adding additional core as opposed to just getting "faster", learning how to take advantage of parallel programming is a must. The book "The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications" by Clay Breshears works great as a reference and guide for determining when parallelization may be possible, how it could be done, and what to look out for.

      The book introduces the reader to parallel programming with a set of useful rules and guidelines to follow to plan for optimizing algorithms by distributing workloads through concurrent programming. Much of the remainder of the book enumerates some common tasks and how to make them concurrent. One of the best parts of the common task listing is the scorecard for evaluating the quality of the implementation. The scorecard includes the useful performance factors of "efficiency" and "scalability". It also includes the important details of "simplicity" and "portability", important when evaluating methods for maintainable code.
      The common threading tools OpenMP, Intel Thread Building Blocks, and POSIX threads are described in the early chapters and sprinkled throughout the examples in a useful manner, providing exposure to different ways one might implement concurency; not everyone needs to re-invent the wheel when optimizing tasks.

      (7 of 14 customers found this review helpful)

       
      4.0

      Content ok, style strange

      By Chrilly

      from Altmelon, Austria/Europe

      About Me Designer, Developer

      Verified Reviewer

      Pros

      • Accurate
      • Helpful examples

      Cons

        Best Uses

        • Expert
        • Intermediate

        Comments about oreilly The Art of Concurrency:

        The book is a good introduction into concurrent/parallel programming on shared memory machines. It shows how one can use the multiple cores on modern PCs. The author presents usefull examples in C++ (its in fact C). He covers OpenMP, TBB, Unix-Pthreads and Windows-Threads in a balanced way. There are (naturally) no MPI examples.
        A drawback of the book is the writing style. The author takes himself to serious and important. He "speaks" sometimes to the reader like a mother to a 3 years old child. Just to impress the reader, he mentions several times that he has a PhD in Computer-Science. Personally I was not impressed, because for a mathematician CS is a second-hand discipline. But that's another story.

        Another drawback of the book is, that the code is not available on the net.

        Displaying reviews 1-3

        Back to top

         
        Buy 2 Get 1 Free Free Shipping Guarantee
        Buying Options
        Immediate Access - Go Digital what's this?
        Ebook:  $35.99
        Formats:  DAISY, ePub, Mobi, PDF
        Print & Ebook:  $49.49
        Print:  $44.99