版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 并行化程序设计方法,并发: 并发是指一个进程中的多个线程交替执行。 并发线程在单个处理器上运行。,多线程应用程序中的并发性,Thread 2,Thread 1,引言,并行: 并行是指多个线程同时执行。 并行线程能在多个处理器上执行。,多线程应用程序中的并行性,引言,1.并行化程序开发流程,第一部分,第二部分,第三部分,2.并行化程序设计,2.并行化程序设计,问题的可并行性 是否可以将问题划分为不同的功能模块分别完成 针对需要处理的数据是否可以划分为若干数据块同时操作 是否可以将一个复杂的过程划分为若干个子操作流水执行,2.并行化程序设计,相关性分析 确定必要的通信和同步机制; 分析这些
2、并行化可能会带来的额外的开销 开销是否是必要的? 是否是有价值的? 是否是可以承受的? 额外的开销可能包括程序本身的开销,也可能是经济,资源,人力等方面开销。,2.并行化程序设计,问题1:数据竞争 解决方法:临界区、互斥、同步。 临界区 互斥 同步 问题2:死锁 解决方法:先来先服务 举例说明。,2.并行化程序设计,问题分解 最常用的分解模式有任务分解,数据分解和数据流分解。 任务分解是将问题划分为多个功能模块分别由不同的线程去执行;举例。 数据分解是将待处理数据分成若干不同的数据块交由不同的线程去执行;举例。 数据流分解是将一个复杂的操作划分成若干个简单的子操作,数据在子操作间按照一定的顺序
3、依次计算。举例。,2.并行化程序设计,数据的求和累加; 下列程序如何并行: for(int i=0;i20;i+) for(int i=0;i40;i+) doSomething(); ,2.并行化程序设计,算法设计结构 任务分解采用各任务并行,分而治之的设计结构 数据分解依据对数据的处理过程采用几何分解,递归分解等设计结构 数据流分解采用流水线等设计结构。,3. 并行编程模型选择,显式模型 Win32 API POSIX线程库Pthreads 隐式模型 OpenMP TBB 可选其它编程模型:MPI,PVM 通过例子比较显示模型和隐式模型的区别。,3. 并行编程模型选择,Win32 API
4、线程的创建:createThread() 线程的终止:ExitThread() 线程的挂起与恢复:SuspendThread(), ResumeThread() 线程的等待:WaitForSingleObject() WaitForMultipleObjects() OpenMP 无需开发人员显式处理复杂的线程创建、同步、负载平衡、销毁等技术细节。,4. 性能调优,性能指标 加速比 效率 粒度 负载平衡,调优工具 Intel VTune Intel Thread Checker Intel Thread Profiler,加速比 Speedup = Serial Time / Parallel
5、 Time Amdahls 定律 Speedup = 1 / S+(1-S)/n +H(n) (强调并行比例),4. 性能调优,Painting a picket fence requires: 30 minutes of preparation (serial). One minute to paint a single picket(300 picket). 30 minutes to clean up (serial). 1、2、10、100 painters,Example: Painting a Picket Fence,4. 性能调优,Consider how speedup is computed for different numbers of painters:,4. 性能调优,效率: (Speedup / Number of Threads) * 100%. Consider how efficiency is computed with different numbers of painters:,4. 性能调优,粒度 粒度表示程序处理数据的规模 两种类型粒度 粗粒度 细粒度,Example: Field and Farmers,4. 性能调优,负载平衡 让每个处理核尽可能处于相同的繁忙程度 有效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗护理员临终关怀
- 护理工作标准化与质量控制
- 2026年河北省继续医学教育公共必修课参考答案
- 零售业品牌管理规范
- 基于物联网的轨道扣件智能监测技术分析
- 基于数据分析的检验科质量管理改进
- 零售渠道效率提升方法研究
- 集流体行业可持续发展路径探索报告
- 客户服务提升方案与行长助理角色
- 客户服务中的沟通障碍及解决方法
- 5.1人民代表大会制度 课件(23张幻灯片)+内嵌视频 道德与法治统编版八年级下册
- 动火作业与受限空间安全管理标准
- 2026年当辅警笔试题库及一套完整答案
- 国家基层糖尿病防治管理指南(2025版)
- 2025至2030中国慢性偏头痛治疗行业市场深度研究与战略咨询分析报告
- 《安全生产违法行为行政处罚办法》(应急部18号令)解读
- 石棉制品工岗位现场作业技术规程
- 2026年春学期人教版初中英语八年级下册教学进度表
- (2026年)实施指南《FZT 41001-2013桑蚕绢纺原料》
- 财务分析盈利能力分析教案
- 新津区邓双100MW-200MWh独立储能电站项目环境影响报告表
评论
0/150
提交评论