书籍详情

可扩展并行计算:技术、结构与编程

可扩展并行计算:技术、结构与编程

作者:黄铠,徐志伟著;陆鑫达[等]译;陆鑫达译

出版社:机械工业出版社

出版时间:2000-05-01

ISBN:9787111075806

定价:¥49.00

购买这本书可以去
内容简介
  本书内容包括多处理机、多计算机及基于网络的机群平台的可扩展体系结构和并行编程。数字技术已造就了计算机工业。现在数字技术正在以另一个冲击波对远程通信和信息工业施以根本影响。在高度自动化的社会中,将一切转换为数字便是未来成功的关键。各种技术的杂交要求新一代计算机能适应于可扩展、并行和分布计算。计算机和信息技术中的这些变化已促使计算机专业人员去研究本教科书中所提供的材料。其最终目的是要为迎接ZI世纪的新挑战做好准备。
作者简介
暂缺《可扩展并行计算:技术、结构与编程》作者简介
目录
目      录
译者序

前言
致教师/读者
第一篇   可扩展性和机群化
第1章   可扩展计算机平台和模型 2
1.1   计算机体系结构演变 3
1.1.1   计算机代 3
1.1.2   可扩展计算机体系结构 3
1.1.3   计算机系统体系结构发展的
           趋势 5
1.2   可扩展性范围 6
1.2.1   资源可扩展性 6
1.2.2   应用可扩展性 7
1.2.3   技术可扩展性 7
1.3   并行计算机模型 8
1.3.1   语义属性 9
1.3.2   性能属性 11
1.3.3   抽象机模型 12
1.3.4   物理机模型 16
1.4   机群化的基本概念 19
1.4.1   机群特征 19
1.4.2   体系结构的比较 20
1.4.3   机群的优越性和难点 21
1.5   可扩展设计原理 23
1.5.1   独立原理 24
1.5.2   平衡设计原理 25
1.5.3   可扩展性设计 28
1.6   参考文献注释和习题 30
第2章   并行编程基础 33
2.1   并行编程综述 33
2.1.1   并行编程缘何艰难 33
2.1.2   并行编程环境 35
2.1.3   并行编程方法 36
2.2   进程. 任务和线程 38
2.2.1   抽象进程的定义 38
2.2.2   执行方式 40
2.2.3   地址空间 40
2.2.4   进程现场 42
2.2.5   进程描述符 42
2.2.6   进程控制 43
2.2.7   进程的变异 45
2.3   并行性问题 46
2.3.1   进程中的同构性 46
2.3.2   静态和动态并行性 48
2.3.3   进程编组 48
2.3.4   分配问题 49
2.4   交互/通信问题 50
2.4.1   交互操作 50
2.4.2   交互方式 52
2.4.3   交互模式 53
2.4.4   合作和竞争交互 54
2.5   并行程序中的语义问题 55
2.5.1   程序的终止 55
2.5.2   程序的确定性 55
2.6   参考文献注释和习题 56
第3章   性能指标和基准程序 59
3.1   系统和应用的基准程序 59
3.1.1   微基准程序 60
3.1.2   并行计算的基准程序 62
3.1.3   商业和TPC基准程序 64
3.1.4   SPEC基准程序系列 65
3.2   性能与成本 66
3.2.1   执行时间和吞吐率 67
3.2.2   利用率和成本有效性 68
3.3   基本性能指标 70
3.3.1   工作负载和速度指标 70
3.3.2   防止对顺序性能误解的说明 72
3.4   并行计算机性能 73
3.4.1   计算特征 73
3.4.2   并行性和交互开销 75
3.4.3   开销定量化 76
3.5   并行程序性能 82
3.5.1   性能指标 82
3.5.2   基准程序中的可用并行性 85
3.6   可扩展性和加速比分析 86
3.6.1   Amdahl定律:固定问题规模 87
3.6.2   Gustafson定律:固定时间 88
3.6.3   Sun和Ni定律:存储器受限 90
3.6.4   等性能模型 93
3.7   参考文献注释和习题 95
第二篇   使 能 技 术
第4章   微处理器构件 100
4.1   系统发展趋向 100
4.1.1   硬体进展 100
4.1.2   软件进展 102
4.1.3   应用进展 103
4.2   处理器设计原理 105
4.2.1   指令流水线基理 105
4.2.2   从CISC到RISC及进一步延伸 108
4.2.3   体系结构性能的增强方法 111
4.3   微处理器体系结构系列 112
4.3.1   主要的体系结构系列 112
4.3.2   超标量和超流水处理器 113
4.3.3   嵌入式微处理器 116
4.4   微处理器的实例研究 117
4.4.1   Digital的Alpha 21164微处理器 117
4.4.2   Intel高能奔腾处理器 120
4.5   后RISC, 多媒体和VLIW 124
4.5.1   后RISC处理器特征 124
4.5.2   多媒体扩展 126
4.5.3   VLIW体系结构 129
4.6   微处理器的未来 130
4.6.1   硬件发展趋向和物理极限 130
4.6.2   未来的工作负载和挑战 131
4.6.3   未来微处理器的体系结构 132
4.7   参考文献注释和习题 134
第5章   分布式存储器和时延容忍 137
5.1   层次存储器技术 137
5.1.1   存储部件特性 137
5.1.2   存储器层次性质 139
5.1.3   存储器容量的规划 141
5.2   高速缓存一致性协议 142
5.2.1   高速缓存一致性问题 143
5.2.2   监听一致性协议 144
5.2.3   MESI监听协议 145
5.3   共享存储器一致性 148
5.3.1   存储器事件排序 148
5.3.2   存储器一致性模型 150
5.3.3   非严格的存储器模型 151
5.4   分布式高速缓存/主存体系结构 153
5.4.1   NORMA. NUMA. COMA
           和DSM模型 153
