1 / 47
文档名称:

并行程序设计.ppt

格式:ppt   大小:305KB   页数:47页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

并行程序设计.ppt

上传人:一花一世 2019/1/29 文件大小:305 KB

下载得到文件列表

并行程序设计.ppt

相关文档

文档介绍

文档介绍:并行程序设计ParallelProgramming余华山什么是并行计算?通过计算机硬件和软件协作,同时执行多个数据运算的一种计算模式提高计算效率,包括提高计算速度、以及降低数据处理的成本四种不同粒度/层次的并行计算微指令级(SSE:streamingSIMDextensions):向量处理指令指令级(ILP:instruction-levelparallelism):一颗core微处理器,有3个ALU、2个FPU、3个SSE超标量技术:依靠微处理器体系结构技术,动态调整指令流的顺序,一次发射多条指令,主流处理器几乎都采用的技术超长指令字技术:编译时将多条普通指令组装成“超级指令”,比如IA微处理器线程级(TLP:thread-levelparallelism):由程序将计算任务划分成可以同时执行的操作序列,每个操作序列分别由不同的处理器执行内核来处理进程级:由程序将计算任务划分成可以独立分配计算资源的子任务,每个子任务分别由不同的计算机系统来处理并行程序与并行计算机串行程序:将计算任务分解成标量操作的序列的程序。串行程序是可以并行执行的被编译器编译成面向SIMD的指令被编译器编译成面向VLIW指令由支持superscalar技术的处理器执行并行程序:显式表达计算任务中各数据运算无关性的程序并行计算机:能够同时执行并行程序中无关数据运算的计算机采用向量处理器一条指令完成多个数据单元的处理提供多个互相独立的处理执行核:每个执行核分别执行自己的指令流多处理器系统:Multi-core/SMP/CPU+Coprocessor多计算机系统:MPP/Cluster/Grid/Cloud并行程序的开发与并行计算串行程序程序员串行编译串行程序串行处理器串行执行超标量处理器并行执行并行编译SIMD并行程序SIMD处理器并行执行VLIW并行程序VLIW处理器并行执行线程并行程序多处理器系统并行执行进程并行程序多计算机系统并行执行线程并行程序进程并行程序编译编译我们一直在不自觉的使用并行计算技术来提升计算效能当前几乎所有的计算机都是并行计算机:多核/微处理器内多个执行单元/SIMD指令几乎每个程序运行时都在执行并行计算:专家们(体系结构/编译/操作系统)一直在替我们做并行技术的开发和运用指令级并行:提高同时执行的指令数缩短指令流的执行时间程序执行效率的提升指令的基本执行过程:instructionfetchdecodeexecuteesswriteback每个过程分别是由不同的部件执行通过流水,使得多条指令同时执行,每条指令分别处于不同的执行阶段:依靠pre-fetch/re-order等技术提供多个执行单元,支持多条指令流水同时执行数据级并行(data-levelparallelism)和任务级并行(task-levelparallelism):提高同时执行的线程数用户工作效率的提升(同时做多件事情,互不耽搁)基本技术支撑:interrupt/lock/hyper-threading/……Cache/virtualmemory/diskfile:执行一个线程,总会发生数据访问失效为什么要程序员编写并行程序?并行计算机:提升计算系统计算潜力的必然趋势Frequencywall:物理上限指令流的执行时间下限Memorywall:CPU与Memory的速度鸿沟指令级并行的流水深度限制Powerwall:P=C(电容/晶体管的数量)×V2(电压)×F(频率)单个芯片的计算潜力上限Multi-core:提升单个芯片计算潜力的必然选择,保持Moore’slaw:增加执行核(用于数据运算的晶体管的数量),降低主频提高用于数据运算的晶体管的比率:降低指令级并行的流水深度提高晶体管的利用率:执行核之间按需共享cache/FBI挖掘处理器的计算潜力:提高芯片内用于数据处理的晶体管的比率微指令级并行(SIMD):提高计算机的字长一次解码,处理更多的数据例如core微处理器的SSE指令采用128bit寄存器,一个指令周期可处理4个float数数据级并行(data-levelparallelism)和任务级并行(task-levelparallelism):multi-core,支持多个指令流同时处于数据运算阶段如何提高数据处理的效率:利用多个执行核分摊数据处理任务指令级并行/提高主频:缩短指令流的执行时间并行程序:缩短指令流的长度数据级并行/任务级并行:同时执行多个短的指令流向量计算:提高单条指令的数据处理量处理器的主导技术已由提高处理器主频转向多核技术多核技术指令流的执行时间延长了同时执行的指令流数量增加了专用协处理器技术(X86指令集包括近300条指令,科学计算只需要其中的约80条指令)提高用于数据处理的晶体管的比率提高晶体管的利用率可重构计算技术(F