入门 硬件知识 电脑基础 上网入门 故障 电脑修护 电脑健康 精通电脑 网站 DIV+CSS 建站知识 SEO知识
教程 电脑操作 平面设计 路由设置 技巧 Word Excel QQ技巧 壁纸 自然风景 酷车美女 系统桌面
系统 安装系统 系统技巧 系统设置 安全 木马查杀 黑客防御 安全资讯 美女 明星写真 清纯美女 性感美女

主页 > 电脑编程 > INTRODUCE

任务并行编程模型的应用

发布时间:2017-03-31 作者:电脑知识网 来源:www.sogoupc.com 字号:
 
并行编程模型是底层体系构造与上层应用程序之间的桥梁,向上躲藏并行处置器的细节,提供应程序员并行表达的办法;向下充沛应用硬件资源、高效且正确地完成应用需求.任务划分、任务映射、数据散布、通讯和同步是设计并行编程模型时需求思索的 5 个关键要素.任务并行编程模型主要关注共享存储的平台,数据分为共享和私有两种存储属性,经过共享数据停止通讯.因而,该编程模型的研讨重点是任务划分、任务映射和同步这个关键要素.任务并行编程模型把任务作为并行的根本单位,提供任务划分和同步的编程接口,把任务划分和同步工作交给程序员完成,用户能够把应用程序划分出大量细粒度任务.但是,详细到每个任务到底是并行执行还是串行执行、在哪个物理核上执行以及如何完成任务之间的同步则由运转时系统完成.任务并行编程模型倡导嵌套的递归任务,并引入以任务窃取为中心的用户级线程调度,完成程序的高性能和动态的负载均衡
任务并行编程模型提供显式的任务划分和同步编程接口以及隐式的任务映射机制.前者关注可编程性,后者关注执行效率.目前,任务并行编程模型支持非规则应用程序,把逻辑任务与物理线程别离,从而独立于处置器核数.但多核时期需求的是面向更宽广应用范畴的、易编程、高产能的并行编程工具,该模型的编程接口(并行性表达和数据管理)和运转时支持(任务调度)面临如下应战:
(1) 该模型的编程接口能支持的并行形式有限,需求丰厚编程接口,表达多种多样的并行性.例如,spawnsync 可以完成嵌套并行控制构造,但不能高效完成循环级并行,于是,程序员需求把数据并行的应用程序转换成嵌套并行,才干用该模型编写并行程序.另外,无条件原子块构造和有条件原子块构造是重要的并行任务构造,如何表达以及如何高效支持都需求深化研讨;
(2) 该模型把数据分为共享和私有两种,经过共享数据停止通讯.但有些数据是局部任务共享,或者一个线程内执行的一切任务共享,因而需求对数据进一步辨别共享范围,需求研讨如何高效完成不同级别的共享数据;
(3) 该模型的运转时系统担任把逻辑任务映射到物理线程上去执行,其中心任务是进步执行效率.存在的问题有:(a) 运转时系统是一个软件层,与应用程序链接在一同,运转在用户空间上.用软件完成任务窃取是有代价的,问题是能否进一步降低运转时系统开支;(b) 任务窃取采用最早任务优先窃取战略,该战略的“深度优先执行”可以进步 cache 的应用率.但随机选择线程停止任务窃取,而没有思索多核处置器的存储层次和处置器架构特性,关于部分性敏感的应用会产生影响.因而,任务调度时需求依据存储部件的层次、容量、访问延迟以及数据的访问部分性、重用度和层次性等要素停止部分性敏感的调度;(c) 集群系统和众核处置器都远比多核处置器要复杂,具有更大量的计算资源,如何管理和运用硬件资源,充沛应用体系构造的并行性和部分性来进步性能,也需求深化加以研讨


文章: 任务并行编程模型的应用
地址:http://www.sogoupc.com/pcbc/201703/18204.html
------分隔线----------------------------
------分隔线----------------------------
栏目分类
热门电脑编程文章推荐