5.4.2   基于目录的一致性协议 158
5.4.3   斯坦福Dash多处理机 159
5.4.4   Dash中基于目录的协议 161
5.5   时延容忍技术 163
5.5.1   时延的避免. 减小和隐藏 163
5.5.2   分布式一致性高速缓存 164
5.5.3   数据预取策略 165
5.5.4   非严格的存储器一致性的效果 167
5.6   多线程时延隐藏 167
5.6.1   多线程处理机模型 167
5.6.2   现场切换策略 169
5.6.3   组合时延隐藏机制 172
5.7   参考文献注释和习题 173
第6章   系统互连和千兆位网络 178
6.1   互连网络基础 178
6.1.1   互连环境 178
6.1.2   网络部件 180
6.1.3   网络特征 181
6.1.4   网络性能指标 182
6.2   网络拓朴结构和性质 183
6.2.1   拓扑结构和功能性质 183
6.2.2   路由方案和功能 184
6.2.3   网络拓扑结构 187
6.3   总线. 纵横交叉开关和多级开关 191
6.3.1   多处理机总线 191
6.3.2   纵横交叉开关 193
6.3.3   多级互连网络 195
6.3.4   开关互连比较 197
6.4   千兆位网络技术 199
6.4.1   光纤通道和FDDI环 199
6.4.2   快速以太网和千兆位以太网 201
6.4.3   构造SAN/LAN的Myrinet网 203
6.4.4   HiPPI和超级HiPPI 204
6.5   ATM交换器和网络 207
6.5.1   ATM技术 207
6.5.2   ATM网络接口 208
6.5.3   ATM四层体系结构 209
6.5.4   ATM互连网连接性能 211
6.6   可扩展的一致性接口 212
6.6.1   SCI互连 213
6.6.2   实现问题 214
6.6.3   SCI一致性协议 216
6.7   网络技术比较 217
6.7.1   标准网络及其发展前景 217
6.7.2   网络性能和应用 218
6.8   参考文献注释和习题 219
第7章   线程化. 同步和通信 223
7.1   软件多线程化 223
7.1.1   线程概念 224
7.1.2   线程管理 225
7.1.3   线程同步 226
7.2   同步机制 227
7.2.1   原子性和互斥 227
7.2.2   高级同步结构 230
7.2.3   低级同步原语 234
7.2.4   快速锁机制 237
7.3   TCP/IP通信协议组 239
7.3.1   TCP/IP协议组的特性 239
7.3.2   UDP. TCP和IP 241
7.3.3   Sockets接口 244
7.4   快速和有效通信 245
7.4.1   通信中的关键问题 246
7.4.2   LogP通信模型 250
7.4.3   低级通信支持 251
7.4.4   通信算法 257
7.5   参考文献注释和习题 259
第三篇   系统体系结构
第8章   对称多处理机和CC-NUMA
           多处理机 264
8.1   SMP和CC-NUMA技术 264
8.1.1   多处理机体系结构 264
8.1.2   商品化SMP服务器 268
8.1.3   英特尔SHV服务器电路板 269
8.2   SUN Ultra Enterprise 10000系统 270
8.2.1   Ultra-E10000系统 271
8.2.2   系统电路板的结构 272
8.2.3   可扩展性和可用性支持 273
8.2.4   动态域和性能 274
8.3   HP/Convex Exemplar X-Class 275
8.3.1   Exemplar X系统的体系结构 275
8.3.2   Exemplar软件环境 277
8.4   Sequent NUMA-Q 2000 278
8.4.1   NUMA-Q 2000的体系结构 278
8.4.2   NUMA-Q的软件环境 281
8.4.3   NUMA-Q的性能 282
8.5   SGI/Cray Origin 2000超级服务器 284
8.5.1   Origin 2000系列的设计目标 284
8.5.2   Origin 2000的体系结构 285
8.5.3   Cellular IRIX环境 290
8.5.4   Origin 2000的性能 293
8.6   CC-NUMA 体系结构的比较 294
8.7   参考文献注释和习题 296
第9章   机群化和可用性支持 298
9.1   构造机群的挑战性 298
9.1.1   机群的分类 298
9.1.2   机群的体系结构 299
9.1.3   机群设计要考虑的问题 300
9.2   对机群可用性的支持 302
9.2.1   可用性概念 302
9.2.2   可用性技术 304
9.2.3   检查点和故障恢复 308
9.3   对单一系统映像的支持 311
9.3.1   单一系统映像层 311
9.3.2   单一入口和单一文件层次 312
9.3.3   单一I/O. 网络化和存储空间 316
9.4   Solaris MC中的单一系统映像 317
9.4.1   全局文件系统 318
9.4.2   全局进程管理 318
9.4.3   单一I/O系统映像 319
9.5   机群的作业管理 320
9.5.1   作业管理系统 320
9.5.2   作业管理系统综述 324
9.5.3   负载共享工具(LSF) 326
9.6   参考文献注释和习题 331
第10章   服务器和工作站机群 334
10.1   机群产品和研究项目 334
10.1.1   支持机群产品的潮流 334
10.1.2   SMP服务器机群 336
10.1.3   机群研究项目 336
10.2   面向NT机群的微软Wolfpack 338
10.2.1   微软Wolfpack配置 338
10.2.2   热备份多服务器机群 339
10.2.3   主动可用性机群 339
10.2.4   容错多服务器机群 341
10.3   IBM SP系统 341
10.3.1   设计目标和策略 341
10.3.2   SP2系统的体系结构 343
10.3.3   I/O和网络互连 345
10.3.4   SP系统软件 347
10.3.5   SP2及其前景 349
10.4   Digital TruCluster 350
10.4.1   Trucluster体系结构 350
10.4.2   存储器通道互连 352
10.4.3   TruCluster编程 354
10.4.4   TruCluster系统软件 356
10.5   Berkeley NOW研究项目 356
10.5.1   适合快速通信的主动消息 357
10.5.2   适合于全局资源管理的GLUnix 360
10.5.3   xFS无服务器网络文件系统 361
10.6   TreadMarks:用软件实现的
          DSM机群 366
10.6.1   边界条件 366
10.6.2   DSM中的用户接口 367
10.6.3   实现问题 368
10.7   参考文献注释和习题 369
第11章   MPP的体系结构和性能 371
11.1   MPP技术概论 371
11.1.1   MPP特性和要点 371
11.1.2   MPP系统概述 373
11.2   Cray T3E系统 374
11.2.1   T3E的体系结构 374
11.2.2   T3E的系统软件 376
11.3   新一代ASCI/MPP系统 376
11.3.1   ASCI可扩展设计策略 377
11.3.2   硬件和软件需求 378
11.3.3   定约的ASCI/MPP平台 379
11.4   Intel/Sandia ASCI Option Red 380
11.4.1   Option Red的体系结构 380
11.4.2   Option Red的系统软件 382
11.5   并行NAS基准程序测试结果 384
11.5.1   NAS并行基准测试程序 384
11.5.2   超步结构和颗粒度 385
11.5.3   主存. I/O和通信 386
11.6   MPI和STAP基准程序测试结果 387
11.6.1   MPI性能测试 388
11.6.2   MPI时延和总计(聚集)带宽 389
11.6.3   MPP的STAP基准程序测试
            评估 391
11.6.4   MPP体系结构的含义 394
11.7   参考文献注释和习题 396
第四篇   并 行 编 程
第12章   并行范例和编程模型 399
12.1   范例和可编程性 400
12.1.1   算法范例 400
12.1.2   可编程性问题 402
12.1.3   并行编程举例 402
12.2   并行编程模型 405
12.2.1   蕴式并行性 405
12.2.2   显式并行模型 407
12.2.3   四种模型的比较 410
12.2.4   其他并行编程模型 412
12.3   共享存储器编程 413
12.3.1   ANSI X3H5共享存储器模型 413
12.3.2   POSIX线程模型 416
12.3.3   OpenMP标准 417
12.3.4   SGI Power C模型 420
12.3.5   C//: 一种结构化的并行C语言 422
12.4   参考文献注释和习题 426
第13章   消息传递编程 429
13.1   消息传递范例 429
13.1.1   消息传递库 429
13.1.2   消息传递方式 430
13.2   消息传递接口 432
13.2.1   MPI消息 434
13.2.2   MPI中的消息信封 439
13.2.3   点对点通信 443
13.2.4   集合MPI通信 445
13.2.5   MPI-2扩展 448
13.3   并行虚拟机 450
13.3.1   虚拟机结构 451
13.3.2   PVM中的进程管理 453
13.3.3   用PVM进行通信 455
13.4   参考文献注释和习题 458
第14章   数据并行编程 462
14.1   数据并行模型 462
14.2   Fortran 90方法 462
14.2.1   并行数组操作 463
14.2.2   Fortran 90中的本征函数 464
14.3   高性能Fortran 466
14.3.1   对数据并行性的支持 466
14.3.2   HPF中的数据映射 468
14.3.3   对Fortran 90和HPF的总结 472
14.4   其他的数据并行方法 474
14.4.1   Fortran 95和Fortran 2001 475
14.4.2   PC++和Nesl方法 477
14.5   参考文献注释和习题 480
参考文献 482
Web地址表 510                  

猜您喜欢

读书导航