[发明专利]GPGPU网络请求报文无冲突发送方法有效
申请号: | 201510736872.9 | 申请日: | 2015-11-02 |
公开(公告)号: | CN105391610B | 公开(公告)日: | 2018-08-31 |
发明(设计)人: | 王志英;赵夏;马胜;王鹏;王璐;李晨 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | H04L12/40 | 分类号: | H04L12/40 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gpgpu 网络 请求 报文 冲突 发送 方法 | ||
1.一种GPGPU网络请求报文无冲突发送方法,其特征在于包括以下步骤:
第一步,将数据链路带宽为b bit的n*n的mesh网络划分成n个相互独立的Mesh子网:
1.1将数据链路带宽为b bit的n*n的mesh网络划分成n个数据链路带宽为b/n bit的相互独立的Mesh子网;每一个Mesh子网均是一个具有n行路由器、n列路由器且数据链路带宽为b/n bit的mesh网络;第y个Mesh子网记为Meshy,0≤y≤n-1,y为第y个Mesh子网的编号;在n2个路由器中有n-1个路由器与计算节点相连,n个路由器与存储节点相连,剩余的n2-2n+1个路由器既不与计算节点相连,也不与存储节点相连,仅负责报文在Meshy中的传递;
1.2按照计算节点在数据链路带宽为b bit的mesh网络中所处的列将计算节点划分为n组,每组n-1个计算节点,第y组计算节点简写为Groupy;对于这n组共n2-n个计算节点而言,Groupy中的n-1个计算节点与Meshy中的第y列路由器相连;
1.3 n个存储节点与每一个Mesh子网均相连,将n个存储节点中的网络接口均由1个增加至n个,每一个存储节点通过第y个网络接口与Meshy中的路由器相连;
1.4 Meshy的每一列仅有一个路由器与存储节点相连,在Meshy中位于第y列的每一个路由器的内部设置2个n bit的寄存器,使用大小为n bit的数据链路将相邻路由器内部的nbit的寄存器依次相连构成一个环网;每一个n比特寄存器中的n个比特位分别与n个存储节点相对应,某路由器内部n比特寄存器中的第j位存储1表示当前路由器可向目的节点Mj发送请求报文,存储0表示当前路由器不可向Mj发送请求报文;
第二步,简化Meshy中路由器的微体系结构:与计算节点相连的路由器经改进后由5个输入端口寄存器、交叉开关、交叉开关分配器、路由计算模块、本地端口控制器、5个输出端口、2个n bit的寄存器组成;每一个输入端口有一个输入端口寄存器,输入端口寄存器与本地端口控制器以及路由计算模块相连,该输入端口寄存器缓存正在mesh网络中传输的报文;本地端口控制器与该路由器内部所设置的2个n比特寄存器、输入端口寄存器、网络接口中的发送报文缓存队列相连;本地端口控制器读取发送报文缓存队列中头报文存储的信息,确定该报文的目的节点Mj;本地端口控制器读取2个n比特寄存器中存储的数值,判断2个n比特寄存器中第j位是否有一个为1,有一个为1则将从与该路由器相连的网络接口的发送报文缓存队列中收到的头报文取至本路由器的输入端口寄存器,并将第j位为1的n比特寄存器中该位置0;发送报文结束后,本地端口控制器将发送报文时置0的n比特寄存器中第j位重新置1;路由器中的2个n比特寄存器与同一列的上下路由器中的2个n比特相连,当某一路由器中的本地端口控制器将n比特寄存器的某一位置1后,该值会随着时钟的变化逐渐传递到同一列的其它路由器中的n比特寄存器的相应位;路由计算模块与输入端口寄存器以及交叉开关分配器相连,路由计算模块读取输入端口寄存器中存储的报文信息,根据当前路由器编号以及报文的目的路由器编号计算出该报文对应的输出端口,并将输出端口编号传递给交叉开关分配器;交叉开关分配器与路由计算模块以及交叉开关相连,交叉开关分配器接收到路由计算模块提供的输出端口编号,控制交叉开关,使输入端口寄存器中存储的报文可以通过交叉开关到达相应的输出端口,从而传递给下一跳的路由器;交叉开关与五个输入端口寄存器、五个输出端口、以及交叉开关分配器相连,交叉开关受交叉开关分配器的控制,为存储在输入端口寄存器中的报文提供传输至相应的输出端口的数据通路;五个输出端口与交叉开关相连,将从交叉开关收到的报文传递给下一跳的路由器;
不与计算节点相连的路由器经简化后由5个输入端口寄存器,交叉开关,交叉开关分配器,路由计算模块,5个输出端口组成;与与计算节点相连的路由器的区别是,不与计算节点相连的路由器减少了2个n比特寄存器以及本地端口控制器,输入端口寄存器仅与路由计算模块、输入端口、交叉开关相连;
第三步,计算节点Ci通过与其相连的Meshy将请求报文传输给目的节点Mj;
3.1系统通电初始化,Meshy中Ryn中1个n比特寄存器置全1,Ryn中另一个n比特寄存器以及其余路由器中的n比特寄存器均置全0,n比特寄存器中的值会随着时钟的变化逐渐传递到同一列的其它路由器中的n比特寄存器的相应位,Ryn中的yn表示y与n的乘积,Ryn为Meshy中第y列的首个路由器;
3.2 Ci根据其内部存储的连接映射表查询出与目的节点Mj相连的目的路由器Rm编号为m,0≤m≤n2-1,将Rm的编号m写入请求报文头部,并将请求报文放入Ci的网络接口中的发送报文缓存队列中;
3.3在Meshy中,与Ci相连的路由器Rk中的本地端口控制器从Ci的网络接口中的发送报文缓存队列获得请求报文,根据请求报文的头部内容得到该报文的目的路由器为Rm,以及目标节点为Mj;
3.4 Rk中的本地端口控制器读取2个n比特寄存器中存储的数值,本地端口控制器判断2个n比特寄存器中第j位是否有一个为1,有一个为1则将从与Rk相连的网络接口发送报文缓存队列中收到的头报文通过输入端口0取至本路由器的输入端口寄存器,并将第j位为1的n比特寄存器中该位置0,转3.5;若2个n比特寄存器中第j位都为0,则重复3.4步;
3.5 Rk中的路由计算模块根据输入端口寄存器中存储的请求报文的目的路由器编号m计算出输出端口编号,交叉开关分配器将请求报文通过输出端口编号对应的输出端口传递至下一跳的路由器Rl,0≤l≤n2-1,且l≠k;本地端口控制器将3.4步置0的n比特寄存器中第j位重新置1;
3.6 Rl中的路由计算模块根据输入端口寄存器中存储的请求报文的目的路由器编号m计算出输出端口编号,若输出端口编号为1~4,说明此时Rl不是Rm,则通过交叉开关分配器的控制将报文通过相应的输出端口传递至下一跳的路由器Rll,0≤ll≤n2-1,且ll≠l,令l=ll,转3.6;若输出端口编号为0,则说明当前路由器即为路由器Rm,通过交叉开关分配器的控制将报文通过输出端口0发送至与该路由器相连的网络接口的输出报文缓存队列中,由Mj取出。
2.如权利要求1所述的GPGPU网络请求报文无冲突发送方法,其特征在于所述输入端口寄存器大小等于mesh网络的带宽。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510736872.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于FIP通信的网络控制模块
- 下一篇:一种报文传输方法及设备