函数级并行中的访存管理与调度优化

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:hmtllgh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多核体系结构的发展,利用并行化提升应用程序性能已成为未来的发展趋势。为降低并行应用程序的编写难度以及提高计算资源使用效率,函数级并行编程模型已被广泛应用于生产实践中。现实中重要的并行计算问题往往属于非结构化并行应用程序,对于这类应用程序,传统函数级并行编程模型实现中的控制流限制会在程序中引入隐式的人为延迟。另外为保证负载均衡,函数级并行编程模型中往往使用随机任务窃取调度算法对任务进行调度,在多核体系结构中其随机性不能充分利用应用程序中的数据局部性,导致性能损失。任务依赖图编程模型用于解决非结构化并行应用程序中的性能瓶颈。一方面,模型为用户提供接口将并行应用程序直接构建为一张由任务节点和依赖边组成的有向无环图,程序中的任务不受程序控制流限制,而直接由任务间依赖关系驱动进行调度,从而一定程度上使任务能够提前执行,充分利用计算资源、减少执行时间。另一方面,模型底层运行时系统使用任务窃取调度算法保证负载均衡,同时利用目标机器上的硬件拓扑结构,对试图窃取任务的线程施加亲缘性偏好,优先选取亲缘性较高的线程进行窃取,从而减少不必要的缓存缺失。在函数级并行编程框架FunctionFlow中实现了任务依赖图编程模型。测试结果表明:对于数值计算中三种重要的并行应用程序——稠密矩阵的QR分解、Cholesky分解、LU分解,相对于传统函数级并行编程模型,任务依赖图编程模型能够减少程序中任务的等待时间,在最好情况下性能分别提升38.8%、47.0%、51.4%,且具有良好的可扩展性。
其他文献
毛细阻滞系统是由两层水力特性差异很大的土层构成,上层为细粒层,下卧层为粗粒层。其目的是为了在土体处于非饱和状态时,能有效减少雨水下渗。土体的储水能力是评价毛细阻滞
虚拟机整合为IaaS云数据中心中提升能源效率和服务质量提供了一种有效途径。大部分研究者将虚拟机整合阐述为装箱问题,装箱问题为NP-Hard问题。由于没能将虚拟机负载视为时间
状态方程(Equation of state)是涉及介质处于热力学平衡系统中具体性质的热力学量之间的关系式。鉴于炸药自身结构的复杂性,单一的实验测量或理论分析并不能很好的完成炸药状
随着城市化的发展,交通拥挤度的提高,公交客流检测在实现交通合理规划、优化公交车辆运营路线等方面上发挥着重要的作用。视频监控技术在公交系统中的普及则引起了计算机视觉
随着电子商务的不断发展和区块链技术优势的逐渐显现,国内外涌现出多种基于区块链的拍卖平台,但是区块链的公开透明性使用户隐私受到严重威胁,区块链提供的匿名机制其实是所谓的假名机制,无法保证真正的匿名性。尤其在拍卖系统中,用户群体较固定,交易价值也相对较高,攻击者分析交易的可能性更大,攻击者会试图分析拍卖交易数据背后的交易特征,给匿名账户进行身份画像,从而将匿名的区块链地址和用户的真实身份匹配,造成严重
近年来,我国经济形势良好,人民生活水平提升,人们不再只满足温饱,逐渐转向追求更高层次的生活,与国外的交流也日益增加,国外盛行的咖啡逐渐走入了国内大众的生活。在这样的背景下,国内的咖啡消费量逐年递增,甚至超过了世界咖啡销量增长的速度,由此也可以看出中国的咖啡市场潜力巨大。本文主要围绕改进Y公司现有的营销策略来展开研究,以确保Y公司可以在激烈的市场竞争中增加竞争力,最终能够提升市场份额。文中运用SWO
二硫化钼晶体由于其特殊的原子层结构,而具有良好的润滑性与抗压耐磨性,通常被用作固体润滑剂。然而,随着层数的减少,单层二硫化钼薄膜(SLMoS2)呈现出直接带隙的半导体电学特
盈余管理是会计学界一个时谈时新的话题,由于现代企业的所有权和经营权是分离的,管理层为了使盈余信息向自身利益发展会使用盈余管理方式改进委托代理关系。会计信息的真实性和准确性会受到盈余管理行为的影响,导致实际经营情况跟财务报告产生偏差,从而误导了信息使用者和利益相关者的决策,损害了资本市场资源配置的效率。本文通过对盈余管理进行详细分类,研究了审计质量对应计盈余管理、真实盈余管理以及归类变更盈余管理的影
基于新型城镇化下的乡村振兴、供给侧结构性改革下的乡村发展转型以及农村问题导向下的各大政策出台的研究背景,以田园综合体为研究对象,选取陕西省秦岭中部地区与甘肃省秦岭西部地区山地乡镇为研究范围,研究秦岭山地乡镇田园综合体规划策略,指导秦岭山地乡镇田园综合体的规划及营建。首先,通过实地调研与资料查阅,总结秦岭山地乡镇农业产业的发展、演变及现状,根据产业发展进行分类,总结产业发展在村镇发展中的作用及影响,
随着虚拟化技术的流行,越来越多的学术机构和企业开始尝试将紧耦合的并行应用放到云端来运行。为了提高资源利用率,云平台中多个虚拟机通常被整合到单个物理机上运行,这种资