2009并行计算与多核程序设计07-08多核对线程的支持
浙大 并行计算与多核
并行计算与多核程序设计理论课7 多核对线程的 理论课7-8 多核对线程的支持 线程的支持陈天洲,施青松,胡威 {tzchen, zjsqs, ehu}@http://doc.guandang.net 2009年12月4日,玉泉校区曹西101
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
Agenda多线程在多核上的加速能力 多线程对单线程的修改 加速多线程程序 处理器对多线程的硬件支持 多核存储管理对多线程的影响 核间通讯对多线程的影响 超线程对多线程的影响 多线程程序对硬件平台选型
http://doc.guandang.net/fatlab
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
多核多线程程序线程化的优点创建速度较进程快 资源利用率高 便于数据共享
线程化的缺点增加程序设计的复杂性 程序调试较难数据竞争、同步、死锁
http://doc.guandang.net/fatlab
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
多线程的执行硬件多线程每个线程运行在不同逻辑处理器上 优先级相同 硬件的通信开销 真正的并行执行
http://doc.guandang.net/fatlab
软件多线程运行在同一个逻辑处理器上 OS动态改变优先级 共享本地存储器 通信开销小 互斥容易解决
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
数据流程图对于数组运算 E = A*(B+C*D); 其中,A、B、C 和D都是具有n个 元素的数组c1 b1 a1
*d2 c2 b2
+a2
*
e1
*d2 c3 b3
+a3
*
e2
http://doc.guandang.net/fatlab
*d3 …… cn bn
+
*
e3
an
*dn
+
*
en
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
案例1个计算任务在单个核的计算机上运行的启动时间为1秒, 运算时间为10秒,数据结果汇总的时间为1秒。如果将该 计算任务放在多核处理器的计算机上运行,将运算部分分 解成多个线程并行执行。 (1)假如任务的启动和数据汇总操作不能并行执行,运 算部分可以进行任意的任务分解,任务之间的通信量可以 忽略,也不考虑任务分解后存储系统对性能的影响。问在 处理器核的数量分别为2、4、8、16时的任务执行时间和 加速比。 (2)上述情况下,假如每两个处理器核之间的通信时间 为0.1秒,每对处理器核的通信串行进行,问在核的数量 分别为2、4、8、16时的任务执行时间和加速比。
http://doc.guandang.net/fatlab
来自于上海交大胡越明副教授的ppt
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
解:(1) :(1任务在单个核的计算机上运行时间为12秒; 在双核计算机上的运行时间为1+10/2+1 = 7秒, 加速比为12/7 = 1.71; 在4核计算机上的运行时间为1+10/4+1 = 4.5秒, 加速比为12/4.5 = 2.67; 在8核计算机上的运行时间为1+10/8+1 = 3.25秒, 加速比为12/3.25 = 3.69; 在16核计算机上的运行时间为1+10/16+1 = 2.63 秒,加速比为12/2.63 =
4.56。
http://doc.guandang.net/fatlab
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
解:(2) :(2任务在单个核的计算机上没有通信时间,运行时间为12秒; 在双核计算机上的通信时间为1×0.1,运行时间为 1+10/2+1+0.1 = 7.1秒,加速比为12/7.1 = 1.69; 在4核计算机上的通信时间为6×0.1=0.6,运行时间 为1+10/4+1+0.6 = 5.1秒,加速比为12/5.1 = 2.35; 在8核计算机上的通信时间为28×0.1=2.8,运行时 间为1+10/8+1+2.8 = 6.05秒,加速比为12/6.05 = 1.98; 在16核计算机上的通信时间为120×0.1=12,运行 时间为1+10/16+1+12 = 14.63秒,加速比为 12/14.63 = 0.82,即比单核计算机的计算时间更长。
http://doc.guandang.net/fatlab
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 单核 2核 4核 8核 16核
解
无通信开销 有通信开销
http://doc.guandang.net/fatlab
加速比 无通信开销 有通信开销
单核 1 1
2核 1.71 1.69
4核 2.67 2.35
8核 3.69 1.98
16核 4.56 0.82
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
Agenda多线程在多核上的加速能力 多线程对单线程的修改 加速多线程程序 处理器对多线程的硬件支持 多核存储管理对多线程的影响 核间通讯对多线程的影响 超线程对多线程的影响 多线程程序对硬件平台选型
http://doc.guandang.net/fatlab
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
多核程序员需要仔细加载多线程到多核上,以提高性能需要优化代码,充分利用处理器资源
需要修改哪些内容?1、存储缓存,解决伪共享问题 2、线程优先级
http://doc.guandang.net/fatlab
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
伪共享伪共享, false share多核处理器访问内存位置包含所请求内存位置的一部分实际内存(缓存代码行)被复制到高速缓 存中 将来可满足对同一内存位置(时间局部性)或其周围位置(空间局部性) 的引用 直至系统决定有必要保持高速缓存和内存之间的一致性 单核会运行很好。
http://doc.guandang.net/fatlab
然而多核情况不同了同时来自不同核的相同缓存代码行中的单个元素更新会使整个缓存代码行无效,即使这些更新在逻辑上是彼此独立的 每次对缓存代码行的单个元素进行更新时,都会将此代码行标记为无效 其他访问同一代码行中不同元素的处理器将看到该代码行已标记为无效,即 使所访问的元素未被修改,也会强制它们从内存或其他位置获取该代码行的 较新副本
原因基于缓存代码“行”保持缓存一致性,而不是针对“单个元素”的12
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
后果互连通信和开销方面都将有所增长 正在进行缓存代码行更新的时候,禁止访
问该代码行中的元素
在出现以下所有情况时,伪共享会使性能下降由多个处理器修改共享数据。 多个处理器更新同一缓存代码行中的数据。 这种更新发生的频率非常高(例如,在紧凑循环中)
http://doc.guandang.net/fatlab
注意,在循环中只读状态的共享数据不会导致伪共享 case study当多进程程序操作同一个int型数组int a[100]时如果进程0只访问a[0],进程1只访问a[1],进程2只访问a[2],...每个进程不应该发生数据共享
因为一般cache line可以包含几个int,因此访问同一个cache line 内int数组元素的几个进程,出现伪共享 把每个数组元素单独放在一个cache line大小的内存区域里在时间上 是最有效率的,然而空间上就变成最没效率的了 需要系统花费额外资源和时间运用控制协议来协调13
浙大 并行计算与多核
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
减少伪共享在执行应用程序时,对占据主导地位的并行循环进行仔细 分析即可揭示伪共享造成的性能可伸缩性问题 具体方法尽可 …… 此处隐藏:2819字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文




