《分布式计算 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)阿蒂雅等著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:7121062437
  • 页数:302 页
图书介绍:分布式计算系统现在越来越受到人们的重视,为使该较难的主题易于理解,本书简介分布式计算的数学基础和理论,揭示设计分布式系统的底层问题(通信、协调、同步及不确定)和基本的算法概念及下界技术。所涉及模型的问题领域包括领导者选举,互斥,一致性,时钟同步等,以及最新的快速互斥算法、对列锁、分布式共享存储器、无等待层级和故障检测器等。本书涵盖了分布式计算理论的主要内容,强调不同模型之间的相似点,同时也解释了它们之间的内在差异。

第1章 引言 1

1.1 分布式系统 1

1.2 分布式计算理论 1

1.3 内容概要 2

1.4 理论和实践的关系 3

本章注释 4

第一部分 6

第2章 消息传递系统中的基本算法 6

2.1 消息传递系统的形式化模型 6

2.1.1 系统 6

2.1.2 复杂度度量 8

2.1.3 伪代码惯例 9

2.2 生成树上的广播和敛播 10

2.2.1 广播 10

2.2.2 敛播 12

2.3 洪泛算法及构造生成树 13

2.4 构造指定根的深度-优先搜索生成树 16

2.5 构造不指定根的深度-优先搜索生成树 17

练习 19

本章注释 20

第3章 环中领导者选举算法 22

3.1 领导者选举问题 22

3.2 匿名环 22

3.3 异步环 23

3.3.1 O(n2)算法 24

3.3.2 O(n log n)算法 24

3.3.3 下界Ω(n log n) 26

3.4 同步环 30

3.4.1 上界O(n) 30

3.4.2 受限算法的下界Ω(n log n) 34

练习 40

本章注释 40

第4章 共享存储器中的互斥 42

4.1 共享存储器系统的形式化模型 42

4.1.1 系统 42

4.1.2 复杂度度量 44

4.1.3 伪代码惯例 44

4.2 互斥问题 44

4.3 使用强原语的互斥 46

4.3.1 二进制测试&设置寄存器 46

4.3.2 读-改-写寄存器 47

4.3.3 存储器状态数的下界 49

4.4 利用读/写寄存器实现互斥 51

4.4.1 面包店(Bakery)算法 51

4.4.2 两处理器的有界互斥算法 53

4.4.3 n处理器的有界互斥算法 56

4.4.4 读/写寄存器个数的下界 58

4.4.5 快速互斥 62

练习 63

本章注释 64

第5章 容错一致性 66

5.1 有损毁故障的同步系统 66

5.1.1 形式化模型 66

5.1.2 一致性问题 67

5.1.3 一个简单的算法 67

5.1.4 轮数下界 68

5.2 有Byzantine故障的同步系统 72

5.2.1 形式化模型 72

5.2.2 再论一致性问题 73

5.2.3 故障处理器比率的下界 73

5.2.4 一个指数级算法 75

5.2.5 一个多项式算法 78

5.3 异步系统中的不可能性 79

5.3.1 共享存储器-无等待情况 80

5.3.2 共享存储器:一般情况 81

5.3.3 消息传递 87

练习 88

本章注释 90

第6章 因果关系和时间 92

6.1 捕获因果关系 92

6.1.1 先于-发生关系 92

6.1.2 逻辑时钟 94

6.1.3 向量时钟 95

6.1.4 共享存储器系统 98

6.2 应用因果关系的例子 98

6.2.1 一致割 99

6.2.2 “先于-发生”关系的局限性:会话问题 101

6.3 时钟同步 103

6.3.1 物理时钟建模 104

6.3.2 时钟同步问题 106

6.3.3 两处理器情形 107

6.3.4 上限 109

6.3.5 下限 110

6.3.6 应用时钟同步:估计时钟差别 111

练习 112

本章注释 113

第二部分 116

第7章 模拟的形式化模型 116

7.1 问题规格说明 116

7.2 通信系统 116

7.2.1 异步的点到点消息传递 117

7.2.2 异步广播 117

7.3 进程 118

7.4 合法性 120

7.5 模拟 121

7.6 伪代码惯例 122

练习 122

本章注释 122

第8章 广播与多播 123

8.1 广播服务规格 123

8.1.1 基本服务规格 123

8.1.2 广播服务质量 124

8.2 广播服务的实现 126

8.2.1 基本广播服务 126

8.2.2 单源FIFO排序 126

8.2.3 完全排序广播 127

8.2.4 因果关系 129

8.2.5 可靠性 131

8.3 分组多播 132

8.3.1 规格说明 133

8.3.2 多播的实现 134

8.4 一个应用:复制 135

