多处理器编程的艺术:中文版 修订版

多处理器编程的艺术
8.4
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] [美]
出版社: 机械工业出版社
2013-05
版次: 1
ISBN: 9787111418580
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 383页
原版书名: The Art of Multiprocessor Programming, Revised First Edition
  •   《计算机科学丛书:多处理器编程的艺术(修订版)》从原理和实践两个方面全面阐述了多处理器编程的指导原则,包含编制高效的多处理器程序所必备的算法技术。此外,附录提供了采用其他程序设计语言包(如C#、C及C++的PThreads库)进行编程的相关背景知识以及硬件基础知识。  《计算机科学丛书:多处理器编程的艺术(修订版)》适合作为高等院校计算机及相关专业高年级本科生及研究生的教材,同时也可作为相关技术人员的参考书。 Maurice Herlihy 哈佛大学的数学学士和麻省理工学院的计算机科学博士,目前为美国布朗大学计算机科学系教授,曾工作于卡内基-梅隆大学和DEC剑桥实验室。他是美国ACM会士,2003年分布式计算领域Dijkstra奖获得者。
    Nir Shavit 以色列希伯来大学的计算机科学博士,目前为麻省理工学院电子工程和计算机科学系教授、以色列特拉维夫大学计算机科学系教授。1999~2011年期间,他担任Sun实验室的技术人员。
    两位作者在2004年获得了理论计算机领域最高奖——哥德尔奖(G?del Prize),2012年他们共享了分布式计算领域的Edsger W. Dijkstra奖,40多年来他们一起合作,从事并行和分布式计算教学和研发工作。 出版者的话译者序前言教学建议第1章引言1.1共享对象和同步1.2生活实例1.2.1互斥特性1.2.2道德1.3生产者-消费者问题1.4读者-写者问题1.5并行的困境1.6并行程序设计1.7本章注释1.8习题第一部分原理第2章互斥2.1时间2.2临界区2.3双线程解决方案2.3.1LockOne类2.3.2LockTwo类2.3.3Peterson锁2.4过滤锁2.5公平性2.6Bakery算法2.7有界时间戳2.8存储单元数量的下界2.9本章注释2.10习题第3章并发对象3.1并发性与正确性3.2顺序对象3.3静态一致性3.4顺序一致性3.5可线性化性3.5.1可线性化点3.5.2评析3.6形式化定义3.6.1可线性化性3.6.2可线性化性的复合性3.6.3非阻塞特性3.7演进条件3.8Java存储器模型3.8.1锁和同步块3.8.2volatile域3.8.3final域3.9评析3.10本章注释3.11习题第4章共享存储器基础4.1寄存器空间4.2寄存器构造4.2.1MRSW安全寄存器4.2.2MRSW规则布尔寄存器4.2.3M-值MRSW规则寄存器4.2.4SRSW原子寄存器4.2.5MRSW原子寄存器4.2.6MRMW原子寄存器4.3原子快照4.3.1无障碍快照4.3.2无等待快照4.3.3正确性证明4.4本章注释4.5习题第5章同步原子操作的相对能力5.1一致数5.2原子寄存器5.3一致性协议5.4FIFO队列5.5多重赋值对象5.6读-改-写操作5.7Common2RMW操作5.8compareAndSet()操作5.9本章注释5.10题第6章一致性的通用性6.1引言6.2通用性6.3一种通用的无锁构造6.4一种通用的无等待构造6.5本章注释6.6习题第二部分实践第7章自旋锁与争用7.1实际问题7.2测试-设置锁7.3再论基于TAS的自旋锁7.4指数后退7.5队列锁7.5.1基于数组的锁7.5.2CLH队列锁7.5.3MCS队列锁7.6时限队列锁7.7复合锁7.8层次锁7.8.1层次后退锁7.8.2层次CLH队列锁7.9由一个锁管理所有的锁7.10本章注释7.11习题第8章管程和阻塞同步8.1引言8.2管程锁和条件8.2.1条件8.2.2唤醒丢失问题8.3读者-写者锁8.3.1简单的读者-写者锁8.3.2公平的读者-写者锁8.4我们的可重入锁8.5信号量8.6本章注释8.7习题第9章链表:锁的作用9.1引言9.2基于链表的集合9.3并发推理9.4粗粒度同步9.5细粒度同步9.6乐观同步9.7惰性同步9.8非阻塞同步9.9讨论9.10本章注释9.11习题第10章并行队列和ABA问题10.1引言10.2队列10.3部分有界队列10.4完全无界队列10.5无锁的无界队列10.6内存回收和ABA问题10.7双重数据结构10.8本章注释10.9习题第11章并发栈和消除11.1引言11.2无锁的无界栈11.3消除11.4后退消除栈11.4.1无锁交换机11.4.2消除数组11.5本章注释11.6习题第12章计数、排序和分布式协作12.1引言12.2共享计数12.3软件组合12.3.1概述12.3.2一个扩展实例12.3.3性能和健壮性12.4静态一致池和计数器12.5计数网12.5.1可计数网12.5.2双调计数网12.5.3性能和流水线12.6衍射树12.7并行排序12.8排序网12.9样本排序12.10分布式协作12.11本章注释12.12习题第13章并发哈希和固有并行13.1引言13.2封闭地址哈希集13.2.1粗粒度哈希集13.2.2空间分带哈希集13.2.3细粒度哈希集13.3无锁哈希集13.3.1递归有序划分13.3.2BucketList类13.3.3LockFreeHashSet类13.4开放地址哈希集13.4.1Cuckoo哈希13.4.2并发Cuckoo哈希13.4.3空间分带的并发Cuckoo哈希13.4.4细粒度的并发Cuckoo哈希集13.5本章注释13.6习题第14章跳表和平衡查找14.1引言14.2顺序跳表14.3基于锁的并发跳表14.3.1简介14.3.2算法14.4无锁并发跳表14.4.1简介14.4.2算法细节14.5并发跳表14.6本章注释14.7习题第15章优先级队列15.1引言15.2基于数组的有界优先级队列15.3基于树的有界优先级队列15.4基于堆的无界优先级队列15.4.1顺序堆15.4.2并发堆15.5基于跳表的无界优先级队列15.6本章注释15.7习题第16章异步执行、调度和工作分配16.1引言16.2并行分析16.3多处理器的实际调度16.4工作分配16.4.1工作窃取16.4.2屈从和多道程序设计16.5工作窃取双端队列16.5.1有界工作窃取双端队列16.5.2无界工作窃取双端队列16.5.3工作平衡16.6本章注释16.7习题第17章障碍17.1引言17.2障碍实现17.3语义换向障碍17.4组合树障碍17.5静态树障碍17.6终止检测障碍17.7本章注释17.8习题第18章事务内存18.1引言18.1.1关于锁的问题18.1.2关于compareAndSet()的问题18.1.3关于复合性的问题18.1.4我们能做什么18.2事务和原子性18.3软事务内存18.3.1事务和事务线程18.3.2僵尸事务和一致性18.3.3原子对象18.3.4如何演进18.3.5争用管理器18.3.6原子对象的实现18.3.7无干扰原子对象18.3.8基于锁的原子对象18.4硬事务内存18.4.1缓存一致性18.4.2事务缓存一致性18.4.3改进18.5本章注释18.6习题第三部分附录附录A软件基础附录B硬件基础参考文献索引
  • 内容简介:
      《计算机科学丛书:多处理器编程的艺术(修订版)》从原理和实践两个方面全面阐述了多处理器编程的指导原则,包含编制高效的多处理器程序所必备的算法技术。此外,附录提供了采用其他程序设计语言包(如C#、C及C++的PThreads库)进行编程的相关背景知识以及硬件基础知识。  《计算机科学丛书:多处理器编程的艺术(修订版)》适合作为高等院校计算机及相关专业高年级本科生及研究生的教材,同时也可作为相关技术人员的参考书。
  • 作者简介:
    Maurice Herlihy 哈佛大学的数学学士和麻省理工学院的计算机科学博士,目前为美国布朗大学计算机科学系教授,曾工作于卡内基-梅隆大学和DEC剑桥实验室。他是美国ACM会士,2003年分布式计算领域Dijkstra奖获得者。
    Nir Shavit 以色列希伯来大学的计算机科学博士,目前为麻省理工学院电子工程和计算机科学系教授、以色列特拉维夫大学计算机科学系教授。1999~2011年期间,他担任Sun实验室的技术人员。
    两位作者在2004年获得了理论计算机领域最高奖——哥德尔奖(G?del Prize),2012年他们共享了分布式计算领域的Edsger W. Dijkstra奖,40多年来他们一起合作,从事并行和分布式计算教学和研发工作。
  • 目录:
    出版者的话译者序前言教学建议第1章引言1.1共享对象和同步1.2生活实例1.2.1互斥特性1.2.2道德1.3生产者-消费者问题1.4读者-写者问题1.5并行的困境1.6并行程序设计1.7本章注释1.8习题第一部分原理第2章互斥2.1时间2.2临界区2.3双线程解决方案2.3.1LockOne类2.3.2LockTwo类2.3.3Peterson锁2.4过滤锁2.5公平性2.6Bakery算法2.7有界时间戳2.8存储单元数量的下界2.9本章注释2.10习题第3章并发对象3.1并发性与正确性3.2顺序对象3.3静态一致性3.4顺序一致性3.5可线性化性3.5.1可线性化点3.5.2评析3.6形式化定义3.6.1可线性化性3.6.2可线性化性的复合性3.6.3非阻塞特性3.7演进条件3.8Java存储器模型3.8.1锁和同步块3.8.2volatile域3.8.3final域3.9评析3.10本章注释3.11习题第4章共享存储器基础4.1寄存器空间4.2寄存器构造4.2.1MRSW安全寄存器4.2.2MRSW规则布尔寄存器4.2.3M-值MRSW规则寄存器4.2.4SRSW原子寄存器4.2.5MRSW原子寄存器4.2.6MRMW原子寄存器4.3原子快照4.3.1无障碍快照4.3.2无等待快照4.3.3正确性证明4.4本章注释4.5习题第5章同步原子操作的相对能力5.1一致数5.2原子寄存器5.3一致性协议5.4FIFO队列5.5多重赋值对象5.6读-改-写操作5.7Common2RMW操作5.8compareAndSet()操作5.9本章注释5.10题第6章一致性的通用性6.1引言6.2通用性6.3一种通用的无锁构造6.4一种通用的无等待构造6.5本章注释6.6习题第二部分实践第7章自旋锁与争用7.1实际问题7.2测试-设置锁7.3再论基于TAS的自旋锁7.4指数后退7.5队列锁7.5.1基于数组的锁7.5.2CLH队列锁7.5.3MCS队列锁7.6时限队列锁7.7复合锁7.8层次锁7.8.1层次后退锁7.8.2层次CLH队列锁7.9由一个锁管理所有的锁7.10本章注释7.11习题第8章管程和阻塞同步8.1引言8.2管程锁和条件8.2.1条件8.2.2唤醒丢失问题8.3读者-写者锁8.3.1简单的读者-写者锁8.3.2公平的读者-写者锁8.4我们的可重入锁8.5信号量8.6本章注释8.7习题第9章链表:锁的作用9.1引言9.2基于链表的集合9.3并发推理9.4粗粒度同步9.5细粒度同步9.6乐观同步9.7惰性同步9.8非阻塞同步9.9讨论9.10本章注释9.11习题第10章并行队列和ABA问题10.1引言10.2队列10.3部分有界队列10.4完全无界队列10.5无锁的无界队列10.6内存回收和ABA问题10.7双重数据结构10.8本章注释10.9习题第11章并发栈和消除11.1引言11.2无锁的无界栈11.3消除11.4后退消除栈11.4.1无锁交换机11.4.2消除数组11.5本章注释11.6习题第12章计数、排序和分布式协作12.1引言12.2共享计数12.3软件组合12.3.1概述12.3.2一个扩展实例12.3.3性能和健壮性12.4静态一致池和计数器12.5计数网12.5.1可计数网12.5.2双调计数网12.5.3性能和流水线12.6衍射树12.7并行排序12.8排序网12.9样本排序12.10分布式协作12.11本章注释12.12习题第13章并发哈希和固有并行13.1引言13.2封闭地址哈希集13.2.1粗粒度哈希集13.2.2空间分带哈希集13.2.3细粒度哈希集13.3无锁哈希集13.3.1递归有序划分13.3.2BucketList类13.3.3LockFreeHashSet类13.4开放地址哈希集13.4.1Cuckoo哈希13.4.2并发Cuckoo哈希13.4.3空间分带的并发Cuckoo哈希13.4.4细粒度的并发Cuckoo哈希集13.5本章注释13.6习题第14章跳表和平衡查找14.1引言14.2顺序跳表14.3基于锁的并发跳表14.3.1简介14.3.2算法14.4无锁并发跳表14.4.1简介14.4.2算法细节14.5并发跳表14.6本章注释14.7习题第15章优先级队列15.1引言15.2基于数组的有界优先级队列15.3基于树的有界优先级队列15.4基于堆的无界优先级队列15.4.1顺序堆15.4.2并发堆15.5基于跳表的无界优先级队列15.6本章注释15.7习题第16章异步执行、调度和工作分配16.1引言16.2并行分析16.3多处理器的实际调度16.4工作分配16.4.1工作窃取16.4.2屈从和多道程序设计16.5工作窃取双端队列16.5.1有界工作窃取双端队列16.5.2无界工作窃取双端队列16.5.3工作平衡16.6本章注释16.7习题第17章障碍17.1引言17.2障碍实现17.3语义换向障碍17.4组合树障碍17.5静态树障碍17.6终止检测障碍17.7本章注释17.8习题第18章事务内存18.1引言18.1.1关于锁的问题18.1.2关于compareAndSet()的问题18.1.3关于复合性的问题18.1.4我们能做什么18.2事务和原子性18.3软事务内存18.3.1事务和事务线程18.3.2僵尸事务和一致性18.3.3原子对象18.3.4如何演进18.3.5争用管理器18.3.6原子对象的实现18.3.7无干扰原子对象18.3.8基于锁的原子对象18.4硬事务内存18.4.1缓存一致性18.4.2事务缓存一致性18.4.3改进18.5本章注释18.6习题第三部分附录附录A软件基础附录B硬件基础参考文献索引
查看详情
好书推荐 / 更多
多处理器编程的艺术
胡迁作品:大象席地而坐
胡迁 著
多处理器编程的艺术
OPUS作品(套装上下册)
[日]今敏 著;Mrs.X 译
多处理器编程的艺术
近代能乐集(三岛由纪夫戏剧代表作,爱与美与死的永恒角力)
[日]三岛由纪夫 著;玖羽 译
多处理器编程的艺术
上海字记:百年汉字设计档案
姜庆共、刘瑞樱 著
多处理器编程的艺术
唐宋“古文运动”与士大夫文学
朱刚 著;王水照 编
多处理器编程的艺术
行星
[英]贾尔斯•斯帕罗;Giles•Sparrow
多处理器编程的艺术
马里琳·鲁滨逊作品基列三部曲:基列家书(2005年获得普利策小说奖,《卫报》21世纪百本伟大小说
玛丽莲·罗宾逊 著;李尧 译
多处理器编程的艺术
特拉法尔加战役
朱利安·S.科贝特(Julian,S.,Corbett) 著;陈骆 译
多处理器编程的艺术
大雪将至
[奥地利]罗伯特•泽塔勒 著
多处理器编程的艺术
中国叙事学(第2版)
[美]浦安迪(Andrew H.Plaks) 著
多处理器编程的艺术
肉体与石头:西方文明中的身体与城市
[美]理查德·桑内特 著;黄煜文 译
多处理器编程的艺术
维多利亚女王:作为君王和女性的一生
[英]露西·沃斯利 著;张佩 译