The Art of Multiprocessor Programming - Maurice Herlihy, Nir Shavit

The Art of Multiprocessor Programming

Maurice Herlihy, Nir Shavit

出版时间

2008-03-14

ISBN

9780123705914

评分

★★★★★
书籍介绍
As the computer industry changes from single-processor to multiprocessor architectures, this revolution requires a fundamental change in how programs are written. To leverage the performance and power of multiprocessor programming, also known as multicore programming, you need to learn the new principles, algorithms, and tools presented in this book. It includes fully-developed Java examples detailing data structures, synchronization techniques, transactional memory, and more. Prof. Maurice Herlihy, who coined the phrase "transactional memory," is on the faculty of Brown University. He is the recipient of the 2003 Dijkstra Prize in distributed computing. Prof. Nir Shavit is on the faculty of Tel-Aviv University and a member of the technical staff at Sun Microsystems Laboratories. In 2004 they shared the Gödel Prize, the highest award in theoretical computer science. * THE book on multicore programming, the new paradigm of computer science * Written by the world's most revered experts in multiprocessor programming and performance * Includes examples, models, exercises, PowerPoint slides, and sample Java programs
精彩摘录
  • "举个例子,如果你在星期一存入工资,但是由于银行在提款后重排了存款的顺序,导致到下一个星期五才退出资金收据,这将使你感到非常恼火。"
  • "For example, we might be unhappy if we deposit our paycheck on Monday, but the bank bounces our rent check the following Friday because it reordered our deposit after your withdrawal."
  • "the TASLock performs very poorly, and the TTASLock performance, while substantially better, still falls far short of the ideal."
  • "Now consider the behavior of the TTASLock algorithm while the lock is held by a thread A. The first time thread B reads the lock it takes a cache miss, forcing B to block while the value is loaded into B's cache. As long as A holds the lock, B repeatly reread the value, but hits in the cache every t"
  • "This notion of local spinning, where threads repeatly reread cached values instead of repeatedly using the bus, is an important principle critical to the design of efficeient spin locks. Here is a key observation: if some other thread aquires the lock between hte first and second step, then, most li"
用户评论
as the title, this's about art more than engineering
这本书是我们的课本。不知道为什么这么多人竟然说很好。个人感觉读过以后仍然一头雾水,不得不去翻翻原来的paper看,通过读由来的paper以后清楚很多。比如说第三章讲linearizable,就很不清楚。这本书只能当目录来看,里面有很多不详细的内容,还有很多错误的地方,都需要去翻翻paper才能明白。
The first part of the book is invaluable resource for nonblocking sychronization
帮助我理解了很多锁算法的实现原理。
收藏