发明名称 用于三维torus光电混合网络的路由方法
摘要 本发明公开了一种用于三维torus光电混合网络的路由方法,其实施步骤如下:1)节点在时隙开始阶段解析输入端口输入的报文和新报文的目的地址并选择输出端口;2)节点首先判断三个输入端口是否都有报文输入,如果三个输入端口都有报文输入且本节点有待发送的新报文,则暂停发送新报文并在下一个时隙开始时尝试发送该新报文;然后跳转执行下一步;3)节点首先判断为所有报文选择的输出端口是否冲突,如果发生输出端口冲突,则根据预设优先级别对发生输出端口冲突的报文的输出端口进行重新分配;最终将各个报文按照对应的输出端口发送给下一节点。本发明具有硬件利用率好、通信效率高、通信性能好、无死锁、活锁及饿死现象的优点。
申请公布号 CN103491023B 申请公布日期 2016.08.17
申请号 CN201310417134.9 申请日期 2013.09.13
申请人 中国人民解放军国防科学技术大学 发明人 窦文华;鲁佳;韩岗;李宝亮;周乐文;任双印;彭超;钱悦;窦强;郭龙飞;苏醒;任斌;叶进;覃晨
分类号 H04L12/851(2013.01)I 主分类号 H04L12/851(2013.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 赵洪;谭武艺
主权项 一种用于三维torus光电混合网络的路由方法,其特征在于实施步骤如下:1)节点在每个时隙的开始阶段,解析X‑端口、Y‑端口、Z‑端口三个输入端口到达节点的报文的目的地址,如果本节点有待发送的新报文则解析新报文的目的地址,根据维序路由算法决定所有被解析报文的输出端口;2)判断所述三个输入端口是否都有报文输入,当所述三个输入端口都有报文输入且本节点有待发送的新报文时,则暂停发送新报文并将在下一个时隙开始时尝试发送该新报文;否则,跳转执行下一步;3)首先判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则根据预设的优先级别对输出端口发生冲突的报文的输出端口进行重新分配;最后将各个报文按照对应的输出端口发送至下一节点;所述步骤1)中解析X‑端口、Y‑端口、Z‑端口三个输入端口到达节点的报文的目的地址时,按照X‑端口、Y‑端口、Z‑端口的优先顺序依次解析三个输入端口到达节点的报文的目的地址,来自X‑端口的报文的目的地址首先被解析,来自Y‑端口的报文的目的地址其次被解析,来自Z‑端口的报文的目的地址最后被解析;所述步骤3)中预设的优先级别具体是指:X‑端口输入的报文优先级大于Y‑端口输入的报文,Y‑端口输入的报文优先级大于Z‑端口输入的报文,X‑端口输入的报文、Y‑端口输入的报文、Z‑端口输入的报文的优先级均大于待发送的新报文;所述步骤3)的详细步骤如下:3.1)判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则跳转执行步骤3.2),否则跳转执行步骤3.5);3.2)判断本节点是否有待发送的新报文,如果有待发送的新报文则跳转执行步骤3.3),否则跳转执行步骤3.4);3.3)检查输出端口发生冲突的类型,如果有两个输入端口到达节点的报文,且所述两个输入端口到达节点的报文的输出端口均和待发送新报文的输出端口相同,则跳转执行步骤3.3.1);如果有两个输入端口的报文,但所述两个输入端口到达节点的报文中仅有一个报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.2);如果有两个输入端口到达节点的报文,所述两个输入端口到达节点的报文的输出端口均与新报文的输出端口不同,但所述两个输入端口到达节点的报文的输出端口之间相同,则跳转执行步骤3.3.3);如果仅有一个输入端口到达节点的报文,且所述输入端口到达节点的报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.4);3.3.1)保持所述两个输入端口到达节点的报文中优先级较高报文的输出端口不变,随机选取一个空闲的输出端口并重新分配给两个输入端口到达节点的报文中优先级较低的报文,并将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤3.5);3.3.2)保持所述两个输入端口到达节点的报文的输出端口的输出端口均不变,将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤3.5);3.3.3)保持所述两个输入端口到达节点的报文中优先级较高报文的输出端口不变,保持待发送新报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给所述两个输入端口的报文中优先级较低的报文,跳转执行步骤3.5);3.3.4)保持输入端口到达节点的报文的输出端口不变,随机选择一个空闲输出端口并重新分配给待发送的新报文,跳转执行步骤3.5);3.4)检查输出端口发生冲突的类型,如果有三个输入端口到达节点的报文,且三个输入端口到达节点的报文的输出端口均相同,则跳转执行步骤3.4.1);如果有三个输入端口到达节点的报文,且仅有两个输入端口到达节点的报文的输出端口相同,则跳转执行步骤3.4.2);如果仅有两个输入端口的报文,且所述两个输入端口的报文之间的输出端口相同,则跳转执行步骤3.4.3);3.4.1)保持三个输入端口到达节点的报文中优先级最高报文的输出端口不变,随机选取一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级次高的报文,并将最后剩下的一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级最低的报文,跳转执行步骤3.5);3.4.2)保持三个输入端口到达节点的报文中输出端口不相同报文的输出端口不变,保持所述两个输入端口的报文中优先级较高的报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给所述两个输入端口的报文中优先级较低的报文,跳转执行步骤3.5);3.4.3)保持所述两个输入端口到达节点的报文中优先级较高的报文的输出端口不变,随机选取一个空闲的输出端口重新分配给所述两个输入端口到达节点的报文中优先级较低的报文,跳转执行步骤3.5);3.5)将各个报文按照对应的输出端口发送至下一节点。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院