- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务并行编程模型探讨与进展
任务并行编程模型研究与进展 近些年来,任务并行编程模型是近年来多核平台上广泛研究和使用的并行编程模型,其作用是在于简便并行编程和提高多核利用率。处理器从单核升级到多核,芯片的并行计算能力得到了显著增强,性能也得到了明显提高。但是,由于组成结构非常复杂,传统的处理器有着巨大发能源消耗的问题,不能通过增加核的数量来达到提升性能的效果。于是现在有了CPU和一个或者多个加速设备在主板或者片互相连接组成的异构系统,可以从根本提升计算机的性能和计算能力。并行编程模型和框架不能有效利用和发挥并行系统的特点,应用开发和性能优化难度大。面向GPU异构并行系统的多任务流编程模式,消息通信和任务内数据共享的通信方式运行时实现了一个系统原型
【关键词】任务并行 并行编程模型 处理器 研究与进展
1 多核处理器并行编程模型的分析
采用单芯片多处理器的多核处理器系统设计模式,这样的处理器核工作相互独立,各个核的硬件都单独存在一个环境,这样就能一同执行很多条指令。从高速缓存这个方面的设计来说,每个核的缓存设计都是单独存在的,各个核的最后一集缓存是单独的片上缓存的。基于多核处理器的系统特性,在多核环境下并行程序的影响因素主要有存储带宽、负载均衡和片上缓存一致性。在多核处理器的系统运行过程中,每个核所共享的是缓存的最后一级,但是同一时间多个线程位于不同的核上的对不同的数据集进行操作,这将会使最后一级的缓存与主缓存之间频繁地进行数据传送
片上缓存一致性。多核处理器系统中的每个芯片的位置在同一个存储备空间的数据。负载均衡。程序性能是每个核的负载均衡影响的重要因素之一,其中如果有的核上正在进行计算的同一时间其它的核在空置等待的问题发生,这样就是不均衡的负载,多核资源负载的利用率没有达到要求。怎样减少存储带宽上有限的资源利用。对于很多相同的核在一个大的数据上进行操作的问题,如果数据集容量的最后一级共享缓存超过大小,但是因为不同核的操作数据不同,就会在主存和高速缓存之间频繁的数据传送,那些不需要传送的数据可以使用cache块技术减少
现在设计的多核处理器并行编辑模型是一种基于任务密取的把任务作为处理对象的并行程序库,主要包含了单任务数据并行和多任务并行、原子操作类、cache行对齐的内存管理、栅栏机制的一些基本的功能特性。多核处理器提供了一种快捷便利高效的在平台下开发并行程序的接口。同时如果想解决更多困难,多核处理器并行编程模型所提供单任务数据并行和多任务数据并行的两种并行处理的方式。可以将单任务数据并行和多任务数据并行分为一个任务操作的一个大数据平均分配到多个核上去操作,然后再合并所有的核上计算所得到的结果。在多核处理器的环境中,片上缓存的一致性有的时候会严重影响并行程序的操作效果,所以一个高性能多核并行程序的重要前提是能有效的开发管理和分配内存
2 异构并行系统的多任务流编程模型
伴随着CPU在通用计算机领域的快速进步与不断发展,很多的研究机构和组织都开展了针对GPU异构并行系统的编程的研究与探索,为了开发出性能更加优化效果更加高效的并行系统的编程,将高效语言程序自动转化成CUDA程序。异构并行编程模型依靠编程接口及编译和运行时系统解决技术调整,其主要任务 要保证任务的映射,就是任务具体哪个设备或者计算单元上执行和以哪种顺序执行。更要对任务的数据分布和通信、划分以及同步机制进行全面系统的优化升级。建立单一的GPU上下文以降低开销,同时要实现任务流内消息的通信传递和任务数据流内的数据共享通信,这样就可以提高数据通信的效率,并减少开发的困难
多任务流模型中的数据通信包括并行任务间的通信和单个任务间的通信两个方面。但因为GPU异构并行系统具有分布式的存储信息和共享存储信息的特性,并行任务之间使用的消息传递的通信方法与传统的消息通信接口MPI相同,这样可以更便捷的让用户使用和掌握,并且对于开发应用也保持了良好的扩展性和有效的并行应用继承。对于单个的任务流内提供数据共享的通信机制,降低不同存储给编程开发带来的复杂性,减轻应用开发负担。基于程序对于共享空间的读写访问属性,按照不同的读写操作进行状态转换和数据更新。4种访问操作下的状态转换,保持读写的一致性更新状态的转换,其有3种共享空间存在状态。这种类型的访问更新数据 操作可以保障程序访问的数据为最新的数据
建立一种多任务流编程模型,这种设计实现了半场运行时支持系统原型GMMP,利用多级硬件并行性特点实现了应用程序的数据级并行和任务级并行,模型采用了任务内数据共享与任务之间消息传递的通信方式,如此不但可以简便开发移植的过程,而且还能降低程序的开放困难
3 结束语
近些年来,任务并行编辑模型是多芯片出现后为了简化并行编程而开发研究出来的一种新型的并行编程模型。并行性的问题是运
文档评论(0)