图书介绍

多处理器编程的艺术PDF|Epub|txt|kindle电子书版本网盘下载

多处理器编程的艺术
  • (美)MauriceHerlihy,NirShavit著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111268055
  • 出版时间:2009
  • 标注页数:356页
  • 文件大小:48MB
  • 文件页数:369页
  • 主题词:微处理器-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

多处理器编程的艺术PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 引言1

1.1 共享对象和同步2

1.2 生活实例4

1.2.1 斥特性6

1.2.2 道德7

1.3 生产者-消费者问题7

1.4 读者-写者问题9

1.5 并行的困境9

1.6 并行程序设计11

1.7 本章注释11

1.8 习题11

第一部分 原理13

第2章 互斥13

2.1 时间13

2.2 临界区13

2.3 双线程解决方案15

2.3.1 LockOne类15

2.3.2 LockTwo类16

2.3.3 Peterson锁17

2.4 过滤锁18

2.5 公平性20

2.6 Bakery算法20

2.7 有界时间戳22

2.8 存储单元数量的下界24

2.9 本章注释26

2.10 习题27

第3章 并发对象30

3.1 并发性与正确性30

3.2 顺序对象32

3.3 静态一致性33

3.4 顺序一致性34

3.5 可线性化性37

3.5.1 可线性化点37

3.5.2 评析37

3.6 形式化定义37

3.6.1 可线性化性38

3.6.2 可线性化性的复合性39

3.6.3 非阻塞特性39

3.7 演进条件40

3.8 Java存储器模型42

3.8.1 锁和同步块43

3.8.2 volatile域43

3.8.3 final域43

3.9 评析44

3.10 本章注释45

3.11 习题45

第4章 共享存储器基础49

4.1 寄存器空间49

4.2 寄存器构造53

4.2.1 MRSW安全寄存器54

4.2.2 MRSW规则布尔寄存器54

4.2.3 M-值MRSW规则寄存器55

4.2.4 SRSW原子寄存器56

4.2.5 MRSW原子寄存器58

4.2.6 MRMW原子寄存器59

4.3 原子快照61

4.3.1 无障碍快照62

4.3.2 无等待快照63

4.3.3 正确性证明65

4.4 本章注释66

4.5 习题66

第5章 同步原子操作的相对能力69

5.1 一致数69

5.2 原子寄存器71

5.3 一致性协议73

5.4 FIFO队列73

5.5 多重赋值对象76

5.6 读-改-写操作78

5.7 Common2 RMW操作79

5.8 compareAndSet()操作80

5.9 本章注释81

5.10 习题82

第6章 一致性的通用性86

6.1 引言86

6.2 通用性87

6.3 一种通用的无锁构造87

6.4 一种通用的无等待构造90

6.5 本章注释94

6.6 习题94

第二部分 实践97

第7章 自旋锁与争用97

7.1 实际问题97

7.2 测试-设置锁99

7.3 再论基于TAS的自旋锁101

7.4 指数后退101

7.5 队列锁103

7.5.1 基于数组的锁103

7.5.2 CLH队列锁105

7.5.3 MCS队列锁106

7.6 时限队列锁109

7.7 复合锁111

7.8 层次锁117

7.8.1 层次后退锁117

7.8.2 层次CLH队列锁118

7.9 由一个锁管理所有的锁122

7.10 本章注释122

7.11 习题123

第8章 管程和阻塞同步125

8.1 引言125

8.2 管程锁和条件125

8.2.1 条件126

8.2.2 唤醒丢失问题129

8.3 读者-写者锁130

8.3.1 简单的读者-写者锁130

8.3.2 公平的读者-写者锁131

8.4 我们的可重入锁133

8.5 信号量134

8.6 本章注释135

8.7 习题135

第9章 链表:锁的作用138

9.1 引言138

9.2 基于链表的集合139

9.3 并发推理140

9.4 粗粒度同步141

9.5 细粒度同步142

9.6 乐观同步145

9.7 惰性同步148

9.8 非阻塞同步152

9.9 讨论156

