Institute of Computing Technology, Chinese Academy IR
一种面向科学计算的数据流优化方法 | |
申小伟1; 叶笑春1; 王达1; 张浩1; 王飞2; 谭旭1; 张志敏1; 范东睿1; 唐志敏1; 孙凝晖1 | |
2017 | |
发表期刊 | 计算机学报 |
ISSN | 0254-4164 |
卷号 | 40.0期号:009页码:2181 |
摘要 | 传统数据流结构通过多上下文来隐藏指令等待源操作数的延迟,然而这种隐藏方式只能部分提高数据流处理器执行单元的利用率.在面向例如Stencil、FFT和矩阵乘法等典型科学应用时,传统数据流结构的执行单元利用率仍然较低.科学计算中的核心程序一般是对不同数据进行相同的操作,而且这些操作可以并行执行,数据之间没有直接依赖关系.传统数据流结构是面向通用计算的,通常采用循环来实现对不同数据的相同操作.在这些循环中,迭代是按照顺序依次执行的,这导致了传统数据流结构没有利用科学计算的并行性来提高性能.所以传统数据流结构在处理这些规则的科学应用时没有协调好数据流计算模式和科学计算特征,而数据流计算是非常适合科学计算这种类型的规则计算.基于科学计算的这些特征,该文提出了一种面向科学计算的数据流结构优化方法:循环流水优化方法.循环流水优化方法利用科学计算的分块和并行处理特征,对传统数据流结构中的上下文控制逻辑进行了改进,将科学计算中的循环采用硬件自迭代的方式实现,并将上下文切换逻辑进行了流水化,使数据流结构中的上下文以流水线方式进入执行单元阵列,从而提高计算单元的利用率.面对这种循环流水优化后的数据流结构,传统数据流结构上的指令映射算法不再适用.通过分析循环流水优化后的结构特征,该文进一步提出了一种改进的指令映射算法:LBC(LoadBalanceCentric)指令映射算法.LBC算法按照深度优先顺序依次映射数据流图中的所有指令,对每条指令分别计算执行单元阵列中所有位置的代价,取最小代价的位置作为最佳映射位置.LBC算法以执行单元负载均衡为核心,同时将定点指令和浮点指令分开处理,保证执行单元上的定点部件和浮点部件的负载均衡.每当映射一条指令时,LBC算法采用相邻节点传输延迟与已经映射的该类型指令数量的乘积作为负载代价,来实现计算部件的负载均衡.另外,LBC算法将网络拥堵也作为指令映射的影响因素.LBC算法将节点与所有父节点的距离之和作为传输代价,使指令间传输消息的路径最短,从而减小片上网络消息传递的跳数.实验结果表明,在处理典型科学应用时,相比于传统数据流结构,循环流水的优化方法将数据流结构的性能平均提高了4.6%.相比于传统指令映射算法SPDI和SPS,在循环流水优化后的数据流结构上,LBC指令映射算法将性能分别平均提升了182.6%和158.1%. |
关键词 | 指令映射 数据流 循环流水 科学计算处理器 高性能计算 |
语种 | 英语 |
文献类型 | 期刊论文 |
条目标识符 | http://119.78.100.204/handle/2XEOYT63/36792 |
专题 | 中国科学院计算技术研究所期刊论文_中文 |
作者单位 | 1.中国科学院计算技术研究所 2.中国科学院电子学研究所 |
第一作者单位 | 中国科学院计算技术研究所 |
推荐引用方式 GB/T 7714 | 申小伟,叶笑春,王达,等. 一种面向科学计算的数据流优化方法[J]. 计算机学报,2017,40.0(009):2181. |
APA | 申小伟.,叶笑春.,王达.,张浩.,王飞.,...&孙凝晖.(2017).一种面向科学计算的数据流优化方法.计算机学报,40.0(009),2181. |
MLA | 申小伟,et al."一种面向科学计算的数据流优化方法".计算机学报 40.0.009(2017):2181. |
条目包含的文件 | 条目无相关文件。 |
个性服务 |
推荐该条目 |
保存到收藏夹 |
查看访问统计 |
导出为Endnote文件 |
谷歌学术 |
谷歌学术中相似的文章 |
[申小伟]的文章 |
[叶笑春]的文章 |
[王达]的文章 |
百度学术 |
百度学术中相似的文章 |
[申小伟]的文章 |
[叶笑春]的文章 |
[王达]的文章 |
必应学术 |
必应学术中相似的文章 |
[申小伟]的文章 |
[叶笑春]的文章 |
[王达]的文章 |
相关权益政策 |
暂无数据 |
收藏/分享 |
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论