并行化程序设计方法.ppt

上传人:小飞机 文档编号:6279467 上传时间:2023-10-13 格式:PPT 页数:21 大小:296KB
返回 下载 相关 举报
并行化程序设计方法.ppt_第1页
第1页 / 共21页
并行化程序设计方法.ppt_第2页
第2页 / 共21页
并行化程序设计方法.ppt_第3页
第3页 / 共21页
并行化程序设计方法.ppt_第4页
第4页 / 共21页
并行化程序设计方法.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《并行化程序设计方法.ppt》由会员分享,可在线阅读,更多相关《并行化程序设计方法.ppt(21页珍藏版)》请在三一办公上搜索。

1、第2章 并行化程序设计方法,并发:并发是指一个进程中的多个线程交替执行。并发线程在单个处理器上运行。,多线程应用程序中的并发性,Thread 2,Thread 1,引言,并行:并行是指多个线程同时执行。并行线程能在多个处理器上执行。,多线程应用程序中的并行性,引言,1.并行化程序开发流程,第一部分,第二部分,第三部分,2.并行化程序设计,2.并行化程序设计,问题的可并行性是否可以将问题划分为不同的功能模块分别完成针对需要处理的数据是否可以划分为若干数据块同时操作是否可以将一个复杂的过程划分为若干个子操作流水执行,2.并行化程序设计,相关性分析确定必要的通信和同步机制;分析这些并行化可能会带来的

2、额外的开销开销是否是必要的?是否是有价值的?是否是可以承受的?额外的开销可能包括程序本身的开销,也可能是经济,资源,人力等方面开销。,2.并行化程序设计,问题1:数据竞争 解决方法:临界区、互斥、同步。临界区互斥同步问题2:死锁解决方法:先来先服务举例说明。,2.并行化程序设计,问题分解最常用的分解模式有任务分解,数据分解和数据流分解。任务分解是将问题划分为多个功能模块分别由不同的线程去执行;举例。数据分解是将待处理数据分成若干不同的数据块交由不同的线程去执行;举例。数据流分解是将一个复杂的操作划分成若干个简单的子操作,数据在子操作间按照一定的顺序依次计算。举例。,2.并行化程序设计,数据的求

3、和累加;下列程序如何并行: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线程的创建:createThread()线程的终止:ExitThread(

4、)线程的挂起与恢复:SuspendThread(),ResumeThread()线程的等待:WaitForSingleObject()WaitForMultipleObjects()OpenMP无需开发人员显式处理复杂的线程创建、同步、负载平衡、销毁等技术细节。,4.性能调优,性能指标加速比效率粒度负载平衡,调优工具Intel VTuneIntel Thread CheckerIntel Thread Profiler,加速比 Speedup=Serial Time/Parallel Time Amdahls 定律Speedup=1/S+(1-S)/n+H(n)(强调并行比例),4.性能调优,

5、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.性能调优,负载平衡让每个处理核尽可能处于相同的繁忙程度有效的任务划分方式线程完成相同的工作量线程同时完成工作,Example:Cleaning Banquet Tables,4.性能调优,本章小结,并行程序开发流程并行化程序设计综述,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号