9.10 本章注释156

9.11 习题157

第10章 并行队列和ABA问题158

10.1 引言158

10.2 队列159

10.3 部分有界队列159

10.4 完全无界队列162

10.5 无锁的无界队列163

10.6 内存回收和ABA问题165

10.7 双重数据结构169

10.8 本章注释171

10.9 习题171

第11章 并发栈和消除173

11.1 引言173

11.2 无锁的无界栈173

11.3 消除175

11.4 后退消除栈175

11.4.1 无锁交换机176

11.4.2 消除数组178

11.5 本章注释180

11.6 习题180

第12章 计数、排序和分布式协作183

12.1 引言183

12.2 共享计数183

12.3 软件组合184

12.3.1 概述184

12.3.2 一个扩展实例189

12.3.3 性能和健壮性190

12.4 静态一致池和计数器191

12.5 计数网191

12.5.1 可计数网192

12.5.2 双调计数网193

12.5.3 性能和流水线200

12.6 衍射树200

12.7 并行排序203

12.8 排序网203

12.9 样本排序206

12.10 分布式协作207

12.11 本章注释207

12.12 习题208

第13章 并发哈希和固有并行211

13.1 引言211

13.2 封闭地址哈希集212

13.2.1 粗粒度哈希集213

13.2.2 空间分带哈希集214

13.2.3 细粒度哈希集216

13.3 无锁哈希集218

13.3.1 递归有序划分218

13.3.2 BucketList类221

13.3.3 LockFreeHashSet〈T〉类222

13.4 放地址哈希集224

13.4.1 Cuckoo哈希224

13.4.2 并发Cuckoo哈希225

13.4.3 空间分带的并发Cuckoo哈希229

13.4.4 细粒度的并发Cuckoo哈希集230

13.5 本章注释232

13.6 习题233

第14章 跳表和平衡查找234

14.1 引言234

14.2 顺序跳表234

14.3 基于锁的并发跳表235

14.3.1 简介235

14.3.2 算法237

14.4 无锁并发跳表242

14.4.1 简介242

14.4.2 算法细节244

14.5 并发跳表250

14.6 本章注释250

14.7 习题250

第15章 优先级队列252

15.1 引言252

15.2 基于数组的有界优先级队列252

15.3 基于树的有界优先级队列253

15.4 基于堆的无界优先级队列255

15.4.1 顺序堆255

15.4.2 并发堆257

15.5 基于跳表的无界优先级队列261

15.6 本章注释263

15.7 习题264

第16章 异步执行、调度和工作分配265

16.1 引言265

16.2 并行分析270

16.3 多处理器的实际调度272

16.4 工作分配274

16.4.1 工作窃取274

16.4.2 屈从和多道程序设计274

16.5 工作窃取双端队列275

16.5.1 有界工作窃取双端队列275

16.5.2 无界工作窃取双端队列278

16.5.3 工作平衡282

16.6 本章注释283

16.7 习题283

第17章 障碍286

17.1 引言286

17.2 障碍实现287

17.3 语义换向障碍287

17.4 组合树障碍288

17.5 静态树障碍290

17.6 终止检测障碍292

17.7 本章注释295

17.8 习题295

第18章 事务内存301

18.1 引言301

18.1.1 关于锁的问题301

18.1.2 关于compareAndSet()的问题302

18.1.3 关于复合性的问题303

18.1.4 我们能做什么304

18.2 事务和原子性304

18.3 软事务内存305

18.3.1 事务和事务线程308

18.3.2 僵尸事务和一致性309

18.3.3 原子对象310

18.3.4 如何演进310

18.3.5 争用管理器311

18.3.6 原子对象的实现313

18.3.7 无干扰原子对象314

18.3.8 基于锁的原子对象317

18.4 硬事务内存322

18.4.1 缓存一致性323

18.4.2 事务缓存一致性323

18.4.3 引进324

18.5 本章注释324

18.6 习题325

第三部分 附录327

附录A 软件基础327

附录B 硬件基础339

参考文献349

热门推荐