第一部分 序言 2
第1章 绪论 2
1.1 众核处理器时代 2
1.2 以通信为核心的跨层次优化 3
1.3 片上网络简介 5
1.3.1 拓扑结构 6
1.3.2 路由算法 7
1.3.3 流控机制 8
1.3.4 路由器微结构 10
1.3.5 性能评价指标 13
1.4 片上网络研究现状 14
1.4.1 拓扑结构的研究 14
1.4.2 单播通信路由的研究 15
1.4.3 聚合通信路由的研究 16
1.4.4 流控机制的研究 17
1.4.5 路由器微结构的研究 18
1.5 真实处理器的片上网络 19
1.5.1 MIT RAW处理器 19
1.5.2 TileraTILE64处理器 21
1.5.3 Sony/Toshiba/IBM Cell处理器 23
1.5.4 U.T.Austion TRIPS处理器 24
1.5.5 Intel Teraflops处理器 26
1.5.6 Intel SCC处理器 27
1.5.7 Intel Larrabee处理器 29
1.5.8 Intel Knights Corner处理器 30
1.5.9 真实处理器片上网络特性总结 32
1.6 全书内容概述 34
1.7 参考文献 36
第二部分 逻辑层实现 48
第2章 单周期翼通道路由器结构 48
2.1 引言 48
2.2 翼通道路由器体系结构 50
2.2.1 翼通道单周期路由器总体结构 50
2.2.2 翼通道工作原理 55
2.3 路由器微体系结构设计 58
2.3.1 通道分配部件 58
2.3.2 快速仲裁部件 60
2.3.3 SIG管理单元和SIG控制单元 61
2.4 实验评估 62
2.4.1 模拟环境 62
2.4.2 流水线延迟分析 63
2.4.3 延迟与吞吐率 64
2.4.4 面积与功耗 67
2.5 本章小结 68
2.6 参考文献 69
第3章 动态虚通道路由器 71
3.1 引言 71
3.2 拥塞感知的动态虚通道结构 72
3.2.1 动态虚通道 72
3.2.2 拥塞缓解策略 74
3.3 拥塞感知的多端口共享缓冲结构 75
3.3.1 多端口共享缓冲的动态虚通道 75
3.3.2 拥塞缓解策略 78
3.4 DVC路由器微结构 78
3.4.1 虚通道控制部件 79
3.4.2 拥塞缓解电路 81
3.4.3 虚通道仲裁部件与开关仲裁部件 82
3.5 HiBB路由器微结构 84
3.5.1 虚通道控制部件 85
3.5.2 虚通道仲裁部件与输出端口仲裁部件 86
3.5.3 虚通道调整结构 88
3.6 实验评估 89
3.6.1 DVC路由器评估 89
3.6.2 HiBB路由器评估 92
3.7 本章小结 95
3.8 参考文献 96
第4章 虚拟总线拓扑结构 98
4.1 引言 98
4.2 相关研究 99
4.3 研究动机 100
4.3.1 基本片上通信网络 100
4.3.2 片上网络问题分析 101
4.3.3 基于事务的总线通信优势 103
4.4 虚拟总线片上网络 103
4.4.1 拓扑结构 103
4.4.2 虚拟总线机制 105
4.4.3 饿死与死锁避免 111
4.4.4 VBON路由器结构 111
4.5 实验评估 112
4.5.1 模拟框架 113
4.5.2 合成流量评估 115
4.5.3 真实应用评估 118
4.5.4 功耗分析 119
4.5.5 开销分析 119
4.6 本章小结 120
4.7 参考文献 120
第三部分 网络层路由和流控设计 124
第5章 区域隔离路由算法 124
5.1 引言 124
5.2 相关研究 126
5.3 研究动机 127
5.3.1 局部自适应算法的局限性 128
5.3.2 应用程序内部的干扰 129
5.3.3 应用程序之间的干扰 130
5.4 区域隔离路由算法 131
5.4.1 拥塞信息传播网络 132
5.4.2 DBAR路由器微结构 134
5.4.3 路由函数设计 136
5.5 实验评估 139
5.5.1 路由函数评估 140
5.5.2 单区域性能 142
5.5.3 多区域性能 145
5.5.4 集中型网格网络性能 148
5.6 硬件开销讨论 151
5.6.1 连线资源 151
5.6.2 路由器开销 151
5.6.3 功耗和能量延迟积 151
5.7 进一步讨论 152
5.7.1 拥塞信息传播网络带宽 152
5.7.2 DBAR的可扩展性 153
5.7.3 拥塞信息传播延迟 153
5.8 本章小结 153
5.9 参考文献 153
第6章 完全自适应路由算法的流控机制 158
6.1 引言 158
6.2 相关研究 161
6.2.1 死锁避免理论 161
6.2.2 完全自适应路由算法设计 162
6.3 研究动机 162
6.3.1 虚通道分配策略 162
6.3.2 路由灵活性 163
6.4 流控和路由设计 165
6.4.1 全报文发送 165
6.4.2 逃逸虚通道的积极分配策略 168
6.4.3 完全自适应路由算法 171
6.4.4 路由器微结构 171
6.5 合成流量模式评测 173
6.5.1 合成流量模式结果 174
6.5.2 路由算法的缓存利用率 176
6.5.3 敏感性分析 178
6.6 真实应用程序评测 181
6.6.1 实验方法和实验配置 182
6.6.2 PARSEC测试集结果 182
6.7 流控机制的详细分析 183
6.7.1 缓存利用率的详细分析 183
6.7.2 流控机制的公平性分析 187
6.8 进一步讨论 189
6.8.1 报文长度和虚通道深度 189
6.8.2 DAMQ和混合流控机制 190
6.9 本章小结 190
6.10 参考文献 190
第7章 切片气泡流控机制 195
7.1 引言 195
7.2 传统设计的局限 197
7.2.1 dateline 197
7.2.2 本地气泡策略 198
7.2.3 关键气泡策略 198
7.2.4 处理变长报文的低效性 199
7.3 切片气泡流控机制及策略 200
7.3.1 理论描述 200
7.3.2 本地切片气泡策略 202
7.3.3 关键切片气泡策略 202
7.3.4 饿死现象 203
7.4 路由器流水线和微结构 205
7.4.1 FBFC路由器 205
7.4.2 VCT路由器 206
7.5 实验方法 207
7.6 一维Torus网络性能评测 208
7.6.1 性能 208
7.6.2 缓存利用率 210
7.6.3 短报文和长报文的传输延迟 211
7.7 二维Torus网络性能评测 212
7.7.1 4×4Torus网络性能 212
7.7.2 单切片报文比例敏感性分析 214
7.7.3 缓存数量敏感性分析 215
7.7.4 8×8Torus网络可扩展性分析 216
7.7.5 饿死现象分析 217
7.7.6 PARSEC测试集实验结果 219
7.7.7 大规模系统和消息传递编程模式 220
7.8 开销:功耗和面积 221
7.8.1 测试方法学 222
7.8.2 功耗 222
7.8.3 面积 225
7.8.4 与网格网络的比较 226
7.9 进一步讨论和相关工作 229
7.9.1 进一步讨论 229
7.9.2 相关工作 229
7.10 本章小结 230
7.11 参考文献 231
第8章 高效能与公平性流控 235
8.1 基于当值缓存高效能路由器设计 235
8.1.1 引言 235
8.1.2 高效能路由器 236
8.1.3 实验设计 240
8.1.4 实验评估 241
8.1.5 小结 243
8.2 基于报文剩余跳数的自适应流控 244
8.2.1 引言 244
8.2.2 报文之间的相互作用 245
8.2.3 公平性流控 246
8.2.4 实验评估 249
8.2.5 小结 252
8.3 参考文献 253
第四部分 软件层编程模式支持 256
第9章 一致性协议聚合通信支持 256
9.1 引言 256
9.2 归约消息组合框架 259
9.2.1 消息组合表格式 260
9.2.2 消息组合实例 260
9.2.3 消息组合表项的不足 262
9.3 均衡自适应多播路由算法 262
9.4 路由器流水线和微结构 264
9.5 实验评估 266
9.5.1 性能 267
9.5.2 BAM和RPM多播虚拟网络性能 271
9.5.3 消息组合表大小 272
9.5.4 敏感性分析 274
9.6 功耗和能量延迟积分析 276
9.7 相关研究 277
9.7.1 消息组合 277
9.7.2 片上网络多播路由算法 278
9.8 本章小结 278
9.9 参考文献 279
第10章 MPI原语的定制通信架构 283
10.1 引言 283
10.2 研究背景 284
10.3 研究动机 286
10.3.1 在NoC上实现MPI 286
10.3.2 MPI函数优化 286
10.4 定制通信架构 287
10.4.1 体系结构概述 287
10.4.2 定制的片上网络设计:VBON 288
10.4.3 MPI原语实现:MU 288
10.5 实验评估 295
10.5.1 方法 295
10.5.2 实验结果 297
10.6 本章小结 303
10.7 参考文献 304
第11章 MPI通信协议优化 308
11.1 引言 308
11.2 研究背景 309
11.2.1 MPI的通信协议 309
11.2.2 现存问题 310
11.2.3 相关工作 313
11.3 研究动机 314
11.4 自适应通信协议 315
11.4.1 目标与方法 315
11.4.2 基本MPI加速的片上网络设计 316
11.4.3 ADCM结构的支持 318
11.4.4 与理想协议的比较 323
11.5 实验评估 324
11.5.1 方法 324
11.5.2 合成流量结果 326
11.5.3 真实应用程序 328
11.5.4 敏感性分析 330
11.5.5 硬件开销 331
11.6 本章小结 331
11.7 参考文献 332
第五部分 后记 336
第12章 结语与展望 336
12.1 结语 336
12.2 展望 338