CN105684506B - 片上网络NoC的流量控制方法及装置 - Google Patents
片上网络NoC的流量控制方法及装置 Download PDFInfo
- Publication number
- CN105684506B CN105684506B CN201480059677.0A CN201480059677A CN105684506B CN 105684506 B CN105684506 B CN 105684506B CN 201480059677 A CN201480059677 A CN 201480059677A CN 105684506 B CN105684506 B CN 105684506B
- Authority
- CN
- China
- Prior art keywords
- noc
- flow
- network
- volume change
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
Abstract
本发明提供一种片上网络NoC的流量控制方法及装置,包括:采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;获取所述NoC中的中央处理单元CPU的性能参数;根据所述流量变化值和所述性能参数,控制所述NoC的当前流量。采用本发明实施例的技术方案,可以保证CPU处理能力和NoC的流量变化相匹配,达到控制NoC的网络字节序列流量,避免流量拥塞的效果。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种片上网络NoC的流量控制方法及装置。
背景技术
片上网络(Network-on-Chip,简称NoC)作为一种片上通信网络,其是可以应用在片上系统(System-on-Chip,简称SoC)上,如单芯片多处理器(Chip Multi-Processors,简称CMP)等。基于NoC的系统能更好地适应在未来复杂多核SoC设计中使用的全局异步、局部同步的时钟机制。NoC构架主要基于电子及光学技术,分别称为片上电网络(ElectricalNetwork-on-Chip,简称ENoC)及片上光网络(Optical Network-on-Chip,简称ONoC)。在NoC中,普遍使用也是最适合的网络结构为包交换的直接网络,即每个节点通过双向通道连接到相邻的节点。此外,为了便于扩展,NoC中的通信协议往往采用分层的网络协议。
以迁移执行机器(Migration Execution Machine,简称EM2)为例,其NoC拓扑为两维网格几何结构。每片(Tile)拥有6个单独的NoC路由器(Router),该6个路由器分为三组,每组两个路由器,以确保避免路由器的死锁。上述三组路由器执行的功能不同,一组用于网络迁移(Migration Network),一组用于远程网络存取(Remote Access Network),还有一组用于网络直接存储器存取(Direct Memory Access network)。
然而,现有CMP架构容易出现网络字节序列流量拥塞的情况。
发明内容
本发明实施例提供一种片上网络NoC的流量控制方法及装置,用以解决现有技术中CMP架构容易出现网络字节序列流量拥塞的问题。
本发明的第一方面,提供一种片上网络NoC的流量控制方法,包括:
采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;
获取所述NoC中的中央处理单元CPU的性能参数;
根据所述流量变化值和所述性能参数,控制所述NoC的当前流量。
在第一种可能的实现方式中,根据第一方面,所述采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值之前,还包括:
获取所述NoC的多个训练网络字节序列;
计算各训练网络字节序列中相邻序列元素之间的差值,得到各训练网络字节序列对应的训练流量差值序列;
采用所述训练流量差值序列进行训练,得到所述BP神经网络。
在第二种可能的实现方式中,结合第一方面和第一种可能的实现方式,所述采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值,具体包括:
根据所述设定时间和设定相关间隔,从所述NoC的输入输出IO端采样获取预测网络字节序列;
计算所述预测网络字节序列中相邻序列元素之间的差值,得到预测流量差值序列;
将所述预测流量差值序列作为所述BP神经网络的输入,计算得到所述流量变化值。
在第三种可能的实现方式中,结合第一方面、第一种可能的实现方式和第二种可能的实现方式,所述根据所述流量变化值和所述性能参数,控制所述NoC的当前流量,具体包括:
判断所述性能参数是否超过第一预设阈值;
若超过所述第一预设阈值,且所述流量变化值大于零,则降低所述NoC的流量上限值。
在第四种可能的实现方式中,结合第一方面、第一种可能的实现方式和第二种可能的实现方式,所述根据所述流量变化值和所述性能参数,控制所述NoC的当前流量,具体包括:
判断所述流量变化值是否大于零;
若大于零,且所述性能参数低于第二预设阈值,则调整所述CPU的调度参数以使所述CPU的处理能力与所述流量变化值相匹配,所述调度参数包括所述CPU的电压和/或主频。
本发明的第二方面,提供一种片上网络NoC的流量控制装置,包括:
预测模块,用于采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;
获取模块,用于获取所述NoC中的中央处理单元CPU的性能参数;
控制模块,用于根据所述流量变化值和所述性能参数,控制所述NoC的当前流量。
在第一种可能的实现方式中,根据第二方面,所述预测模块还用于:
获取所述NoC的多个训练网络字节序列;
计算各训练网络字节序列中相邻序列元素之间的差值,得到各训练网络字节序列对应的训练流量差值序列;
采用所述训练流量差值序列进行训练,得到所述BP神经网络。
在第二种可能的实现方式中,结合第二方面和第一种可能的实现方式,所述预测模块具体用于:
根据所述设定时间和设定相关间隔,从所述NoC的输入输出IO端采样获取预测网络字节序列;
计算所述预测网络字节序列中相邻序列元素之间的差值,得到预测流量差值序列;
将所述预测流量差值序列作为所述BP神经网络的输入,计算得到所述流量变化值。
在第三种可能的实现方式中,结合第一方面、第一种可能的实现方式和第二种可能的实现方式,所述控制模块具体用于:
判断所述性能参数是否超过第一预设阈值;
若超过所述第一预设阈值,且所述流量变化值大于零,则降低所述NoC的流量上限值。
在第四种可能的实现方式中,结合第一方面、第一种可能的实现方式和第二种可能的实现方式,所述控制模块具体用于:
判断所述流量变化值是否大于零;
若大于零,且所述性能参数低于第二预设阈值,则调整所述CPU的调度参数以使所述CPU的处理能力与所述流量变化值相匹配,所述调度参数包括所述CPU的电压和/或主频。
本发明的第三方面,提供一种片上网络NoC的流量控制装置,包括:存储器,用于存储指令,处理器,用于运行所述存储器中的指令以执行如第一方面所述的片上网络NoC的流量控制方法。
本发明实施例提供的片上网络NoC的流量控制方法,首先采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;再获取NoC中的中央处理单元CPU的性能参数,之后根据流量变化值和性能参数,控制NoC的当前流量。本发明实施例通过综合考虑CPU的性能参数和NoC的流量变化值,保证了CPU处理能力和NoC的流量变化相匹配,达到了控制NoC的网络字节序列流量,提升NoC的吞吐量,避免流量拥塞的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种NoC的流量控制方法的流程图;
图2为本发明实施例二提供的一种NoC的流量控制方法的流程图;
图3为本实施例二提供的基于EM2的NoC流量控制示意图;
图4为本发明实施例三提供的一种NoC的流量控制装置的结构示意图;
图5为本发明实施例四提供的一种NoC的流量控制装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的一种NoC的流量控制方法的流程图。如图1所示,该方法包括以下步骤:
S100、采用反向传播神经网络预测NoC未来设定时间内的流量变化值。
S101、获取NoC中的中央处理单元的性能参数。
S102、根据流量变化值和性能参数,控制NoC的当前流量。
上述各步骤的执行主体可以为具备一定处理能力的处理器,例如,可以是EM2。
反向传播(Back Propagation,简称BP)神经网络是多层前馈神经网络的一种,它是由信息的正向传播和误差的反向传播两个过程组成。从其结构上来看,BP神经网络包括输入层、中间层和输出层三层。输入层的各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果,并将该结果与期望输出结果相比,再将误差反向传播回BP神经网络以调整各层之间的权重值,直至BP神经网络的输出结果与期望输出结果的误差在预设范围内。
本实施例基于上述原理,采用BP神经网络预测NoC未来设定时间内的流量变化值。可选的,可以用NoC的多个网络字节序列训练BP神经网络,即将各网络字节序列中相邻序列元素的差值输入BP神经网络的输入层,调整BP神经网络的各层之间的权重值,并用权重值确定的BP神经网络预测NoC在未来设定时间内的流量变化值,即从当前时刻到设定时刻之间的流量变化值。
进一步地,可以获取NoC中的中央处理单元(Central Process Unit,简称CPU)的性能参数。由于CPU的处理能力和NoC的网络字节序列流量拥塞具有较强的相关性,而且两者随时间的变化不会呈现显著的规律,因此,为了使CPU的处理能力和NoC的网络字节序列流量匹配,可以获取CPU的性能参数,如其当前的利用率等,之后再根据预测出的设定时间内的流量变化值和CPU当前的性能参数,控制NoC的当前流量。例如,若预测出在设定时间内NoC的流量会增大,而CPU处理刚够当前的NoC流量,那么就可以将NoC的流量阈值调低,避免下一刻流量增大而CPU无法处理,而导致网络字节序列流量拥塞。
本发明实施例提供的片上网络NoC的流量控制方法,首先采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;再获取NoC中的中央处理单元CPU的性能参数,之后根据流量变化值和性能参数,控制NoC的当前流量。本实施例通过综合衡量CPU的性能参数和NoC的流量变化值,保证了CPU处理能力和NoC的流量变化相匹配,达到了控制NoC的网络字节序列流量,提升NoC的吞吐量,避免流量拥塞的效果。
图2为本发明实施例二提供的一种NoC的流量控制方法的流程图。本实施例中各步骤的执行主体为具备一定处理能力的处理器,例如,可以是EM2。如图2所示,该方法包括以下步骤:
S200、训练BP神经网络。
从步骤S100的描述中可知,为了使用BP神经网络准确预测NoC的流量,可以首先对BP神经网络进行训练,即确定BP神经网络各层之间的权重值。
具体的,该训练过程可以分为下面三个步骤:
1)获取NoC的多个训练网络字节序列。
由于NoC的网络流量字节序列在具有多步相关性,即当前流量与过去若干个采样间隔的流量之间存在一定关系,因此,可以用NoC的多个训练网络字节序列来训练BP神经网络。
具体在获取时,可以用NoC的输入输出(Input Output,简称IO)端采样获取上述多个训练网络字节序列。
2)计算各训练网络字节序列中相邻序列元素之间的差值,得到各训练网络字节序列对应的训练流量差值序列。
由于NoC的实际流量的抖动比较大,因此,可选的,可以用绝对误差法来预测,即可以先获取NoC的多个训练网络字节序列,然后计算各训练网络字节序列中相邻序列元素之间的差值,得到各训练网络字节序列对应的训练流量差值序列。
3)采用训练流量差值序列进行训练,得到BP神经网络。
得到各训练网络字节序列对应的训练流量差值序列之后,可以用该训练流量差值序列训练BP神经网络,得到各层之间权重值稳定的BP神经网络。
S201、采用BP神经网络预测NoC未来设定时间内的流量变化值。
当BP神经网络训练完成之后,也就是其各层之间的权重值都确定之后,即可用该BP神经网络来预测NoC在未来设定时间内的流量变化值。
具体的,可以首先根据设定时间和设定相关间隔,从NoC的IO端采样获取预测网络字节序列。需要说明的是,该设定相关间隔为估计的NoC的网络字节序列的相关性,可以根据实际的NoC流量情况确定,此外,设定时间可以取当前采样间隔的下一采样间隔等,具体也是视实际的NoC流量情况确定。
进一步地,可以计算预测网络字节序列中相邻序列元素之间的差值,得到预测流量差值序列。也就是说,将预测网络字节序列的前后相邻两项相减,得到下一采样间隔与前一采样间隔之差,该差值组成的新序列即为上述预测流量差值序列。
更进一步地,可以将上述预测流量差值序列作为BP神经网络的输入,然后用该BP神经网络的输出作为上述流量变化值。
S202、获取NoC中的CPU的性能参数。
具体的,该性能参数作为衡量CPU的当前处理能力的性能指标,可选的,其可以为CPU的当前利用率。
S203、根据流量变化值和性能参数,控制NoC的当前流量。
由于若CPU的利用率过高,如大于90%,那么可能会导致假死,若此时NoC的流量在未来设定时间内增大,则该处理器核(Core)就无法处理与其他Core间的通信机制,而容易导致系统局部故障;若CPU的利用率过低,如小于40%,即表示Core的资源利用不足,若此时NoC的流量在未来设定时间内增大,那么就会导致核间通信延迟响应加剧,则会造成系统局部性能降低。因此,需要综合考虑CPU的处理能力和NoC的流量之间的相关性,即在得到未来设定时间内的流量变化值和CPU的性能参数之后,根据上述二者来控制NoC的当前流量,以在不利情况发生前,动态自适应调整NoC的当前流量,保证Core处于合理性能区间,避免前述情况的发生。
可选的,在控制NoC的当前流量时,一种策略是在不改变CPU的性能参数的情况下,控制该NoC的流量阈值,使其不超过CPU的处理能力;另一种策略是在不改变NoC的流量阈值的前提下,调整CPU的性能参数,使CPU的处理能力与未来NoC的流量能够更好的匹配,以提高CPU的性能。
作为第一种策略,可以首先判断性能参数是否超过第一预设阈值;若超过第一预设阈值,且流量变化值大于零,则降低NoC的流量上限值。该第一预设阈值用来表征当前CPU的处理能力的瓶颈,因此,该策略是指,当通过性能参数判断CPU当前的处理能力已经达到瓶颈,并且预测出的流量变化值大于零,即未来NoC的流量会增大,那么,可以反向控制NoC的流量,即通过降低该NoC的流量上限值,对NoC的流量进行限制,从而避免在未来出现NoC流量增长而CPU无法处理的情况。当然,若预测未来NoC的流量不会增大,则可以不动作。
作为另一种策略,可以首先判断流量变化值是否大于零;若大于零,且性能参数低于第二预设阈值,则调整CPU的调度参数以使CPU的处理能力与流量变化值相匹配,该调度参数可以是CPU的电压、或主频、或主频和电压。该策略是指,当预测出的流量变化值大于零,即未来NoC的流量会增大,而此时CPU的处理能力并未达到瓶颈,即未超出Core的处理能力范围,则可以通过调整CPU的电压、或主频、或主频和电压,自适应调节Core的性能或功耗开销,使CPU的处理能力能够适应未来时间内的流量增长。当然,若预测未来NoC的流量不会增大,即未预测到发生拥塞的风险,也可以利用同时多线程调度(Simultaneous MultiThreading)来均衡CPU处理能力和NoC的流量之间的关系,以提高CPU的性能。
下面以EM2的架构为例,详细说明上述训练过程以及对NoC流量的控制过程。
首先,假定xk(k=1,2,...,N)表示第k个采样间隔的流量,N表示用来训练该BP神经网络的训练网络字节序列的总长度,若该NoC的训练网络字节序列的相关间隔为p,那么,提前q步预测的流量模型为:
xk+q=f(xk,xk-q,...,xk-p+q) (1)
其中,xk+q表示第k+q个采样间隔的流量,特别的,当q=1时,即提前一步预测的流量模型为:
xk+1=f(xk,xk-1,...,xk-p+1) (2)
也就是说,xk+1与它之前的p个采样间隔的流量之间存在映射关系f,由于f是难以显示描述的非线性函数,并且,正如前文所述,在实际中,NoC的流量抖动比较大,因此,可以采用绝对误差法来度量。下文均以q=1为例说明,但并不以此为限定。
具体的,可以计算□xk=xk+1-xk,即计算上述训练网络字节训练序列前后两项的差值,构成一个新的序列,即训练流量差值序列,之后再对该训练流量差值序列进行流量预测:
□xk+1=g(□xk,□xk-1,...,□xk-p+1) (3)
其中,□xk+1表示第k个采样间隔至第k+1个采样间隔之间的流量变化值。
在得到上述训练流量差值序列之后,即可用它来训练BP神经网络,由于训练BP神经网络需要大量的样本,当式(3)中的k取不同值时,即可得到多个用于训练BP神经网络的训练网络字节序列。
以图3为例,图3为本实施例二提供的基于EM2的NoC流量控制示意图。如图3所示,其中,路由器1~6即为背景技术中的三组路由器,具体的,路由器1和路由器2用于网络迁移,路由器3和路由器4用于远程网络存取,路由器5和路由器6用于网络直接存储器存取,上述6个路由器的连接箭头表示其上转发的网络数据。处理器核7代表该NoC对应的CPU。
该BP神经网络分为三层,输入层8、中间层9和输出层10,它们在图3中是用虚线框表示的。
首先,输入层有6个神经元,即图3中的黑色方格,每个神经元分别连接一个路由器,与上面的例子结合,即此时p=6,该6个神经元即接收的是训练流量差值序列中的6个量,分别是□xk,□xk-1,...,□xk-5。
中间层,也即隐藏层有3个神经元,即图3中的黑色方格,它们分别接收来自输入层的6个输入,并且将3个输出传至输出层,这3个输出即为3个流量变化值,从逻辑功能上来说,这3个流量变化值分别对应着用于实现三个不同功能的三组路由器对应的NoC的流量变化值。在实际中,该中间层可以是由多层组成,而并不一定是一层。举例来说,用表示从第m-1层的神经元j到第m层神经元i的权重值,假设表示第m-1层神经元i的第k次输入,gm表示其转移函数,即第m层输入到输出的转移函数,表示相应输出。例如,若中间层只有一层,则表示从输入层的第1个神经元到中间层的第1个神经元之间的权重值,表示从中间层的第1个神经元到输出层的第1个神经元之间的权重值。
上述和满足如下代数关系式:
输出层有1个神经元,即图3中的黑色方格,其接收来自中间层的3个流量变化值,即并根据这3个流量变化值,综合得到整个NoC在未来设定时间内的流量变化值Δxk+1,然后与下一采样间隔实际的Δxk+1进行比较,若误差不在预设范围内,则继续用下一个训练网络字节序列训练该BP网络,直至误差落在预设范围之内。
通过大量的样本训练之后,该BP神经网络的权重值就确定了,此时,即可将预测网络字节序列输入该BP神经网络,并预测NoC在未来设定时间内的流量变化值,并根据预测结果和CPU的性能参数控制NoC的当前流量。
需要说明的是,在实际中,可以用BP神经网络的输出层输出预测的NoC在未来设定时间内的流量变化值,之后再按照步骤S202~S203的描述,在获取CPU的性能参数之后,再综合该CPU的性能参数和预测的流量变化值,控制NoC的当前流量;当然,也可以将CPU的性能参数输入BP神经网络的输出层,由该输出层完成对未来设定时间内的流量变化值的预测以及对NoC的当前流量的控制,图3示出的即为上述第二种方式。
本发明实施例提供的片上网络NoC的流量控制方法,首先采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;再获取NoC中的中央处理单元CPU的性能参数,之后根据流量变化值和性能参数,控制NoC的当前流量。本实施例通过综合衡量CPU的性能参数和NoC的流量变化值,保证了CPU处理能力和NoC的流量变化相匹配,达到了控制NoC的网络字节序列流量,提升NoC的吞吐量,避免流量拥塞的效果。
图4为本发明实施例三提供的一种NoC的流量控制装置的结构示意图。如图4所示,该流量控制装置1包括:预测模块10、获取模块11和控制模块12。
具体的,预测模块10用于采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;获取模块11用于获取NoC中的中央处理单元CPU的性能参数;控制模块12用于根据流量变化值和性能参数,控制NoC的当前流量。
进一步地,预测模块10还用于:获取NoC的多个训练网络字节序列;计算各训练网络字节序列中相邻序列元素之间的差值,得到各训练网络字节序列对应的训练流量差值序列;采用训练流量差值序列进行训练,得到BP神经网络。
更进一步地,预测模块10具体用于:根据设定时间和设定相关间隔,从NoC的输入输出IO端采样获取预测网络字节序列;计算预测网络字节序列中相邻序列元素之间的差值,得到预测流量差值序列;将预测流量差值序列作为BP神经网络的输入,计算得到流量变化值。
更进一步地,控制模块12具体用于:判断性能参数是否超过第一预设阈值;若超过第一预设阈值,且流量变化值大于零,则降低NoC的流量上限值。
更进一步地,控制模块12具体用于:判断流量变化值是否大于零;若大于零,且性能参数低于第二预设阈值,则调整CPU的调度参数以使CPU的处理能力与流量变化值相匹配,调度参数包括CPU的电压和/或主频。
本发明实施例提供的片上网络NoC的流量控制方法,首先采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;再获取NoC中的中央处理单元CPU的性能参数,之后根据流量变化值和性能参数,控制NoC的当前流量。本实施例通过综合衡量CPU的性能参数和NoC的流量变化值,保证了CPU处理能力和NoC的流量变化相匹配,达到了控制NoC的网络字节序列流量,提升NoC的吞吐量,避免流量拥塞的效果。
图5为本发明实施例四提供的一种NoC的流量控制装置的结构示意图。如图5所示,该流量控制装置2包括:存储器20和处理器21。
具体的,存储器20用于存储指令,处理器21用于运行存储器20中的指令以执行如实施例一和实施例二任一例所述的NoC的流量控制方法。
本发明实施例提供的片上网络NoC的流量控制方法,首先采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;再获取NoC中的中央处理单元CPU的性能参数,之后根据流量变化值和性能参数,控制NoC的当前流量。本实施例通过综合衡量CPU的性能参数和NoC的流量变化值,保证了CPU处理能力和NoC的流量变化相匹配,达到了控制NoC的网络字节序列流量,提升NoC的吞吐量,避免流量拥塞的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种片上网络NoC的流量控制方法,其特征在于,包括:
采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;
获取所述NoC中的中央处理单元CPU的性能参数;
根据所述流量变化值和所述性能参数,控制所述NoC的当前流量;
所述采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值,具体包括:
根据所述设定时间和设定相关间隔,从所述NoC的输入输出IO端采样获取预测网络字节序列;
计算所述预测网络字节序列中相邻序列元素之间的差值,得到预测流量差值序列;
将所述预测流量差值序列作为所述BP神经网络的输入,计算得到所述流量变化值。
2.根据权利要求1所述的方法,其特征在于,所述采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值之前,还包括:
获取所述NoC的多个训练网络字节序列;
计算各训练网络字节序列中相邻序列元素之间的差值,得到各训练网络字节序列对应的训练流量差值序列;
采用所述训练流量差值序列进行训练,得到所述BP神经网络。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述流量变化值和所述性能参数,控制所述NoC的当前流量,具体包括:
判断所述性能参数是否超过第一预设阈值;
若超过所述第一预设阈值,且所述流量变化值大于零,则降低所述NoC的流量上限值。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述流量变化值和所述性能参数,控制所述NoC的当前流量,具体包括:
判断所述流量变化值是否大于零;
若大于零,且所述性能参数低于第二预设阈值,则调整所述CPU的调度参数以使所述CPU的处理能力与所述流量变化值相匹配,所述调度参数包括所述CPU的电压和/或主频。
5.根据权利要求1或2所述的方法,其特征在于,所述性能参数为所述CPU的当前利用率。
6.一种片上网络NoC的流量控制装置,其特征在于,包括:
预测模块,用于采用反向传播BP神经网络预测NoC未来设定时间内的流量变化值;
获取模块,用于获取所述NoC中的中央处理单元CPU的性能参数;
控制模块,用于根据所述流量变化值和所述性能参数,控制所述NoC的当前流量;
所述预测模块具体用于:
根据所述设定时间和设定相关间隔,从所述NoC的输入输出IO端采样获取预测网络字节序列;
计算所述预测网络字节序列中相邻序列元素之间的差值,得到预测流量差值序列;
将所述预测流量差值序列作为所述BP神经网络的输入,计算得到所述流量变化值。
7.根据权利要求6所述的装置,其特征在于,所述预测模块还用于:
获取所述NoC的多个训练网络字节序列;
计算各训练网络字节序列中相邻序列元素之间的差值,得到各训练网络字节序列对应的训练流量差值序列;
采用所述训练流量差值序列进行训练,得到所述BP神经网络。
8.根据权利要求6或7所述的装置,其特征在于,所述控制模块具体用于:
判断所述性能参数是否超过第一预设阈值;
若超过所述第一预设阈值,且所述流量变化值大于零,则降低所述NoC的流量上限值。
9.根据权利要求6或7所述的装置,其特征在于,所述控制模块具体用于:
判断所述流量变化值是否大于零;
若大于零,且所述性能参数低于第二预设阈值,则调整所述CPU的调度参数以使所述CPU的处理能力与所述流量变化值相匹配,所述调度参数包括所述CPU的电压和/或主频。
10.一种片上网络NoC的流量控制装置,其特征在于,存储器,用于存储指令,处理器,用于运行所述存储器中的指令以执行如权利要求1-5任一项所述的片上网络NoC的流量控制方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/078182 WO2015176289A1 (zh) | 2014-05-22 | 2014-05-22 | 片上网络NoC的流量控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105684506A CN105684506A (zh) | 2016-06-15 |
CN105684506B true CN105684506B (zh) | 2019-04-05 |
Family
ID=54553240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480059677.0A Active CN105684506B (zh) | 2014-05-22 | 2014-05-22 | 片上网络NoC的流量控制方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105684506B (zh) |
WO (1) | WO2015176289A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111573B (zh) * | 2019-05-15 | 2020-09-08 | 辽宁工业大学 | 一种基于物联网的拥堵车辆综合调度方法 |
CN110958177B (zh) * | 2019-11-07 | 2022-02-18 | 浪潮电子信息产业股份有限公司 | 一种片上网络路由优化方法、装置、设备及可读存储介质 |
JP2023538839A (ja) | 2020-08-06 | 2023-09-12 | セレッシャル エイアイ インコーポレイテッド | コヒーレントなフォトニックコンピューティングアーキテクチャ |
US11835777B2 (en) | 2022-03-18 | 2023-12-05 | Celestial Ai Inc. | Optical multi-die interconnect bridge (OMIB) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204181A (zh) * | 2009-03-12 | 2011-09-28 | 松下电器产业株式会社 | 最佳路径选择装置、最佳路径选择方法、以及程序 |
WO2014073188A1 (ja) * | 2012-11-08 | 2014-05-15 | パナソニック株式会社 | 半導体回路のバスシステム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081891B2 (en) * | 2012-07-31 | 2015-07-14 | Hewlett-Packard Development Company, L.P. | Reconfigurable crossbar networks |
-
2014
- 2014-05-22 WO PCT/CN2014/078182 patent/WO2015176289A1/zh active Application Filing
- 2014-05-22 CN CN201480059677.0A patent/CN105684506B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204181A (zh) * | 2009-03-12 | 2011-09-28 | 松下电器产业株式会社 | 最佳路径选择装置、最佳路径选择方法、以及程序 |
WO2014073188A1 (ja) * | 2012-11-08 | 2014-05-15 | パナソニック株式会社 | 半導体回路のバスシステム |
Also Published As
Publication number | Publication date |
---|---|
WO2015176289A1 (zh) | 2015-11-26 |
CN105684506A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105684506B (zh) | 片上网络NoC的流量控制方法及装置 | |
US11233710B2 (en) | System and method for applying machine learning algorithms to compute health scores for workload scheduling | |
CN104639626B (zh) | 一种多级负载预测与云资源弹性配置方法与监控配置系统 | |
EP3238002A1 (en) | Holistic global performance and power management | |
CN106127302A (zh) | 处理数据的电路、图像处理系统、处理数据的方法和装置 | |
CN105912396A (zh) | 用于动态地分配可配置计算资源的资源的技术 | |
TWI531187B (zh) | 晶片上網路之時序功率估算裝置與方法 | |
CN105677000B (zh) | 动态电压频率调整的系统及方法 | |
CN104145281A (zh) | 神经网络计算装置和系统及其方法 | |
CN110386027A (zh) | 云计算和边缘计算相结合的电动汽车用电池管理系统 | |
CN109408452A (zh) | 拟态工控处理器及数据处理方法 | |
CN110222871A (zh) | 用于电力负荷预测的相似日的选择方法及装置 | |
US11663461B2 (en) | Instruction distribution in an array of neural network cores | |
Li et al. | Leveraging endpoint flexibility when scheduling coflows across geo-distributed datacenters | |
CN103858393B (zh) | 用于包的并行处理的包处理电路 | |
CN104898819B (zh) | 分组处理装置 | |
CN108304925A (zh) | 一种池化计算装置及方法 | |
CN106209681B (zh) | 一种队列管理方法和装置 | |
CN113315644A (zh) | 流量预测方法、装置以及存储介质 | |
CN104102129A (zh) | 用于创建基于数据的函数模型的方法和装置 | |
CN109255189A (zh) | 基于流式计算的电压暂降并行实时模式识别方法 | |
CN106649067B (zh) | 一种性能和能耗预测方法及装置 | |
CN106570585B (zh) | 一种面向自供能系统的任务调度方法及能量管理装置 | |
CN103166863B (zh) | 集总式8x8低延迟高带宽交叉点缓存队列片上路由器 | |
CN109447843B (zh) | 一种光伏出力预测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |