一种应用映射辅助的片上光互连光源功率梯度设置方法

文档序号:32030499发布日期:2022-11-03 01:27阅读:39来源:国知局
一种应用映射辅助的片上光互连光源功率梯度设置方法

1.本发明属于片上光网络技术领域,具体涉及一种应用映射辅助的片上光互连光源功率梯度设置方法。


背景技术:

2.随着多核系统的发展,传统的片上电网络在带宽、迟延等方面已经遇到严重的性能瓶颈。片上光网络(optical network-on-chip,onoc)的出现为片上通信提供了一种有前途的解决方案,但其遭受的可靠性挑战(如插入损耗、串扰)会限制它的可扩展性,因此对片上光互连中光信噪比(optical signal-to-noise ratio,osnr)进行优化是必要的。同时,onoc的能效对光源的功率有很大的依赖性,光源消耗的静态功率占总功率的很大比例,对于任务间的通信,过多的功率会造成额外的浪费,因此光源功率的合理设置也是必要的,使其在保证片上光互连正常通信的同时,最大限度地得到利用。
3.现有的一些工作主要通过利用网络中流量的时间和空间变化,对网络带宽进行调整来降低光源消耗的功率,以优化网络能耗。现有工作主要有以下不足:当片上光互连中进行通信时,即使在网络负载较低的条件下,若从源节点到目的节点遇到的插入损耗很小,这些方法仍然需要提供面向最坏情况插入损耗的较大的光源功率来对插入损耗进行补偿。


技术实现要素:

