多核多线程技术PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:英特尔软件学院教材编写组编
- 出 版 社:上海:上海交通大学出版社
- 出版年份:2011
- ISBN:9787313068705
- 页数:265 页
1 多核技术导论 1
1.1 微处理器发展史 1
1.1.1 计算机与微处理器 1
1.1.2 4位、8位与16位微处理器 2
1.1.3 32位微处理器 4
1.2 并行计算机 7
1.2.1 并行处理思想与弗林(Flynn)分类 7
1.2.2 超级计算机 8
1.3 片上多核处理器架构 10
1.3.1 多核芯片 10
1.3.2 片上多核处理器体系结构 11
1.3.3 典型多核芯片架构 12
1.4 操作系统对多核处理器的支持方法 14
1.4.1 调度与中断 14
1.4.2 输入输出系统 17
1.4.3 存储管理与文件系统 18
1.4.4 典型支持多核的操作系统 18
2 多线程并行程序性能分析方法综述 21
2.1 性能调优周期 21
2.1.1 搜集性能数据 23
2.1.2 分析数据并定位性能瓶颈 23
2.1.3 加速比性能定律 24
2.1.4 解决性能瓶颈 27
2.1.5 实现优化措施 29
2.1.6 测试 29
2.2 使用Intel? VTune进行性能分析 29
2.2.1 性能分析器功能与使用方法 30
2.2.2 性能分析器实验 36
2.3 MKL数学核心函数库 39
2.3.1 MKL数学核心函数库功能与特性 39
2.3.2 MKL数学核心函数库性能 41
2.3.3 MKL数学核心函数库实验 42
2.4 Thread Checker线程检查器 43
2.4.1 线程检查器功能与使用 44
2.4.2 线程检查器实验 46
2.5 Thread Profiler线程档案器 52
2.5.1 线程档案器功能与使用 53
2.5.2 线程档案器实验 54
3 Intel多核处理器上的性能调优方法 61
3.1 体系结构无关的性能调优方法 61
3.1.1 消除循环不变量 64
3.1.2 减少过程调用 64
3.1.3 消除不必要的内存存取 65
3.2 阻碍优化的因素 66
3.2.1 编译优化选项 66
3.2.2 变量别名 67
3.2.3 函数调用的边际效应 67
3.3 体系结构无关优化的小结 69
3.4 深入理解Intel多核处理器体系结构 70
3.4.1 Intel多核处理器微体系结构的显著特性 71
3.5 Intel多核处理器体系结构相关的优化 73
3.5.1 Intel多核处理器微体系结构中对代码优化的支持 73
4 多线程编程方法综述 76
4.1 线程的基本概念 76
4.1.1 线程与进程的区别 77
4.1.2 用户级线程、核心级线程和硬件线程 78
4.1.3 线程的生命周期 79
4.2 线程的同步 79
4.2.1 竞争条件 80
4.2.2 临界区 80
4.2.3 信号量 81
4.2.4 锁 81
4.2.5 条件变量 83
4.2.6 线程的本地存储 84
4.2.7 介绍TLS的特性和使用方法 85
4.3 多线程编程模型 88
4.3.1 流水线 88
4.3.2 工作组 89
4.3.3 客户/服务器方式 90
4.4 多线程编程的原则及要点 90
4.4.1 静态负载平衡 91
4.4.2 动态负载平衡 91
4.4.3 负载平衡的难题 91
4.4.4 串行化方面的难题 92
5 多线程程序设计中的常见问题及解决途径 97
5.1 线程过多 97
5.2 数据竞争、死锁和活锁 100
5.2.1 数据竞争 100
5.2.2 死锁和活锁 103
5.3 竞争激烈的锁 105
5.3.1 优先级倒置 105
5.3.2 锁竞争激烈的解决方法 109
5.4 非阻塞算法 111
5.4.1 比较并交换 112
5.4.2 原子变量类 112
5.4.3 非阻塞算法的介绍 113
5.4.4 ABA问题 119
5.4.5 cache线乒乓现象 120
5.4.6 存储空间回收问题 120
5.4.7 一些建议 121
5.5 线程安全函数和库 121
5.5.1 理解可重入与线程安全 121
5.5.2 函数可重入化 122
5.5.3 函数线程安全化 125
5.6 存储问题 127
5.6.1 带宽 127
5.6.2 cache的利用 128
5.6.3 存储竞争 130
5.7 Cache相关问题 133
5.7.1 伪共享 133
5.7.2 存储一致性 134
5.7.3 当前IA-32体系结构 135
5.7.4 Itanium体系结构 137
5.7.5 高级语言 140
5.8 避免IA-32上的流水线停顿 140
5.9 面向高性能的数据组织 140
6 Unix/Linux多线程编程 142
6.1 POSIX的一些基本知识 142
6.2 POSIX线程库 144
6.2.1 创建线程 144
6.2.2 分离和接合线程 145
6.2.3 退出和取消线程 146
6.2.4 用户级线程和内核级线程 147
6.2.5 线程的属性 149
6.2.6 线程安全函数 153
6.2.7 线程特定数据 155
6.2.8 一个POSIX多线程实例 158
6.3 线程通信 159
6.3.1 互斥量 159
6.3.2 条件变量 161
6.3.3 信号处理 165
6.3.4 读写锁 171
6.3.5 信号量 174
7 Windows多线程编程 180
7.1 Windows操作系统的一些基本知识 180
7.2 Win32 API的线程库 181
7.2.1 Windows操作系统中对进程概念的定义 181
7.2.2 Windows操作系统中对线程概念的定义 182
7.2.3 使用Win32线程API 182
7.3 线程间通信 192
7.3.1 互锁函数 193
7.3.2 临界段 196
7.3.3 使用内核对象的线程间通信 200
7.3.4 事件 202
7.3.5 互斥量 206
7.3.6 信号量 209
7.4 调度优先级 211
7.5 线程池 214
8 OpenMP多线程编程及性能优化 217
8.1 OpenMP编程简介 217
8.1.1 OpenMP多线程编程发展概况 217
8.1.2 OpenMP多线程编程基础 218
8.1.3 编写OpenMP程序的准备工作 221
8.2 OpenMP多线程应用程序编程技术 224
8.2.1 循环并行化 224
8.2.2 并行区域编程 236
8.2.3 线程同步 242
8.3 OpenMP多线程应用程序性能分析 255
8.3.1 影响性能的主要因素 256
8.3.2 OpenMP程序性能分析实例 258
- 《名医教你练走颈肩腰腿痛》许学猛 2018
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《博士教你识中药》(中国)黄汉超 2019
- 《英国皇家舞蹈学院舞蹈等级考试教材 组合与舞蹈 四级》陈婷译 2019
- 《蓬莱学院 4 大漠之王》古月奇 2019
- 《天水师范学院60周年校庆文库 新工科视域下的工程基础与应用研究》《天水师范学院60周年校庆文库》编委会编 2019
- 《保教知识与能力》师大教科文教材编写组编著 2020
- 《教自闭症孩子主动发起和自我管理 应用关键反应训练提高社交技能》(美)Lynn Kern Koegel,(美)Robert L. Koegel著 2019
- 《高中压配电网规划 实用模型、方法、软件和应用 上》王主丁著 2020
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《学前儿童发展心理学 第2版》刘万伦主编;王文秀,甘卫群,刘万伦编写人员 2019
- 《2013数学奥林匹克试题集锦 走向IMO》2013年IMO中国国家集训队教练组编 2013
- 《习近平总书记教育重要论述讲义》本书编写组 2020
- 《若时光倒流,我依然如初》读者丛书编辑组编 2020
- 《液固旋流分离新技术》中国化工学会组织编写;汪华林等著 2019
- 《新编高中物理竞赛教程习题全解》钟小平主编;钟小平,倪国富,曹海奇编写 2019
- 《声动中国 七十年歌声里的中国故事》王一诺责任编辑;(中国)《声动中国》编写组 2019
- 《对话中国》《对话中国》编写组著 2019