针对片上网络运行应用的多样性,异构网络作为一种相对灵活的网络结构,能有效地降低网络的传输时延,提高系统性能。发明专利技术了一种异构片上网络自适应路由算法,并匹配静态路由算法和动态的自适应路由算法进行数据包的传输。同时,还发明专利技术了一种针对自适应路由算法的优化算法,该算法主要对自适应路由算法中新增的无缓存路由部分进行了改进,采用数据微片的二次竞争仲裁来降低数据微片偏转的误传概率,从而减少数据微片在网络中的传输时延,提高了网络性能。
An adaptive routing algorithm for heterogeneous network-on-chip
As a relatively flexible network structure, heterogeneous network can effectively reduce the transmission delay of network and improve system performance in view of the diversity of running applications of network on chip. An adaptive routing algorithm for heterogeneous network-on-chip is invented, which matches static routing algorithm and dynamic adaptive routing algorithm to transmit data packets. At the same time, an optimization algorithm for adaptive routing algorithm is also invented. This algorithm mainly improves the new cache-free routing part of the adaptive routing algorithm. Secondary competition arbitration of data microchip is used to reduce the probability of error transmission of data microchip deflection, thereby reducing the transmission delay of data microchip in the network and improving the network performance.
【技术实现步骤摘要】
一种异构片上网络自适应路由算法所属
本专利技术涉及片上网络的设计,尤其涉及异构片上网络无缓存路由算法的设计。
技术介绍
片上网络是片上系统的一种新的通信方法。它是多核技术的主要组成部分。片上网络方法带来了一种全新的片上通信方法,显著优于传统总线式系统(bus)的性能。基于片上网络的系统能更好地适应在未来复杂多核片上系统设计中使用的全局异步局部同步的时钟机制,是新一代复杂计算体系结构的必然选择。针对片上网络运行应用的多样性,异构网络作为一种相对灵活的网络结构,其内部采用多种功能不同的核心。由结构、功能、功耗、运算性能各不相同的多个核心形成的异构多核的片上系统,通过任务分工和划分将不同的任务分配给不同的核心,让每个核心处理自己擅长的任务,这种异构组织方式实现了资源的最优化配置,比同构多核处理器执行任务更有效率,能够有效地降低网络的平均延迟并提高系统性能。在异构片上网络的设计中,路由算法决定了路由器发送数据包的方向。路由器对数据包所包含的路由信息做出仲裁,根据路由算法将数据包发送到对应的路径上,最终准确无误的发送到目的节点。路由算法对网络的吞吐量、延时、服务质量等将产生很大的影响,同时也影响到路由器的结构设计。所选择的路由算法必须能够将数据包正确地发送到目的节点,即要求算法无死锁和活锁。死锁是指数据包在通讯网络中行成了循环等待而阻塞不前的情况;活锁是由于数据包到达目的节点所需的通道被其它数据包传输任务占用,导致该数据包只能围绕着目的节点而永远不能到达,产生的原因是网络采用了适应性、非最小路径路由算法;路由算法应该尽量选择最短路径,或者限制绕道次数的绕道路由算法,以缓解网络资源的压力;路由路径的选择与计算应该尽量简单,计算简单的路由算法才能使系统频率更快、消耗资源更少;路由算法应该公平对待片上网络的所有节点,以防止饥饿。使用不同优先级可能出现高优先级的数据包始终占用资源,而一些低优先级的数据包永远不能到达其目的节点,发生饥饿现象。使用公平路由算法或为低优先级的包预留一些资源可避免饥饿现象。对于片上网络的业务传输,随着数据包的不断注入,网络的负载状态也在不断的变化。当网络负载高时,链路竞争导致无缓存路由的误传率增高,利用buffered带缓存路由器对数据微片进行存储缓存,可以有效地降低网络拥塞程度;当网络负载低时,使用buffeless无缓存路由器对数据微片进行快速地转发,从而降低数据微片在buffer的传输时延,提高传输效率。自适应路由算法设计的基本思想是根据前4个周期经过路由节点的平均数据微片数l来判断网络负载流量的高低。当负载程度高于路由器的阈值上限时,将路由节点由buffferless路由器转换成buffered路由器;当网络负载程度低于路由器的阈值下限并且buffered路由器中所有端口的虚通道全部为空时,将路由节点由buffered路由器转换成bufferless路由器,否则会导致buffered路由器中缓存的数据微片丢失,数据包路由失败。自适应路由算法可以根据网络负载的状态变换路由器的模式,相比于静态的异构网络来说更加灵活和高效。算法中新增的无缓存路由器基于偏转的路由方式,还存在很大的改进空间。因此,对自适应路由算法中的无缓存路由部分进行进一步优化改进,以降低延迟,提高性能。
技术实现思路
本专利技术的目的是为解决基于异构片上网络的路由算法问题,降低通信的平均时延,提高网络性能,设计针对自适应路由算法的优化算法。本专利技术解决其技术问题所采用的技术方案是:本专利技术针对自适应路由算法中无缓存片上网络存在的不足之处,提出算法的优化设计方案改进型自适应路由算法,其优化路由输出端口的选择策略,通过对输出端口的二次竞争仲裁,避免数据微片偏离目的节点越来越远,从而有效地降低数据微片在网络中的传输时延,提高系统性能。所述的动态自适应路由算法可以根据网络负载的状态变换路由器的模式,相比于静态的异构网络来说更加灵活和高效。所述的改进型自适应路由算法通过设计让数据微片再选择一个次优的输出端口进行二次竞争仲裁,使得数据微片误传的概率降低。当数据微片到达路由节点之后,首先要计算出数据微片的有效输出端口和次优输出端口。假设当前路由节点坐标为(Xc,Yc),目的节点坐标为(Xd,Yd)。为每个数据微片设置一个flit_info的结构体,包括时间戳、有效输出端口first和次优输出端口second。当Xd>Xc时,若Yd>Yc),则设置数据微片的first为下,second为右;若Yd<Yc),则设置first为上,second为右;否则,设置first为右,second为-1。当Xd<Xc时,若Yd>Yc),则设置first为下,second为左;若Yd<Yc),则设置first为上,second为左;否则,设置first为左,second为-1。当Xd=Xc时,若Yd>Yc),则设置first为下,second为-1;若Yd<Yc),则设置first为上,second为-1;否则,输出端口为本地。附图说明下面结合附图和实施例对本专利技术进一步说明。图1是改进型自适应路由算法端口选择示意图。具体实施方式图1所示的输出端口选择的优化策略示意图,数据微片再选择一个次优的输出端口进行二次竞争仲裁,使得数据微片误传的概率降低。当数据微片到达路由节点之后,首先要计算出数据微片的有效输出端口和次优输出端口。假设当前路由节点坐标为(Xc,Yc),目的节点坐标为(Xd,Yd)。为每个数据微片设置一个flit_info的结构体,包括时间戳、有效输出端口first和次优输出端口second。当Xd>Xc时,若Yd>Yc),则设置数据微片的first为下,second为右;若Yd<Yc),则设置first为上,second为右;否则,设置first为右,second为-1。当Xd<Xc时,若Yd>Yc),则设置first为下,second为左;若Yd<Yc),则设置first为上,second为左;否则,设置first为左,second为-1。当Xd=Xc时,若Yd>Yc),则设置first为下,second为-1;若Yd<Yc),则设置first为上,second为-1;否则,输出端口为本地。完成了路由计算的任务后,需要通过竞争仲裁完成输入端口到输出端口的映射。设计算法的处理过程如下所示:1.对所有端口的输入数据微片进行筛选判断,满足条件者进入到下一步,否则继续扫描下一端口。2.判断数据微片的目的地是否为本地节点,如果目的地是本地节点,则将路由的本地输出端口状态设为真,进入下一轮循环。3.对于目的节点不是本地节点的数据微片,提取当前路由节点和数据微片的路由信息,进行源节点与目的节点相对位置的判断,根据上述设计的端口计算方式得出有效输出端口与次优输出端口。4.取出数据微片的有效输出端口,判断路由节点中该端口的状态是否被占用。若返回ture,端口未被占用,将该端口状态更改为占用,并将数据微片的时间戳和优先级信息赋值给路由节点的该端口。否则,判断该数据微片的时间戳或者优先级信息是否大于端口中的数据微片,若大于,则该数据微片竞争胜利,占用端口,将原有端口中的数据微片取出保存,进行第二次竞争仲裁,失败的进行第三次竞争仲裁;否则,取出该数据微片的次优输出端口,进行本文档来自技高网...
【技术保护点】
1.异构片上网络自适应路由算法对自适应路由算法中无缓存片上网络存在的不足之处,提出算法的优化设计方案改进型自适应路由算法,其优化路由输出端口的选择策略,通过对输出端口的二次竞争仲裁,避免数据微片偏离目的节点越来越远,从而有效地降低数据微片在网络中的传输时延,提高系统性能。
【技术特征摘要】
1.异构片上网络自适应路由算法对自适应路由算法中无缓存片上网络存在的不足之处,提出算法的优化设计方案改进型自适应路由算法,其优化路由输出端口的选择策略,通过对输出端口的二次竞争仲裁,避免数据微片偏离目的节点越来越远,从而有效地降低数据微片在网络中的传输时延,提高系统性能。2.根据权利要求1所述的异构片上网络自适应路由算法,其改进型自适应路由算法通过设计让数据微片再选择一个次优的输出端口进行二次竞争仲裁,使得数据微片误传的概率降低,当数据微片到达路由节点之后,首先要计算出数据微片的有效输出端口和次优输出端口,假设当前路由节点坐标为(Xc,Yc),目的节点坐标为(Xd,Yd),为每个数据微片设置一个...
【专利技术属性】
技术研发人员:魏莹,
申请(专利权)人:魏莹,
类型:发明
国别省市:辽宁,21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。