
Nir Shavit
Author of The Art of Multiprocessor Programming
Works by Nir Shavit
Associated Works
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
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
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
