Is Parallel Programming Hard, And, If So, What Can You Do About It? (Second Edition)

The second edition version is available in double-column and single-column formats as PDF.

The default double-column format is easiest on both the trees and the eyes in paperback book form. The single-column format works well on large-format ebook readers. Medium-format ebook readers reportedly do well on single-column PDFs that have been run through PDF-cropping tools, a number of which can be found by doing a web search for “pdf crop”. Balbir Singh and Akira Yokosawa are working on an ebook PDF for the Third Edition, and initial prototypes look promising.

If you would like a dead-tree copy, please feel free to use any of a number of internet-accessible printing services, or you can find dead-tree copies of the first edition. If you would like a fancy dead-tree copy, there is artwork for front and back covers, courtesy of Melissa Broussard. The older cover art (also courtesy of Melissa) is still available for those who prefer the classic look (front and back).

Contributions are welcome, and to that end, a public git tree may be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/perfbook.git.

This git tree also provides an up-to-date version for those who are too impatient to wait for the next release. There is an email list (perfbook@vger.kernel.org, subscribe here) for feedback, patches, review, and discussions.

Older versions are available as well:

The first edition and yet older versions are available here.

New releases should appear sporadically. This work is covered by the terms of the Creative Commons Attribution-Share Alike 3.0 United States license.