8.4.1 数据库复制 135

8.4.2 状态机方法 136

练习 137

本章注释 137

第9章 分布式共享存储器 140

9.1 可线性化的共享存储器 140

9.2 顺序一致的共享存储器 142

9.3 算法 142

9.3.1 可线性化 143

9.3.2 顺序一致性 144

9.4 下界 147

9.4.1 向分层模型加入时间和时钟 147

9.4.2 顺序一致性 147

9.4.3 可线性化 148

练习 151

本章注释 151

第10章 读/写对象的容错模拟 154

10.1 容错共享存储器模拟 154

10.2 简单的读/写寄存器模拟 155

10.2.1 使用二值寄存器模拟多值寄存器 156

10.2.2 使用单读者寄存器模拟多读者寄存器 160

10.2.3 使用单写者寄存器模拟多写者寄存器 164

10.3 原子快照对象 166

10.3.1 握手过程 167

10.3.2 容量有限的存储器模拟 168

10.4 在消息传递系统中模拟共享寄存器 171

练习 176

本章注释 176

第11章 模拟同步 178

11.1 同步消息传递规格说明 178

11.2 模拟同步处理器 179

11.3 模拟同步处理器与同步通信 181

11.3.1 一个简单的同步器 181

11.3.2 应用:构建宽度优先搜索树 184

11.4 局部模拟与全局模拟 184

练习 185

本章注释 185

第12章 改进算法的容错性 187

12.1 概述 187

12.2 同步处理器和Byzantine故障的建模 188

12.3 在Byzantine故障之上模拟等同Byzantine故障 190

12.3.1 等同Byzantine的定义 190

12.3.2 模拟等同Byzantine 190

12.4 在等同Byzantine故障之上模拟疏漏故障 193

12.4.1 疏漏的定义 193

12.4.2 模拟疏漏 193

12.5 在疏漏故障之上模拟损毁故障 197

12.5.1 损毁的定义 197

12.5.2 模拟损毁 198

12.6 应用:Byzantine故障下的一致性 200

12.7 在Byzantine故障之上模拟异步等同Byzantine 201

12.7.1 异步等同Byzantine的定义 201

12.7.2 异步Byzantine的定义 202

12.7.3 模拟异步等同Byzantine 202

练习 204

本章注释 205

第13章 容错的时钟同步 206

13.1 问题定义 206

13.2 故障处理器的比率 207

13.3 一个时钟同步算法 211

13.3.1 定时故障 211

13.3.2 Byzantine故障 216

13.4 实际时钟同步:识别故障时钟 217

练习 217

本章注释 218

第三部分 222

第14章 随机化 222

14.1 领导者选举:案例研究 222

14.1.1 问题定义的弱化 222

14.1.2 同步的一次性(one-shot)算法 223

14.1.3 同步迭代算法和期望 224

14.1.4 异步系统与对手 225

14.1.5 统一的算法的不可能性 226

14.1.6 概率定义的总结 227

14.2 带有少量共享变量的互斥 227

14.3 一致性 230

14.3.1 一般的算法方案 231

14.3.2 具有常数偏差的公共投币 235

14.3.3 容忍Byzantine故障 236

14.3.4 共享存储器系统 237

练习 237

本章注释 238

第15章 任意对象的无等待模拟 240

15.1 例子:一个FIFO队列 240

15.2 无等待层次 244

15.3 通用性 244

15.3.1 利用比较&交换实现的非阻塞模拟 245

15.3.2 使用一致性对象的非阻塞算法 246

15.3.3 利用一致性对象实现的无等待算法 248

15.3.4 界定存储需求 250

15.3.5 处理不确定性 252

15.3.6 利用随机化一致性 252

练习 252

本章注释 253

第16章 异步系统中的可解问题 255

16.1 k-set一致性 255

16.2 近似一致性 261

16.2.1 已知输入值范围 262

16.2.2 输入值范围未知 264

16.3 重命名 265

16.3.1 无等待情况 266

16.3.2 一般情况 268

16.3.3 长生存期重命名 268

16.4 k-排斥与k-指派问题 270

16.4.1 解决k-排斥问题的一个算法 271

16.4.2 解决k-指派问题的算法 272

练习 272

本章注释 274

第17章 解决最终稳定系统的一致性问题 276

17.1 在共享存储器系统中保持安全性 276

17.2 故障检测器 278

17.3 利用故障检测器解决一致性 279

17.3.1 利用◇S解决一致性 279

17.3.2 利用◇S解决一致性问题 281

17.3.3 利用Ω解决一致性 281

17.4 故障检测器的实现 282

17.5 使用故障检测器实现状态机复制 283

练习 283

本章注释 284

参考文献 286