4.为了解决现有技术中存在的上述问题,本发明提供了一种应用映射辅助的片上光互连光源功率梯度设置方法。本发明要解决的技术问题通过以下技术方案实现:
5.本发明提供了一种应用映射辅助的片上光互连光源功率梯度设置方法,包括:
6.获取待映射的应用和相应的网络拓扑;
7.根据网络拓扑和选择的光路由器及路由算法建立光信噪比模型,并获得全局最坏情况下的最大插入损耗;
8.利用所述光信噪比模型和智能算法获得应用与网络拓扑的最优映射方案;
9.利用所述最优映射方案获得最小插入损耗,采用非均匀分布方式在所述最小光源功率与所述最大光源功率之间划分多个区间,形成多个光源功率梯度等级;
10.根据所述光源功率梯度等级设置每个通信对源节点的光源功率。
11.在本发明的一个实施例中,根据网络拓扑和选择的光路由器及路由算法建立光信噪比模型,并获得全局最坏情况下的最大插入损耗,包括:
12.根据所述光路由器和路由算法获得所述网络拓扑中n个节点中任意一对节点通信时产生的插入损耗和串扰,构成osnr矩阵w,矩阵大小为n
×
n,所述osnr矩阵w中的元素w(i,j)表示节点ti到节点tj通信时的光信噪比
13.获得全局最坏情况下的最大插入损耗,即网络拓扑中的所有节点在两两通信时产生的最大插入损耗。
14.在本发明的一个实施例中,所述智能算法为弹性网络算法。
15.在本发明的一个实施例中,利用所述光信噪比模型和智能算法获得应用与网络拓扑的最优映射方案,包括:
16.构造弹性网络并利用每个节点对应的osnr矩阵w中的行向量对所述弹性网络进行训练,获得训练后的弹性网络;
17.利用训练后的弹性网络和应用通信关系矩阵r获得应用与网络拓扑的最优映射方案。
18.在本发明的一个实施例中,构造弹性网络并利用每个节点对应的osnr矩阵w中的行向量对所述弹性网络进行训练,获得训练后的弹性网络,包括:
19.构造弹性网络,利用每个节点对应的osnr矩阵w中的行向量对所述弹性网络进行训练,获得训练后的弹性网络,所述弹性网络的能量函数为:
[0020][0021]
其中,α,β和k是尺度参数,xi为第i个节点对应的行向量,yj为第j个神经元的权重向量,yj+1为第j+1个神经元的权重向量,n为节点数量,h为神经元数量,
[0022]
所述神经元的权重向量变化更新采用梯度下降法,对于第j个神经元,其权重向量的变化量为:
[0023][0024][0025]
权重向量的更新公式为:
[0026]
yj=yj+δyj,
[0027]
其中,ω
ij
表示节点和神经元的邻近程度,当k=0时,神经元的权重不再发生变化,训练结束。
[0028]
在本发明的一个实施例中,利用训练后的弹性网络和应用通信关系矩阵r获得应用与网络拓扑的最优映射方案,包括:
[0029]
训练完成后,保持弹性网络中神经元的权重向量不变,获取应用通信关系矩阵r;
[0030]
在所述应用通信关系矩阵r中,计算每个ip核对应的行向量与所有神经元的欧氏距离,获取每个ip核对应与其欧式距离最小的神经元,将ip核和节点对应的神经元索引号分别从小到大排序,完成一对一映射,得到应用与网络拓扑的最优映射方案。
[0031]
在本发明的一个实施例中,利用所述最优映射方案获得最小插入损耗,采用非均匀分布方式在所述最小光源功率与所述最大光源功率之间划分多个区间,形成多个光源功率梯度等级,包括:
[0032]
利用所述光信噪比模型,获得所述最优映射方案中每个通信对对应的插入损耗,
选择最小的作为最小插入损耗。利用所述最小插入损耗和所述最大插入损耗获取最小光源功率和最大光源功率;
[0033]
采用非均匀分布方式在所述最小光源功率和最大光源功率之间划分多个区间,形成多个光源功率梯度等级。
[0034]
在本发明的一个实施例中,采用非均匀分布方式在所述最小光源功率和最大光源功率之间划分多个区间,形成多个光源功率梯度等级,包括:
[0035]
在最小光源功率和最大光源功率之间获取中点光源功率在所述最小光源功率与中点光源功率之间均匀设置r/3-r/2个光源功率梯度等级,在所述中点光源功率与所述最大光源功率之间均匀设置0-2个光源功率梯度等级,其中,r表示通信对的个数。
[0036]
在本发明的一个实施例中,根据所述光源功率梯度等级设置每个通信对源节点的光源功率,包括:
[0037]
对于所述最优映射方案中的每个通信对,根据求出其源节点所需的光源功率,其中,s为目的节点的光电探测器灵敏度,表示节点ts到节点td通信时的插入损耗;查看所求光源功率在所述光源功率梯度等级中的区间,并设置当前区间中的最大值作为当前源节点对应的最终光源功率。
[0038]
本发明还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上述实施例中任一项所述应用映射辅助的片上光互连光源功率梯度设置方法的步骤。
[0039]
与现有技术相比,本发明的有益效果在于:
[0040]
1、本发明提出了一种应用映射辅助的片上光互连光源功率梯度设置方法,通过自动地将ip核映射到onoc节点以优化最坏情况下的光信噪比(osnr),并在此基础上对光源功率进行梯度设置,达到优化onoc能耗,提高片上通信功率效率和可靠性的目的。
[0041]
2、本发明通过映射对osnr进行优化,提高了片上光互连的可靠性和可扩展性。
[0042]
3、本发明对osnr优化后为每个通信对设置合理的光源功率,降低了光源消耗的静态功率,提高了片上光互连的功率利用率。
[0043]
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
[0044]
图1是本发明实施例提供的一种应用映射辅助的片上光互连光源功率梯度设置方法的流程图;
[0045]
图2是本发明实施例提供的一种应用映射辅助的片上光互连光源功率梯度设置方法的框架示意图;
[0046]
图3是本发明实施例提供的一种片上通信路径损耗图;
[0047]
图4是本发明实施例提供的一种由神经元组成的弹性网络的示意图;
[0048]
图5是本发明实施例提供的一种光源功率梯度等级示意图;
到ip核c2存在通信关系,在映射后,ip核c1映射到网络拓扑节点t3,ip核c2映射到网络拓扑节点t4,则映射后对应的通信是节点t3到节点t4,这称为一个通信对,即通信对指两个具有通信关系的网络拓扑节点。
[0062]
具体地,根据所选择的光路由器和路由算法可以求出网络拓扑n个节点中任意一对节点通信时产生的插入损耗和串扰,构成osnr矩阵w,其大小为n
×
n,在矩阵w中,w(i,j)是节点ti到节点tj通信时的光信噪比
[0063]
在onoc中,节点间的通信过程如下:源节点中光源提供的波长λ1,λ2,...,λn被引导到光纤中的芯片并耦合到波导中,n个微环谐振器(microring resonator,mr)的谐振波长分别对应n个波长,可以将数据调制到相应波长的光信号上。调制后的光信号沿波导传输到达目的节点,n个mr同样被设计成与光信号相同的波长进行谐振,将光信号进行滤波。滤波后的光信号经光电探测器进行光电转换,经跨阻放大器放大,最终提取出波长上调制的数据,完成通信。整个通信过程会产生一些损耗,包括:光源的耦合损耗l
coupler
、mr中through端(直通端)的损耗drop端(下载端)的损耗调制器损耗lm、探测器损耗l
pd
、波导交叉损耗lc和波导弯曲损耗lb等。如图3所示,这些损耗共同组成插入损耗,会使光源功率在传输过程中不断降低。
[0064]
通信源节点ts与目的节点td之间的插入损耗的计算如公式(2),其中,θ、m、p、q分别为通信过程中在光路由器中经过的直通端、下载端、波导交叉和波导弯曲的数量。
[0065][0066]
通信目的节点td接收到的信号功率为其计算如公式(3),其中,p
in
为源节点ts的光信号输入功率:
[0067][0068]
源节点ts和目的节点td通信受到其它通信的串扰计算如公式(4),其中,为第i个通信对对当前通信产生的噪声功率,r为通信对的个数。
[0069][0070]
源节点ts和目的节点td的计算如公式(5),求出网络拓扑n个节点中任意一对节点通信时产生的osnr,构成osnr矩阵w。
[0071][0072]
在一个特定应用下,最坏情况下的osnr计算如公式(6),即将该特定应用映射到onoc之后,onoc中具有通信关系的节点在两两通信时的最小osnr,这也是映射优化的目标。
[0073][0074]
其中,cs、cd为ip核,c为ip核集,e
sd
∈e表示ip核cs到cd的通信,e表示有向边集,f
(cs)、f(cd)分别表示cs和cd经过公式(1)映射后的网络拓扑节点,t表示节点集,表示节点f(cs)到f(cd)通信时的osnr。
[0075]
需要说明的是,在本实施例的实际情况中,因为需要求解映射,具有通信关系的ip核映射到节点的位置不能确定,要根据映射后的通信osnr来评估映射方案。事先获取了整个onoc的osnr矩阵w,并获得全局最坏情况下的最大插入损耗。
[0076]
具体地,全局最坏情况下的最大插入损耗计算如公式(7),即在没有任何应用映射时,onoc中的所有节点在两两通信时产生的最大插入损耗,其中,表示节点ts到节点td通信时的插入损耗。
[0077][0078]
s3:利用所述osnr模型和智能算法获得应用与网络拓扑的最优映射方案。
[0079]
需要说明的是,所述智能算法可以是任何能够快速求解最优化问题的算法,例如模拟退火(sa)算法、粒子群(pso)算法、人工蜂群(abc)算法、人工鱼群(afsa)算法、连续型霍普菲尔德神经网络(chnn)算法等。本实施例选择的智能算法是弹性网络算法。
[0080]
请参见图4,图4是本发明实施例提供的一种由神经元组成的弹性网络的示意图。弹性网络(en)是由神经元组成的一维环形网络,神经元是ip核数量的三倍,神经元首尾相接,具有良好的几何特性。弹性网络以能量函数的形式对目标进行表示,能量函数的最小值对应问题的最优解。其优化osnr的思想:在osnr矩阵w中,用每个节点对应的矩阵w中的行向量对原始弹性网络进行迭代训练,每次使用一个行向量,根据该行向量更新弹性网络中神经元的权重向量,依次不断地使用这些行向量来更新神经元的权重向量,使神经元向节点靠近,使得最终每个节点对应弹性网络中的一个神经元。神经元的数量是节点数量的3倍及以上。
[0081]
具体地,用每个节点对应的osnr矩阵w中的行向量进行弹性网络训练时,定义能量函数为:
[0082][0083]
其中,α,β和k是尺度参数,其中,α,β为常数,k等价于模拟退火算法中的温度,随着训练而减小,xi是第i个节点对应的行向量,yj是第j个神经元的权重向量,y
j+1
是第j+1个神经元的权重向量,n为节点数量,h为神经元数量。能量函数h最小时,每个节点对应一个神经元。
[0084]
神经元的权重向量变化更新采用梯度下降法,对于第j个神经元,其权重向量的变化量为δyj,如公式(9)。其中ω
ij
如公式(10),权重向量的更新如公式(11)。
[0085]
[0086][0087]
yj=yj+δy
j j∈{1,...,h}
ꢀꢀꢀ
(11)
[0088]
其中,ω
ij
表示节点和神经元的邻近程度。当k=0时,若神经元j最终收敛到节点i,可得ω
ij
=1,x
i-yj=0,此时公式(9)中δyj为0;若神经元j不会收敛到节点i,则ω
ij
=0,公式(9)中δyj也为0。即k=0时,神经元的权重不再发生变化,训练结束。
[0089]
训练完成后,保持弹性网络不变,即神经元的权重向量不变,获取应用通信关系矩阵r。如上所述,应用是一个有向图g1=(c,e),在有向图g1中,如果存在有向边e
ij
,则r(i,j)为1,否则为0,从而形成应用通信关系矩阵r。在所述应用通信关系矩阵r中,计算每个ip核对应的行向量与所有神经元的欧氏距离,每个ip核对应与其欧式距离最小的神经元。将ip核和节点对应的神经元索引号分别从小到大排序,完成一对一映射,得到应用与网络拓扑的最优映射方案。
[0090]
s4:利用所述最优映射方案获得最小插入损耗,采用非均匀分布方式在所述最小光源功率与所述最大光源功率之间划分多个区间,形成多个光源功率梯度等级。
[0091]
光源功率取决于许多技术参数,如插入损耗和光电探测器灵敏度。在片上通信中,为了在目的节点正确地将光信号转化成电信号,接收到的光信号需要具有高于光电探测器灵敏度的最小功率,即光源功率应该抵消插入损耗并确保目的节点的最小功率。对于每个通信对在单波长通信的情况下,光源的功率需要满足公式(12):
[0092][0093]
其中,为通信对源节点光源功率,s为目的节点的光电探测器灵敏度,一般取值为-20dbm。
[0094]
传统的每个通信对源节点的光源功率分配是平均分配,即依据全局最坏情况下的最大插入损耗il
max
来设置光源功率,此时每个通信对源节点的光源功率为公式(13)。
[0095][0096]
为避免功率浪费,在对osnr
worst
优化后,获得对应的插入损耗然后基于公式(14)为每个通信对源节点尽可能地分配足够的光源功率
[0097][0098]
对每个通信对都恰好地设置其所需的光源功率是不切实际的,为了尽可能地节省功率并完成合理地分配,本实施例使用了光源功率梯度设置方法为每个通信对的源节点设置光源功率。具体地,本实施例的s4包括:
[0099]
s4.1:利用通信源节点与目的节点之间的osnr模型,获得优化后的一对一映射方案中每个通信对对应的插入损耗,选择最小的作为最小插入损耗。利用所述最小插入损耗和所述最大插入损耗获取最小光源功率和最大光源功率。
[0100]
利用上述插入损耗模型,我们可以获得网络拓扑中的全局最坏情况下的最大插入损耗il
max
,一般地,基于此插入损耗给每个通信对的源节点设置光源功率会造成极大的功率浪费。
[0101]
而在优化后的一对一最优映射方案中,我们可以获得映射后每个通信对对应的插入损耗,求解出其中最小插入损耗对应的通信对所需的光源功率这样一来,映射后所有通信对所需的光源功率就限制在了与之间。
[0102]
s4.2:采用非均匀分布方式在所述最小光源功率和最大光源功率之间划分多个区间,形成多个光源功率梯度等级。
[0103]
具体地,在最小光源功率与最大光源功率之间的跨度区间设置多个光源功率梯度等级,对每个通信对的源节点进行光源功率设置。实际上,在对osnr优化后的映射方案中,根据经验和大量计算,很少有通信对的源节点所需的光源功率达到大多数通信对的源节点所需的光源功率比稍大一些。基于此,对于光源功率梯度等级的设置,采用非均匀分布的方式,具体地,在最小光源功率和最大光源功率之间取一个中点光源功率点光源功率在最小光源功率与中点光源功率之间进行小间隔的功率梯度均匀分布,几乎所有的通信对所需的光源功率都在此区间内;在中点光源功率与最大光源功率之间进行大间隔的功率梯度均匀分布,以此方式设置的光源功率梯度等级可以在满足通信的同时尽可能地避免了功率浪费,其示意图如图5所示。
[0104]
进一步地,光源功率梯度的等级数是有必要进行明确的,等级数越多,分布越密集,可以对源节点的光源功率进行更细粒度地设置,节省的功率也更多,但这会带来更复杂的激光驱动器设置。为了避免过多光源功率梯度等级设置,同时尽可能地节省功率,经实验分析发现,当有r个通信对存在时,在最小光源功率和中点光源功率区间均匀地设置r/3-r/2个梯度等级较合适,在中点光源功率和最大光源功率中均匀地设置0-2个梯度等级即可,源节点所需光源功率落在此区间的通信对较少。
[0105]
s5:根据所述光源功率梯度等级设置每个通信对源节点的光源功率。
[0106]
在光源功率梯度等级设置好后,将等级值存储到查找表中,对于每个通信对,根据求出其源节点所需的光源功率,随后将所求光源功率与所述光源功率梯度等级中的等级值进行比较,会落在梯度等级的某个区间,将设置当前区间中的最大值作为当前源节点对应的最终光源功率。具体地,假设某一通信对源节点所需的光源功率为b,对于相邻的光源功率梯度等级u和v,有u《b《v,则将该通信对源节点的光源功率设置为v。例如,假设光源功率梯度等级有1、2、3,某个通信对所需的光源功率为2.6,在区间2和3之间,设置为3。较大等级值的设置可以克服实际通信中由于片上的温度漂移和制程漂移产生的影响,尽可能地保证片上通信可靠性要求。
[0107]
由于片上光器件对温度漂移和制程漂移高度敏感,这会导致较高的误码率(bit error ratio,ber),对通信产生影响。为提高通信效率,稳定网络性能,我们可以控制源节点的光源功率在梯度等级中进行动态地调节以适应光器件的变化。对于一个通信对,当当前源节点的光源功率不足以完成正常通信时,通过升高一个光源功率梯度等级来确保通信的正常完成。当当前源节点的光源功率过大时,通过降低一个光源功率梯度等级来进行功率节省,当光源功率梯度等级降低为0时,此时光源关闭。源节点光源功率的大小可以通过目的节点的ber进行观察反馈。对源节点光源功率的动态调节通过访问查找表进行。
[0108]
本实施例提出了一种应用映射辅助的片上光互连光源功率梯度设置方法,通过自动地将ip核映射到onoc节点以优化最坏情况下的osnr,并在此基础上对光源的功率进行梯度设置,达到优化onoc能耗,提高片上通信功率效率和可靠性的目的。本实施例通过映射对osnr进行优化,提高了片上光互连的可靠性和可扩展性。对osnr优化后为每个通信对设置合理的光源功率,降低了光源消耗的静态功率,提高了片上光互连的功率利用率。
[0109]
实施例二
[0110]
在实施例一的基础上,本实施例基于一个mwd应用和一个3
×
4的mesh网络拓扑来阐述本发明实施例提出的应用映射辅助的片上光互连光源功率梯度设置方法进行详细描述。
[0111]
具体地,利用一个mwd应用和一个3
×
4的mesh网络拓扑,选择cygnus路由器和xy路由算法,其中,cygnus路由器的结构如图6所示,各损耗参数如表1,从结构中可以获取波导弯曲、波导交叉等数量。
[0112]
表1路由器对应的各损耗参数
[0113][0114]
基于上述信息,可以得到osnr模型(公式(5)),随后利用弹性网络en智能算法获得映射方案,如图7所示。
[0115]
利用插入损耗模型获得最小插入损耗和最大插入损耗,并利用最小插入损耗和最大插入损耗获取设置的光源功率梯度等级如图8所示。
[0116]
基于图8所示的光源功率梯度等级对每个通信对的源节点设置光源功率,如表2所示。所有通信对消耗的总功率为0.265mw。而当所有通信对源节点光源功率都设置为时,所消耗的总功率为0.372w。因此,本实施例的光源功率梯度设置方式与光源功率均设置为相比,功率节省了28.8%。
[0117]
表2通信对源节点光源功率梯度设置
[0118]
映射后网络中通信对光源功率梯度值映射后网络中通信对光源功率梯度值t
4-》t80.0207mwt
7-》t
11
0.0220mw
t
4-》t20.0232mwt
11-》t90.0232mwt
8-》t
12
0.0220mwt
1-》t50.0207mwt
8-》t70.0220mwt
5-》t90.0220mwt
3-》t20.0220mwt
5-》t60.0232mwt
2-》t10.0220mwt
6-》t
10
0.0220mw
[0119]
本发明的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于执行上述实施例中所述应用映射辅助的片上光互连光源功率梯度设置方法的步骤。本发明的再一方面提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上述实施例所述应用映射辅助的片上光互连光源功率梯度设置方法的步骤。具体地,上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0120]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1