The Art of Multiprocessor Programming Book Review

I don’t remember why I started to subscribe to the Java concurrency-interest list. I find that overall, it is an excellent mailing list.

There was a post at one point about the Dante Inferno’s problem. It triggered my attention, so I decided to buy the book the post was referring to, The Art of Multiprocessor Programming by M Herlihy and N. Shavit.

The books starts with the basics, and is very didactic in its approach. I enjoyed to learn how locks work and how to build them almost out of nothing. The progression is good, starting with a half broken but simple lock and evolving to the more standard algorithm, like the Bakery Lock algorithm. The algorithms are extremely well explained. Later it explains the differences between spin locks (Bakery for example) and blocking locks, while presenting new algorithms for blocking locks. What is described in the many chapters is mainly how to write the javax.concurrency.utils library, why, and what to add to it. Here are the main subjects I found interesting even if they are not always well presented:

I like books that make me learn new concepts. In The Art of Multiprocessor Programming, there are plenty of concepts, ideas I had never heard about before, even though most of it is probably well known to specialists in the field. So even if some rare subjects could be presented better, I recommend that book to anybody interested in concurrent programming.

Comments

comments powered by Disqus