Author picture

Works by Nir Shavit

The Art of Multiprocessor Programming (2008) — Author — 174 copies, 1 review

Associated Works

Handbook of Data Structures and Applications (2004) — Contributor — 31 copies

Tagged

Common Knowledge

Birthdate
1959-10-18
Gender
male
Organizations
ACM (Fellow, 2013)
Awards and honors
Gödel Prize (2004)
Dijkstra Prize (2012)
Nationality
Israel
Associated Place (for map)
Israel

Members

Reviews

1 review
This book gives a thorough introduction into shared-memory multicore programming in two parts. The first part is "Theory": it contains quite a few proofs and introduces essential notions like "sequential consistency (w.r.t. objects)". The second part is "Practice" and gives implementations of important parallel algorithms. Each chapter contains many exercises, which I did not look at.

The whole book (esp. the second part) contains many code examples and uses Java exclusively. Unfortunately, show more the Java memory-model (or any other memory-model) is not discussed at all. I found it particularly unfortunate that the first part uses Java-pseudo-code in the sense that it does not use "volatile" or Java-atomics but quietly assumes executions that are sequentially consistent (w.r.t. memory-model); in other words, one is expected not to ever compile the code. The second part, however, does not suffer from this.

The explanations are clear and the text is carefully written. The material is dense, deep, and often subtle (one has to allot some time to work through). The proofs in the first part are interesting and (with a bit of work) understandable. I would also have liked to see correctness proofs of some algorithms in part two, especially the lock-free ones since their correctness often remained obscure. To this last objection the authors would probably respond that such correctness proofs are beyond the scope of the book. I object anyway.
show less

You May Also Like

Associated Authors

Statistics

Works
1
Also by
1
Members
174
Popularity
#123,125
Rating
3.8
Reviews
1
ISBNs
8
Languages
2

Charts & Graphs