第一部分 需求和普通问题 2
第1章 集群计算概述 2
1.1 介绍 2
1.2 可扩展并行计算机体系结构 4
1.3 向低价并行计算前进的动机 5
1.4 机会的曙光 6
1.5 集群计算机及其体系结构 6
1.6 集群分类 8
1.7 集群的商品化部件 9
1.8 网络服务/通信软件 15
1.9 集群中间件和单一系统映像(SSI) 15
1.10 资源管理和调度(RMS) 19
1.11 编程环境和工具 21
1.12 集群应用程序 24
1.13 典型集群系统 24
1.14 SMP集群(CUIMPS) 28
1.15 总结 29
1.16 参考文献 31
第2章 集群设置和管理 34
2.1 介绍 34
2.2 设置集群 34
2.3 安全性 39
2.4 系统监控 42
2.5 系统调整 44
2.6 参考文献 47
3.1 介绍 49
第3章 构建可扩展的服务 49
3.2 环境 50
3.3 资源共享 54
3.4 资源共享的增强局部性 57
3.5 原型实现和扩展 64
3.6 结论和未来的研究 65
3.7 参考文献 66
第4章 可靠的集群计算 68
4.1 介绍 68
4.2 两个领域会聚 69
4.3 可靠性概念 72
4.4 集群的系统结构 73
4.5 检测和掩盖错误 76
4.6 从错误中恢复 79
4.7 可靠集群计算的实践 80
4.8 参考文献 82
第5章 开发高吞吐量的集群系统 84
5.1 介绍 84
5.2 Condor概述 85
5.3 软件开发 86
5.4 系统管理 89
5.5 总结 96
5.6 参考文献 96
第6章 性能模型与模拟 97
6.1 介绍 97
6.2 新的性能问题 98
6.3 有效并行计算的费用模型 100
6.4 结论 108
6.5 参考文献 109
7.1 概述 110
第7章 元计算:利用非正式的超级计算机 110
7.2 元计算的演变 112
7.3 元计算机的设计目标和问题 115
7.4 元计算项目 118
7.5 正在兴起的元计算系统 129
7.6 总结和结论 130
7.7 参考文献 132
第8章 在元计算系统中指定资源和服务 133
8.1 对资源描述工具的需求 133
8.2 指定硬件和软件资源的策略 134
8.3 资源和服务描述(RSD) 136
8.4 小结 142
8.5 参考文献 142
第二部分 网络、协议和I/O 147
第9章 高速网络 147
9.1 概述 147
9.2 设计问题 149
9.3 快速以太网 156
9.4 高性能并行接口(HiPPI) 158
9.5 异步传输模式(ATM) 161
9.6 可扩展并发接口(SCI) 165
9.7 ServerNet 167
9.8 Myrinet 169
9.9 内存通道 171
9.10 Synfinity 173
9.11 参考文献 175
10.2 通信性能的延迟/带宽评估 177
10.1 概述 177
第10章 轻量级消息传递系统 177
10.3 集群的传统通信机制 179
10.4 轻量级通信机制 181
10.5 内核级的轻量级通信 185
10.6 用户级的轻量级通信 188
10.7 消息传递系统之间的比较 190
10.8 参考文献 192
11.2 要求 194
11.1 概述 194
第11章 活动消息 194
11.3 AM编程模型 197
11.4 AM的实现 201
11.5 分析 208
11.6 AM上的编程模型 210
11.7 未来的工作 212
11.8 参考文献 213
12.1 网络为集群计算提供的服务 215
第12章 Xpress传输协议 215
12.2 一种新方法 216
12.3 XTP的功能 217
12.4 性能 222
12.5 应用 223
12.6 XTP在集群计算中的未来 225
12.7 参考文献 225
第13章 ATM集群中的拥塞管理 227
13.1 ATM网络概述 227
13.2 现有的方法 230
13.3 ATM在LAN上的模拟 231
13.4 移植计划 236
13.5 结论 240
13.6 参考文献 241
第14章 网络负载平衡 243
14.1 介绍 243
14.2 方法 243
14.3 常见错误 251
14.4 产品 252
14.6 参考文献 257
14.5 总结 257
第15章 多通路通信 259
15.1 介绍 259
15.2 网络及应用中的异构 260
15.3 多通路通信 261
15.4 实例研究 263
15.5 总结 270
15.6 参考文献 270
16.1 介绍 272
第16章 网络存储器 272
16.2 远程存储器调页 274
16.3 网络存储器文件系统 284
16.4 网络存储器在数据库方面的应用 285
16.5 总结 286
16.6 参考文献 287
第17章 分布式共享存储器 289
17.1 介绍 289
17.2 数据一致性 290
17.3 网络性能问题 297
17.4 其他设计问题 298
17.5 结论 304
17.6 参考文献 304
第18章 集群并行I/O:实现方法与现有系统 309
18.1 引言 309
18.2 集群I/O系统的分类 310
18.3 并行I/O问题 311
18.4 文件抽象 312
18.5 方法和技术 313
18.6 系统结构与一些现有系统 315
18.7 ViPIOS方法 319
18.8 结论及发展趋势 324
18.9 参考文献 325
第19章 软件RAID和并行文件系统 327
19.1 引言 327
19.2 数据的物理存放 328
19.3 缓存 337
19.4 预取 341
19.5 接口 344
19.6 参考文献 350
第三部分 进程调度、负载共享与负载平衡 354
第20章 作业与资源管理系统 354
20.1 成因与历史演变 354
20.2 作业和资源管理系统的组成与结构 355
20.3 RMS的当前技术发展情况 359
20.4 现在和将来所面临的挑战 364
20.5 小结 367
20.6 参考文献 367
21.2 背景 369
第21章 集群上并行作业的调度 369
21.1 引言 369
21.3 刚性作业的进程迁移 370
21.4 可延展性作业的动态并行性 373
21.5 基于通信的协向调度 375
21.6 批调度 376
21.7 小结 378
21.8 参考文献 379
22.1 引言 381
第22章 负载共享与容错管理器 381
22.2 集群计算中的负载共享 382
22.3 利用检查点进行容错 382
22.4 负载共享与容错的集成 384
22.5 相关工作 392
22.6 结论 393
22.7 参考文献 393
第23章 并行程序调度技术 395
23.1 引言 395
23.2 网络计算环境下的调度问题 396
23.3 调度任务到通过快速网络连接的机器上 401
23.4 调度任务到任意的处理机网络 404
23.5 CASOH:一个并行化和调度工具 408
23.6 小结与结束语 412
23.7 参考文献 413
第24章 可配置的动态负载平衡 415
24.1 引言 416
24.2 动态负载平衡(DLB) 417
24.3 DLB模型和负载平衡策略的选择决定过程 419
24.4 编译器和运行时系统 425
24.5 实验结果 427
24.6 小结 433
24.7 参考文献 433
第25章 异构系统中的映射与调度 435
25.1 引言 435
25.2 映射与调度 436
25.3 任务粒度与划分的问题 438
25.4 静态调度和动态调度 441
25.5 负载平衡问题 443
25.6 小结 445
25.7 参考文献 445
第四部分 典型的集群系统 449
第26章 Beowulf 449
26.1 Beowulf探源 449
26.2 系统体系结构的进化过程 452
26.3 软件开发 454
26.4 下一代Beowulf计算 456
26.5 21世纪的Beowulf 459
26.6 参考文献 461
第27章 RWC PC集群Ⅱ以及Score集群系统软件 462
27.1 简介 462
27.2 使用通用商品硬件构建结构紧凑的PC集群 462
27.3 基于Unix的Score并行操作系统环境 466
27.4 性能评价 468
27.5 结论 470
27.6 参考文献 471
28.1 COMPaS:一个基于Pentium Pro PC的SMP集群 472
第28章 COMPaS:一个基于Pentium Pro PC的SMP集群 472
28.2 使用PC构建集群 473
28.3 SMP集群的编程 478
28.4 实例分析——COMPaS系统的评测结果 480
28.5 PC SMP集群编程指南 485
28.6 小结 487
28.7 参考文献 487
第29章 NanOS集群操作系统 489
29.1 简介 489
29.2 系统结构 490
29.3 NanOS 492
29.4 MCMM 495
29.5 HIDRA 497
29.6 小结 500
29.7 参考文献 500
第30章 基于BSP的可适应并行处理 502
30.1 简介 502
30.2 Bulk同步并行模型 502
30.3 非专用集群上的并行计算 504
30.4 Bulk同步并行模型中的可适应并行性 505
30.5 可适应Bulk同步并行性的编程环境 507
30.6 A-BSP在并行计算中的应用 510
30.7 A-BSP在非专用工作站集群的应用 512
30.8 结论 513
30.9 参考文献 513
第31章 MARS:一个可适应并行编程环境 515
31.1 动机与目标 515
31.2 相关工作 516
31.3 NOW可达到的能力 517
31.4 MARS方案 518
31.5 实验结果 523
31.6 结论和进一步工作 525
31.7 参考文献 526
第32章 自适应并行计算的Gardens方法 527
32.1 引言 527
32.2 相关工作 528
32.3 通信 529
32.4 自适应性和任务分派 532
32.5 性能结果 535
32.6 小结 536
32.7 参考文献 536
第33章 ParPar系统:一种软件MPP 538
33.1 引言 538
33.2 ParPar系统 539
33.3 系统配置和控制 542
33.4 作业控制 543
33.5 调度 546
33.6 并行I/O 547
33.7 项目状况 549
33.8 参考文献 550
第34章 Pitt并行计算机 551
34.1 引言 551
34.2 操作系统 552
34.3 拉普拉斯问题 554
34.4 拉普拉斯程序的技术描述 557
34.5 拉普拉斯操作系统的用户描述 558
34.6 线性联立方程组 559
34.7 一个应用程序实例 564
34.8 小结 564
34.9 参考文献 564
第35章 RS/6000 SP系统:可扩展并行集群系统 565
35.1 双重特性 565
35.2 SP系统的体系结构 567
35.3 SP系统结构 569
35.4 结束语 578
35.5 参考文献 579
第36章 可扩展和高可用的集群Web服务器 580
36.1 引言 580
36.2 Web服务器和动态内容 582
36.3 细粒度负载平衡 586
36.4 共享文件系统和可扩展I/O 589
36.5 Web上的可扩展数据库访问 593
36.6 高可用性 597
36.7 结论 600
36.8 参考文献 601