[发明专利]一种数据流架构中基于网络负载特征进行指令调度的方法在审

专利信息
申请号: 201710787808.2 申请日: 2017-09-04
公开(公告)号: CN107665127A 公开(公告)日: 2018-02-06
发明(设计)人: 冯煜晶;张浩;吴冬冬;叶笑春 申请(专利权)人: 北京中科睿芯智能计算产业研究院有限公司
主分类号: G06F9/38 分类号: G06F9/38
代理公司: 北京科龙寰宇知识产权代理有限责任公司11139 代理人: 孙皓晨
地址: 101300 北京*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据流 架构 基于 网络 负载 特征 进行 指令 调度 方法
【说明书】:

技术领域

发明涉及数据流架构中的指令调度方法,具体而言,涉及一种数据流架构中基于网络负载特征进行指令调度的方法。

背景技术

随着计算机体系结构的发展,领域专用的计算机体系结构成为主要发展趋势。在面向特定应用时,专用型结构利用应用特征对结构进行相应的优化,从而更好地发挥出硬件的计算性能。在高性能计算领域,数据流计算是领域专用计算结构的一个重要分支,数据流计算表现出了较好的性能和适用性。数据流架构通常都包括若干个或者十几个计算节点(计算节点称为processing element,简称PE),每个计算节点都是运算能力较强但是控制能力较弱、复杂度较小的核心。每个计算节点内设置N个指令槽,每个指令槽内保存这条指令执行所需的操作数信息,当指令对应的所有源操作数都已经准备好同时该指令的下游也准备好接收结果数据时,这条指令就可以被指令调度逻辑选择进入到该计算节点的执行流水线当中。每个计算节点内的指令调度逻辑在每个时钟周期都会从那些准备好的指令当中进行选择然后发射到执行流水线当中。一般的指令调度逻辑都是选择根据指令标号顺序采用轮询(round-robin)的方式进行选择。如图1所示为轮询方式选择指令的示意图,一计算节点一共设置16个指令槽(编号分别为0~15),Cycle1、Cycle2和Cycle3为时间轴上3个连续的时间点。在时间点Cycle1时,16个指令槽当中一共存在4条指令是“Ready”的,可以被调度逻辑选择发射,此时,在时间点Cycle1选择2号指令槽。之后,在时间点Cycle2的时候,指令槽当中的2号指令槽由于前一个时间点Cycle1被选中发射到流水线当中,所以在当前时间点Cycle2处于发射状态,此时,6号、9号、13号和14号指令槽都处于“Ready”状态,可以被调度逻辑选择。轮询的原则是按照指令标号的顺序从所有处于“Ready”状态的指令当中进行选择,所以在时间点Cycle2时选择的是6号指令槽。在时间点Cycle3时,采用类似的原理,选择的是9号指令槽。总结起来,传统的轮询方式有2个要素:(1)按照指令的顺序进行选择;(2)从所有“Ready”的指令当中选择。

可见,传统的数据流架构当中,一般都是根据指令的源操作数是否完备作为先决条件,然后从这些满足先决条件的指令当中根据指令的顺序进行轮询选择,被选出的指令被调度到计算流水线当中执行。如果在数据流架构下,指令被映射到数据流阵列的映射算法和指令的排序同时都能够较好地考虑到各方面的均衡,这种普通的轮询调度方式也能够较好地保持计算资源和网络负载的均衡;但是如果指令在映射到数据流阵列的时候没有全面考虑到各方面均衡,可能导致连接数据流阵列的网络出现局部性繁忙,此时如果仍然采用普通的轮询策略,执行节点内部的计算流水线会出现停顿等待,计算单元的局部性利用率降低。

一般在数据流架构当中,多个计算节点采用2D mesh结构进行连接,由片上路由(Router)负责在计算单元(PE)之间传递操作数。图2为一片上网络示意图,图3为图2中一个片上路由201的出口和入口示意图,如图2所示,片上网络由多个计算单元、多个片上路由构成2D mesh结构,SPM为片上路由发送的系统参数报文,如图3所示,片上路由201内部有5个入口和5个出口。5个入口分别对应东、南、西、北方向和本地PE202,5个出口分别对应东、南、西、北方向和本地PE202。在片上路由201内部,来自不同入口的数据包先分别被放入到各个方向对应的输入缓存(input buffer)当中,然后对数据包信息进行解析,根据数据包的目的方向从对应的出口发送到下一级节点当中。每个时钟周期,每个出口可以处理1个数据包。

以上分析了传统数据流架构中的指令调度策略即轮询方式的基本过程,以及数据流架构中片上路由的工作原理。可以看出,两者并没有紧密的配合,指令调度逻辑在调度指令执行的时候并没有考虑指令执行结果的发送方向,而是仅仅考虑指令的顺序和指令的操作数是否准备好。如果指令映射的时候,在某个方向局部密集,按照原本片上路由的处理速度,该方向会导致执行速度出现瓶颈。另外,如果仍然按照原来的轮询策略调度指令,则会导致计算节点内部出现流水线的停顿和空闲。

可见,如果计算节点在调度指令的同时考虑网络拥堵状况,那么指令调度逻辑可以选择不拥堵方向上的指令进行调度,从而有助于提高计算节点内部的部件利用率和网络资源的利用率和吞吐率,这也是本领域技术人员的一个重要目标。

发明内容

本发明提供一种数据流架构中基于网络负载特征进行指令调度的方法,该方法在指令调度的同时考虑网络拥堵状况,以提高计算节点内部的部件利用率和网络资源的利用率和吞吐率。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科睿芯智能计算产业研究院有限公司,未经北京中科睿芯智能计算产业研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710787808.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top