第1章 概述 1
1.1 为什么需要高性能计算 1
1.2 高性能计算技术的基本内容 3
1.3 高性能计算的历史、现状及面临的挑战 5
1.3.1 人类的计算需求是高性能计算发展的原动力 5
1.3.2 高性能计算系统 11
1.3.3 高性能计算机产业 20
1.3.4 高性能计算面临的挑战 22
1.4 高性能计算的发展趋势 24
1.4.1 以应用为导向发展高性能计算机 24
1.4.2 面向新兴应用发展新型高性能计算机 25
1.4.3 HPC in Cloud 26
1.4.4 新兴使能技术带来新机遇 26
第2章 并行计算机的体系结构 28
2.1 并行机网络互联拓扑结构 29
2.2 并行计算机访存模型与多级存储结构 34
2.3 并行机体系结构分类 37
2.4 并行机体系结构举例 45
第3章 并行计算模型 47
3.1 计算模型 47
3.2 并行计算模型 49
3.3 并行计算模型分类 51
3.3.1 共享存储类模型 51
3.3.2 分布存储模型 54
3.3.3 层次模型 60
第4章 并行算法的设计技术 66
4.1 算法设计技术的概念 69
4.2 划分设计技术 71
4.2.1 均匀划分技术 71
4.2.2 方根划分技术 73
4.2.3 对数划分技术 75
4.2.4 功能划分技术 75
4.3 分治设计技术 76
4.4 平衡树设计技术 80
4.5 倍增设计技术 83
4.6 流水线设计技术 85
第5章 并行编程 87
5.1 并行编程模型的概念及类型 88
5.2 共享存储的编程模型OpenMP 92
5.3 消息传递的编程模型MPI 101
5.3.1 基本概念 101
5.3.2 MPI的基本函数 104
5.3.3 MPI的消息传递 108
5.3.4 MPI编程 112
5.3.5 点对点通信(point-to-point communication) 114
5.3.6 群集通信 118
5.3.7 归约(Reduce) 125
5.3.8 MPI程序设计 129
5.4 并行程序的调试 140
第6章 多核处理器与多核程序设计 142
6.1 多核处理器的概念 142
6.1.1 多核处理器的由来 142
6.1.2 处理器技术 144
6.2 片上多核处理器的体系结构 148
6.2.1 固件 149
6.2.2 操作系统对多核处理器的支持 152
6.3 多线程编程 153
6.3.1 线程的基本概念 153
6.3.2 用户级线程和内核级线程 156
6.3.3 线程的同步 157
6.3.4 多线程计算模型 157
第7章 高性能计算与云计算 158
7.1 云计算的基本概念 158
7.2 云计算的核心技术 160
7.2.1 虚拟化 160
7.2.2 分布式计算 165
7.2.3 Web 2.0 167
7.2.4 数据中心 169
7.3 云计算平台 171
7.3.1 云存储 171
7.3.2 云服务 174
7.3.3 虚拟化 174
7.3.4 云安全 175
7.4 高性能计算与云计算 177
7.4.1 从高性能计算到云计算 179
7.4.2 从高性能计算到云计算的商业化途径 181
7.4.3 高性能云计算 182
参考文献 186