《支持推测并行化的多核事务存储体系结构研究》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:王耀彬编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2014
  • ISBN:9787030422255
  • 页数:175 页
图书介绍:随着多核平台的普及,如何利用多核加速串行应用的执行已成为国际学术界和工业界共同关注的热点研究问题。《支持推测并行化的多核事务储存体系结构研究》是根据国家973/863/自然科学基金重点项目/科技重大专项科研课题的研究结果。本书集中反映了作者多年来在多核处理器体系结构研究的最新成果和数据,主要涉及线程级推测并行性的判定准则、研究方法和剖析机制;桌面应用、多媒体应用和高性能计算应用的推测并行性剖析;同时支持线程级推测和事务存储语义的多核事务存储处理器体系结构、编程环境、硬件模拟环境设计;在线剖析指导的推测多线程动态优化、分析模型等方面的研究内容。

第1章 绪论 1

1.1 引言 1

1.1.1 研究意义 1

1.1.2 传统方法的局限性 4

1.2 推测并行技术简介 5

1.2.1 TLS技术简介 6

1.2.2 TM技术简介 7

1.2.3 两种技术的结合 8

第2章 相关研究工作 10

2.1 事务存储技术 10

2.1.1 软件事务存储方案 10

2.1.2 硬件事务存储方案 12

2.1.3 代表性方案LogTM 14

2.2 线程级推测技术 19

2.2.1 软件线程级推测方案 19

2.2.2 硬件线程级推测方案 20

2.2.3 软硬结合式线程级推测 21

2.2.4 代表性方案Hydra 23

2.3 TLS与TM的结合 27

2.3.1 TLS与TM结合的方式 27

2.3.2 代表性方案TCC 28

2.4 程序剖析技术 31

2.4.1 剖析简介 31

2.4.2 JRPM方案 33

2.4.3 SPT方案 34

2.4.4 Mitosis方案 36

2.5 小结 38

第3章 线程级推测并行性研究机制 39

3.1 推测模型 39

3.1.1 循环级推测模型 40

3.1.2 子程序级推测模型 40

3.2 分析方法 41

3.2.1 判定准则 41

3.2.2 依赖分析方法 42

3.3 剖析指导的线程划分机制 44

3.4 剖析应用分类 45

3.5 小结 46

第4章 OpenPro剖析工具集 47

4.1 剖析方案 47

4.2 剖析机制实现 48

4.2.1 核心数据结构设计 48

4.2.2 剖析流程 49

4.2.3 线程调用跟踪 50

4.2.4 访存剖析机制 51

4.2.5 计算生产距离与消费距离 52

4.2.6 链表压缩设计 53

4.3 设计说明 55

4.4 实验方案说明 57

4.5 小结 57

第5章 桌面应用的推测并行性分析 59

5.1 桌面应用简介 59

5.2 桌面应用循环级并行性剖析 60

5.3 桌面应用子程序级并行性剖析 62

5.4 小结 62

第6章 多媒体应用的推测并行性分析 64

6.1 多媒体应用简介 64

6.2 多媒体应用循环级并行性剖析 65

6.3 多媒体应用子程序级并行性剖析 67

6.4 小结 67

第7章 高性能计算应用的推测并行性分析 69

7.1 高性能计算应用简介 69

7.2 高性能计算应用循环级并行性剖析 70

7.3 高性能计算应用子程序级并行性剖析 72

7.4 小结 72

第8章 总线式推测多核结构体系结构设计 74

8.1 结构模型 74

8.1.1 一级数据Cache设计 75

8.1.2 推测控制器设计 75

8.1.3 总线设计 76

8.1.4 二级Cache设计和存储管理 77

8.1.5 执行核设计 77

8.2 线程执行模型 78

8.2.1 推测线程初始化 79

8.2.2 推测线程启动 79

8.2.3 推测访存操作的跟踪和记录 79

8.2.4 推测线程提交 80

8.2.5 推测线程冲突检测和错误恢复 80

8.2.6 推测循环结束 81

8.3 编程模型 82

8.3.1 推测封装函数 83

8.3.2 变量声明调整 84

8.3.3 推测库函数 85

8.3.4 补充和评价 85

8.4 小结 86

第9章 总线式推测多核模拟器实现 87

9.1 功能级验证工具设计 87

9.1.1 实现环境Pin 89

9.1.2 主要功能 90

9.1.3 设计方法 90

9.2 性能级多核模拟器设计 91

9.2.1 SimpleScalar简介与改进分析 93

9.2.2 流水线设计 95

9.2.3 访存设计 96

9.2.4 多核模拟方式 99

9.2.5 私有一级Cache的推测支持 99

9.2.6 总线支持 100

9.3 小结 101

第10章 SPoTM模型评测 102

10.1 评测方案 102

10.1.1 测试程序集 102

10.1.2 模拟器配置 103

10.2 基本评测结果 104

10.2.1 推测加速比 104

10.2.2 单核性能分析 105

10.2.3 推测线程性能分析 107

10.2.4 存储系统性能分析 108

10.3 小结 110

第11章 PTT设计优化 112

11.1 简介 112

11.1.1 思路 112

11.1.2 优化方案 113

11.2 硬件结构模型 114

11.2.1 硬件体系结构 114

11.2.2 推测执行机制 115

11.2.3 按序提交机制 116

11.3 编程模型 117

11.3.1 循环封装 118

11.3.2 变量声明调整 119

11.3.3 运行时库支持 120

11.3.4 编译支持 121

11.4 线程执行模型 122

11.4.1 简介 122

11.4.2 推测线程初始化 123

11.4.3 推测线程启动 123

11.4.4 推测线程执行 124

11.4.5 推测线程提交 125

11.5 PTT模拟器实现 126

11.5.1 GEMS模拟器简介 126

11.5.2 实现说明 126

11.6 小结 127

第12章 PTT基本性能评测 128

12.1 实验方案 128

12.1.1 方案简介 128

12.1.2 测试程序说明 129

12.1.3 实验配置 130

12.2 基本性能评测 131

12.2.1 加速比分析 131

12.2.2 回退率分析 133

12.2.3 IPC分析 134

12.2.4 缓存缺失率分析 135

12.2.5 链路延迟分析 136

12.3 小结 137

第13章 PTT性能影响因素评测 138

13.1 互连拓扑分析 138

13.2 令牌传递开销分析 139

13.3 L2 Cache组织方式分析 140

13.4 线程启动策略分析 141

13.5 线程重试策略分析 142

13.6 小结 143

第14章 在线剖析指导机制 144

14.1 性能分析原理 144

14.2 剖析指导模型 146

14.3 性能评测 148

14.3.1 线程启动策略分析 149

14.3.2 线程重试策略分析 150

14.4 小结 151

第15章 连续两阶段剖析指导性能优化 152

15.1 优化原理 152

15.2 技术框架 154

15.2.1 初始剖析 157

15.2.2 预先优化 159

15.3 优化框架的扩展和限制 163

15.3.1 优化扩展 163

15.3.2 优化限制 165

15.4 性能评测 165

15.5 小结 168

参考文献 169