CN110784781B - 支持多播/广播的光交换结构的波导布局优化方法 - Google Patents
支持多播/广播的光交换结构的波导布局优化方法 Download PDFInfo
- Publication number
- CN110784781B CN110784781B CN201911027714.0A CN201911027714A CN110784781B CN 110784781 B CN110784781 B CN 110784781B CN 201911027714 A CN201911027714 A CN 201911027714A CN 110784781 B CN110784781 B CN 110784781B
- Authority
- CN
- China
- Prior art keywords
- waveguide
- switching
- longitudinal
- transverse
- input
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0037—Operation
- H04Q2011/0047—Broadcast; Multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Optical Communication System (AREA)
- Optical Integrated Circuits (AREA)
Abstract
本发明公开了一种支持多播/广播的光交换结构的波导布局优化方法,主要解决现有优化波导布局耗时长的问题。其实现步骤为:确定待优化的光交换结构的端口数;在二维正交坐标系中建立数学模型;在对解空间搜索前对数学模型预处理;使用启发式算法搜索得到最优解;绘制优化后的波导布局。本发明在对解空间搜索前对抽象出的数学模型进行预处理,使得波导布局优化问题能够使用启发式算法求解,实现了支持多播/广播的光交换结构的波导布局优化的自动化,大大缩短了波导布局优化的时间,可用于高阶的支持多播/广播的光交换结构的波导布局优化。
Description
技术领域
本发明属于通信技术领域,涉及一种波导布局优化,具体是一种支持多播/广播的光交换结构的波导布局优化方法,可用于高阶的支持多播/广播的光交换结构的波导布局优化。
背景技术
无论是在数据中心网络还是高性能计算集群中,支持多播/广播的光交换芯片都十分重要。然而,由于需要支持多播/广播,在相同端口数的情况下,相较于单播光交换芯片,支持多播/广播的光交换芯片结构往往会更加复杂,从而波导交叉数大幅增加。为了解决波导交叉问题,Bergman组Qixiang Cheng通过人工布线将4×4的多播/广播交换芯片的波导交叉数降低,并且使用SiN/Si技术,通过将两根交叉的波导分别放置于SiN层和Si层,从而消除交叉损耗,手动选择分层区域,进一步降低交叉损耗。然而,数据中心和高性能计算集群中需要更高阶的光交换芯片,通过人工布线减少波导交叉损耗,既费时又不能确保最优。
目前在波导布局优化方面,Zhehui Wang等人对基于胖树结构的光片上网络进行了波导布局优化,使得波导交叉平均分布,降低了激光器控制的复杂度,但是该方法仅对胖树这种单一结构进行优化,并没有考虑其他结构。Christoph Buchheim等人对任意连接关系下的直线布局使用线性规划进行了优化,但是该方法针对的优化对象是直线,而非实际芯片流片时使用的正交线。Thomas Eschbach等人使用正交线对电路进行可视化,增加了电路的可读性,方便了设计人员理解,但是该方法的优化目标是电路可读性而非电路复杂度,该方法并没有减小实际芯片流片的复杂度。
发明内容
本发明的目的在于克服上述现有技术存在的缺陷,提出一种优化耗时短的支持多播/广播的光交换结构的波导布局优化方法,用于解决现有波导布局无法实现自动化的问题。
本发明是一种支持多播/广播的光交换结构的波导布局优化方法,其特征在于,包括有如下步骤:
(1)确定待优化的光交换结构的端口数:在波导布局优化中,输入待优化的支持多播/广播的基于波导的光交换结构的端口数;
(2)在二维正交坐标系中建立数学模型:根据待优化的基于波导的光交换结构的端口数,在二维正交坐标系中生成与输入输出端口对应的交换单元坐标,建立支持多播/广播的基于波导的光交换结构的波导布局的数学模型;
(3)在对解空间搜索前对数学模型预处理:根据交换单元坐标和支持多播/广播的基于波导的光交换结构的连接关系,计算相应交换单元之间纵向波导的长度,缩小搜索空间;
(4)使用启发式算法搜索得到最优解:使用启发式算法,搜索得到使得波导交叉数最小的相应交换单元之间两段横向波导的长度;
(5)绘制优化后的波导布局:根据与输入输出端口对应的交换单元坐标、相应交换单元之间纵向波导的长度和相应交换单元之间两段横向波导的长度,得到优化后的波导布局。
本发明的支持多播/广播的光交换结构的波导布局优化方法,使用数学建模和启发式算法结合的方式,实现了波导布局自动化。
本发明与现有技术相比具有以下优点:
第一,耗时短:本发明使用数学建模和启发式算法结合的方式,辅以数学模型的预处理,大大减小了模型的复杂度,能够在分钟级完成对高阶光交换结构的波导布局优化,而传统的使用人工布线进行布局优化的方法面临使用数个小时才能完成对低阶结构的优化以及无法对高阶结构进行优化的问题,本发明具有耗时短的特点。
第二,贴合实际流片程度高:本发明针对基于正交线的波导布局进行优化,相较于基于直线的波导布局,基于正交线的波导布局更加贴合实际芯片制造的要求,使得本发明更具有实际应用的意义。
第三,自动化程度高:本发明需要使用者输入的参数仅有一项待优化的光交换结构的端口数,而具体的光交换结构和优化的实现细节全部实现了封装,实现了高度的自动化,便于设计人员使用。
第四,易于得到最优解:本发明在应用算法前对数学模型进行了预处理,通过连接关系计算得到相应交换单元之间纵向波导的长度,使得启发式算法只需要搜索横向波导的长度,降低了搜索空间的维度,加速了算法的收敛速度,易于得到最优解。
第五,所建立的数学模型适应不同的算法:本发明对实际问题建立了数学模型,该模型直观、简单,可以应用多种算法,可以根据不同规模和不同时间要求,选择不同的启发式算法,高效地找到较优解。
第六,兼容性强:本发明利用已有的启发式算法工具包实现具体的启发式算法,能够利用程序接口快速调用算法,对不断涌现的启发式算法具有很强的兼容性,能够快速集成新的启发式算法。
附图说明
图1是本发明的流程框图;
图2是本发明中使用的光交换结构的四端口逻辑连接示意图;
图3是本发明对四端口光交换结构实施后的连接示意图。
具体实施方式
以下结合附图对本发明实施例和效果做进一步的详细描述。
实施例1
随着大数据时代的飞速发展,数据量愈发庞大,人们对于数据传输的要求越来越高。能耗低、时延小、带宽高成为数据传输的新要求。而光交换作为一种新兴的交换技术,使用光作为数据的载体,成为新一代高效的传输技术。其中,支持多播/广播的光交换芯片更是在数据密集的场景下,如数据中心和高性能计算集群,具有广泛的应用。然而,支持多播/广播的光交换芯片由于其需要支持更多的数据,相较于支持单播的光交换芯片,其结构往往会更加复杂,表现在结构细节上就是波导交叉大幅度增加。而波导交叉会大大影响光信号的质量,因此波导交叉是在设计支持多播/广播的光交换芯片时必须考虑的。传统的对低阶的光交换芯片的波导布局优化方法是人工布线,这种方法耗时长且无法保证其最优性。并且,数据中心和高性能计算集群需求的光交换芯片往往是高阶的,而人工布线的方法无法解决高阶光交换芯片设计的问题。自动化波导布局优化方法是一种必然的趋势。虽然已经有自动化波导布局优化的方法被提出,但他们有优化对象局限、实际芯片制造困难的缺点。基于这种背景和现有技术的缺陷,本发明提出一种支持多播/广播的光交换结构的波导布局优化方法。
本发明是一种支持多播/广播的光交换结构的波导布局优化方法,参见图1,包括有如下步骤:
(1)确定待优化的光交换结构的端口数:在波导布局优化中,输入待优化的支持多播/广播的基于波导的光交换结构的端口数,而支持多播/广播的光交换结构的逻辑连接方式参照图2,图2中是一个四端口的支持多播/广播的光交换结构的逻辑连接方式示意图,A,B,C,D表示输入端口,E,F,G,H表示输出端口,每个端口包括4个交换单元,每个输入端口使用4条直线将相应的交换单元与所有的输出端口相连,是一个最简单的波导布局,而实际波导布局中输入端口和输出端口之间的连线往往是正交线而非直线,并且使用最短路径原则进行基于正交线的输入输出端口之间的连接,布局相较于基于直线的连接更为复杂。
(2)在二维正交坐标系中建立数学模型:根据待优化的基于波导的光交换结构的端口数,本发明在二维正交坐标系中生成与输入输出端口对应的交换单元坐标,建立支持多播/广播的基于波导的光交换结构的波导布局的数学模型,与输入/输出端口相关的交换单元之间具有一定间隙,两组交换单元之间也有一定间隙,较直观的表示待优化光交换结构的交换单元。
(3)在对解空间搜索前对数学模型预处理:根据交换单元坐标和支持多播/广播的基于波导的光交换结构的连接关系,计算相应交换单元之间纵向波导的长度,缩小搜索空间,支持多播/广播的基于波导的光交换结构的连接关系参见图2,计算相应交换单元之间纵向波导的长度需要先得到相应交换单元的序号,再根据步骤(2)中生成交换单元坐标的方法,得到最终的相应交换单元之间纵向波导的长度。
(4)使用启发式算法搜索得到最优解:使用启发式算法,搜索得到使得波导交叉数最小的相应交换单元之间两段横向波导的长度,实际上搜索得到的是第一段横向波导的长度,但是通过简单地使用横向偏移减去搜索到的第一段横向波导的长度就可以得到第二段横向波导的长度,横向偏移是设置的一个大于待优化的光交换结构的端口数的平方数的正整数。
(5)绘制优化后的波导布局:根据与输入输出端口对应的交换单元坐标、相应交换单元之间纵向波导的长度和相应交换单元之间两段横向波导的长度,得到优化后的波导布局,使用了matplotlib库在python中实现,对每一对相应交换单元之间的波导分成三段四点循环绘制,首先绘制相应输入交换单元坐标和纵向波导起点的连线,再绘制纵向波导起点和纵向波导终点的连线,再绘制纵向波导终点和相应输出交换单元坐标的连线,最终在二维正交坐标系中绘制出优化后的波导布局。
本发明给出了一个波导布局自动化的整体技术方案。
本发明的技术思路是:根据待优化的光交换结构的端口数,将对应的交换单元在二维正交坐标系中使用坐标表示,在坐标系中确定输入/输出相关交换单元的位置,再根据光交换结构的连接关系,对该数学模型进行处理,用相应的输出交换单元的纵坐标减去相应的输出交换单元的纵坐标,得到相应的纵向波导的长度,接着将交换单元的坐标和相应的纵向波导长度作为启发式算法的输入,使用封装好的工具包,使用启发式算法对横向波导的长度进行搜索,搜索得到使得波导交叉数最小的相应交换单元之间两段横向波导的长度,最后再根据交换单元坐标、纵向波导长度和横向波导长度,在二维正交坐标系中绘制优化后的波导布局,方便且直观地显示波导布局。
本发明使用二维正交坐标系建模,考虑实际芯片制造的工艺,选择芯片制造中使用的正交线作为交换单元之间的连接线,直观地表示待优化的光结构及其波导布局,使得本发明更具有实际应用意义,并且在将数学模型作为算法的输入前进行了预处理,大幅缩小了算法的搜索空间,实现了波导布局自动化。
实施例2
支持多播/广播的光交换结构的波导布局优化方法同实施例1,步骤(2)所述的在二维正交坐标系中建立数学模型,包括有如下步骤:
(2a)定义数学模型变量:定义待优化的基于波导的光交换结构端口数为N,N为大于1的正整数,定义与输入/输出端口相关的交换单元纵向间隔为T,T为大于2的正整数,与输入/输出端口相关的交换单元纵向间隔T为大于2的正整数,相较于T为1或2的情况,T为大于2的正整数能够保证波导之间具有足够的间隙,以便于阅读和实际芯片制造,定义与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移为S,S为大于1的正整数,与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移S为大于1的正整数,相较于S为0或1的情况,S为大于1的正整数能够大大减少启发式算法搜索到的波导布局出现波导重叠的概率,既给与了使用者对输入输出交换单元位置的设计自由,又减少了整体的优化耗时,提高了搜索到的波导布局结果质量,定义与输出端口相关的交换单元较与输入端口相关的交换单元的横向偏移为D,D为大于N2的正整数,定义与输入端口相关的第n个交换单元为In,定义与输出端口相关的第n个交换单元为On,n为交换单元序号且是小于N2的非负整数。
(2b)生成与输入端口相关的交换单元坐标:在二维正交坐标系中,得到与输入端口相关的交换单元坐标为In(0,nT),所有的与输入端口相关的交换单元都在x=0上,并且第一个交换单元从(0,0)开始,每两个交换单元之间间隔T。
(2c)生成与输出端口相关的交换单元坐标:在二维正交坐标系中,得到与输出端口相关的交换单元坐标为On(D,nT+S),所有的与输出端口相关的交换单元都在x=D上,并且第一个交换单元从(D,S)开始,每两个交换单元之间间隔T。
(2d)建立数学模型:在同一二维正交坐标系中,与输入和输出端口相关的交换单元共同构成支持多播/广播的基于波导的光交换结构的波导布局的数学模型。
将与输入/输出端口相关的交换单元分别放置在两根轴上,能够直观地表示输入输出端口分立在两边,并且能够使得在最短路径原则下连接交换单元的波导仅由两根横向波导和一根纵向波导组成,形成交换单元之间的正交线连接,增加了本发明的实际应用意义。
建立了基于正交线的波导布局数学模型,相较于基于直线的波导布局,更加贴合实际芯片制造的要求,且模型直观、简单,适配多种算法,根据不同规模和不同时间要求,选择不同的启发式算法,高效地找到较优解。
实施例3
支持多播/广播的光交换结构的波导布局优化方法同实施例1-2,步骤(3)所述的在对解空间搜索前对数学模型预处理,包括有如下步骤:
(3a)定义数学模型变量:定义待优化的基于波导的光交换结构端口数为N,N为大于1的正整数,定义与输入/输出端口相关的交换单元纵向间隔为T,T为大于2的正整数,与输入/输出端口相关的交换单元纵向间隔T为大于2的正整数,相较于T为1或2的情况,T为大于2的正整数能够保证波导之间具有足够的间隙,以便于阅读和实际芯片制造,定义与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移为S,S为大于1的正整数,与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移S为大于1的正整数,相较于S为0或1的情况,S为大于1的正整数能够大大减少启发式算法搜索到的波导布局出现波导重叠的概率,既给与了使用者对输入输出交换单元位置的设计自由,又减少了整体的优化耗时,提高了搜索到的波导布局结果质量,定义与输出端口相关的交换单元较与输入端口相关的交换单元的横向偏移为D,D为大于N2的正整数,定义与输入端口相关的第n个交换单元为In,定义与输出端口相关的第n个交换单元为On,n为交换单元序号且是小于N2的非负整数。
(3b)生成与输入端口相关的交换单元坐标:在二维正交坐标系中,得到与输入端口相关的交换单元坐标为In(0,nT),所有的与输入端口相关的交换单元都在x=0上,并且第一个交换单元从(0,0)开始,每两个交换单元之间间隔T。
(3c)生成与输出端口相关的交换单元坐标:在二维正交坐标系中,得到与输出端口相关的交换单元坐标为On(D,nT+S),所有的与输出端口相关的交换单元都在x=D上,并且第一个交换单元从(D,S)开始,每两个交换单元之间间隔T。
(3e)计算相应交换单元之间纵向波导的长度:根据与输入端口相关的第n个交换单元以及与其对应的输出交换单元的序号,计算输入交换单元与对应的输出交换单元之间纵向波导的长度,其纵向波导长度为纵向波导长度可能为正也可能为负,为正表示纵向波导的起点的纵坐标小于终点的纵坐标,为负表示纵向波导的起点的纵坐标大于终点的纵坐标。
(3f)缩小搜索空间:根据计算出的相应交换单元之间纵向波导的长度,消除在纵向波导长度上搜索的必要性,缩小最优波导布局的搜索空间。
将与输入/输出端口相关的交换单元分别放置在两根轴上,能够直观地表示输入输出端口分立在两边,并且能够使得在最短路径原则下连接交换单元的波导仅由两根横向波导和一根纵向波导组成,形成正交线连接。
在同一种光交换结构中,与输入交换单元对应的输出交换单元序号仅与待优化的光交换结构端口数以及输入交换单元序号有关,而对于不同种光交换结构,本发明也能够根据不同的连接关系快速计算相应的输出交换单元序号。
建立的数学模型在预处理之前,需要启发式算法搜索的有纵向波导和横向波导的长度,而在预处理之后,需要启发式算法搜索的仅有横向波导的长度,这是因为在最短路径原则下纵向波导的长度已经由连接关系确定,而纵向波导长度的计算过程就是预处理的过程,数学模型在预处理之后大大简化,这才使得之后的启发式算法能够在短时间内求出较优的结果,否则启发式算法的耗时是无法忍受的,最优解也很难得到。
实施例4
支持多播/广播的光交换结构的波导布局优化方法同实施例1-3,步骤(4)所述的使用启发式算法搜索得到最优解,包括有如下步骤:
(4a)将生成的相应交换单元之间纵向波导的长度作为启发式算法的输入,将相应交换单元之间两段横向波导的长度作为启发式算法的变量,实际上变量为第一段横向波导长度,而第二段横向波导长度可以通过简单地使用横向偏移减去第一段横向波导的长度得到。
(4b)定义适应度函数:用相应交换单元之间两段横向波导的长度作为变量,参与定义适应度函数,适应度函数是根据问题用户自行定义的,本发明针对的问题的适应度是与第一段横向波导长度有关的函数,并且需要定义是否有约束,约束条件有哪些,解是否为整数以及解的搜索范围。
(4c)设置第一段横向波导长度的搜索范围:第一段横向波导长度的搜索范围为[0,D],D为大于N2的正整数,N为待优化的基于波导的光交换结构端口数,N为大于1的正整数,如果D小于等于N2,则启发式算法永远无法找到整数最优解,如果D设置的过大,则启发式算法耗时会增加。
(4d)选择较优的启发式算法:在启发式算法中,选择能够在较短时间内得到较优结果的启发式算法,参与搜索得到最优解的计算,常见的启发式算法有扩展蚁群优化算法、粒子群优化算法、(N+1)-ES简单进化算法、简单遗传算法、Corana模拟退火算法、人工蜂群算法,不是所有的启发式算法都适合波导布局问题的求解,例如这里的扩展蚁群优化算法虽然泛用性强,但是对该数学模型求解时间较长,结果也距离最优解较远,而(N+1)-ES简单进化算法虽然构造简单,但是对该数学模型求解时间短,结果也较优。
(4e)得到最优横向波导长度:使用较优的启发式算法,结合定义的适应度函数和第一段横向波导长度的搜索范围,搜索得到使得波导交叉数最小的相应交换单元之间两段横向波导的长度,最终得到的是每一个输入交换单元连接的第一段横向波导的长度的集合且每一个元素都为正整数。
第二段横向波导的长度可以通过简单地使用横向偏移减去搜索到的第一段横向波导的长度得到,启发式算法实际搜索的是第一段横向波导的长度,因此步骤(4c)仅需设置第一段横向波导长度的搜索范围。
由于波导布局优化问题被认为是NP-Hard问题,使用线性规划的方法难以解决,而启发式算法对数学模型的要求低且对解空间搜索高效,能够在一定程度上解决波导布局优化问题。
实施例5
支持多播/广播的光交换结构的波导布局优化方法同实施例1-4,步骤(4b)所述的定义适应度函数,按如下步骤进行:
(4b1)根据作为变量的相应交换单元之间两段横向波导的长度和作为输入的相应交换单元之间纵向波导的长度,对每一组相应交换单元,生成一段纵向波导和两段横向波导,第一段横向波导的起点坐标是相应输入交换单元坐标,第一段横向波导的终点坐标是起点坐标右移第一段横向波导长度后的坐标,纵向波导的起点坐标是第一段横向波导的终点坐标,纵向波导的终点坐标是起点坐标上移相应纵向波导长度后的坐标,注意这里的纵向波导长度可能是负值,如果是负值,则此时的纵向波导的终点坐标就是起点坐标下移相应纵向波导长度的绝对值后的坐标,第二段横向波导的起点坐标是纵向波导的终点坐标,第二段横向波导的终点坐标是相应输出交换单元坐标,使用波导的起点和终点坐标组合表示一根纵向或者横向波导,最终生成一个纵向波导集合和一个横向波导集合。
(4b2)在纵向波导集合和横向波导集合中,对每一根纵向波导遍历横向波导,检查是否有波导交叉,如果有交叉,则适应度加1,在实际意义上表示检测到1个波导交叉。
(4b3)在纵向波导集合中,对每一根纵向波导遍历其他纵向波导,检查是否有波导重叠,如果有重叠,则适应度加100,这是为了惩罚具有波导重叠的结果,不具备实际意义。
(4b4)在横向波导集合中,对每一根横向波导遍历其他横向波导,检查是否有波导重叠,如果有重叠,则适应度加100,这是为了惩罚具有波导重叠的结果,不具备实际意义。
在检查到波导重叠情况时,本发明选择对适应度加上一个较大的整数,从而使得启发式算法在搜索过程中自发地丢弃波导重叠的结果,相较于对变量添加约束从而规避波导重叠情况的方法,本发明除了能够兼容针对有约束问题的启发式算法,还能兼容针对无约束问题的启发式算法,具有很强的兼容性。
在检查到波导重叠情况时,本发明使用的适应度增加量是100,实际上在优化较大规模的光交换结构的波导布局时可以适当提高这里的适应度增加量,因为在规模较大时,较小的适应度增加量并不能使算法高效地抛弃具有重叠波导的波导布局。
下面给出一个更加详实的例子,对本发明进一步说明。
实施例6
支持多播/广播的光交换结构的波导布局优化方法同实施例1-5,参照图2,图3,本发明支持多播/广播的光交换结构的波导布局优化方法,具体实现如下:
步骤1,确定待优化的光交换结构的端口数为4。
图2中是待优化的光交换结构的四端口逻辑连接示意图,本发明的优化目标是在保持图2的逻辑连接关系不变的情况下,对四端口的待优化光交换结构应用最短路径原则使用正交线进行连接并且使得交叉数最小。
步骤2,在二维正交坐标系中建立数学模型。
参见图3,定义待优化的光交换结构端口数为4,定义与输入/输出端口相关的交换单元纵向间隔为5,定义与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移为2,定义与输出端口相关的交换单元较与输入端口相关的交换单元的横向偏移为100;在二维正交坐标系中,得到与输入端口相关的交换单元I0,I1,I2,...,I15坐标为(0,0),(0,5),(0,10),(0,15),(0,20),(0,25),(0,30),(0,35),(0,40),(0,45),(0,50),(0,55),(0,60),(0,65),(0,70),(0,75);在二维正交坐标系中,得到与输出端口相关的交换单元O0,O1,O2,...,O15O0,O1,O2,…,O15坐标为(100,2),(100,7),(100,12),(100,17),(100,22),(100,27),(100,32),(100,37),(100,42),(100,47),(100,52),(100,57),(100,62),(100,67),(100,72),(100,77)。
步骤3,在对解空间搜索前对数学模型预处理。
定义待优化的光交换结构端口数为4,定义与输入/输出端口相关的交换单元纵向间隔为5,定义与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移为2,定义与输出端口相关的交换单元较与输入端口相关的交换单元的横向偏移为100;在二维正交坐标系中,得到与输入端口相关的交换单元I0,I1,I2,...,I15坐标为(0,0),(0,5),(0,10),(0,15),(0,20),(0,25),(0,30),(0,35),(0,40),(0,45),(0,50),(0,55),(0,60),(0,65),(0,70),(0,75);在二维正交坐标系中,得到与输出端口相关的交换单元O0,O1,O2,...,O15O0,O1,O2,…,O15坐标为(100,2),(100,7),(100,12),(100,17),(100,22),(100,27),(100,32),(100,37),(100,42),(100,47),(100,52),(100,57),(100,62),(100,67),(100,72),(100,77);由于在最短路径原则下的基于正交线的连接有横向波导和纵向波导,根据纵向波导长度计算公式计算输入交换单元与对应的输出交换单元之间纵向波导的长度,得到I0-O0,I1-O4,,I2-O8,I3-O12,I4-O1,I5-O5,I6-O9,I7-O13,I8-O2,I9-O6,I10-O10,I11-O14,I12-O3,I13-O7,I14-O11,I15-O15之间纵向波导长度为[2,17,32,47,-13,2,17,32,-28,-13,2,17,-43,-28,-13,2]。
步骤4,使用启发式算法搜索得到最优解。
将生成的相应交换单元之间纵向波导的长度作为启发式算法的输入,将相应交换单元之间两段横向波导的长度作为启发式算法的变量;根据作为变量的相应交换单元之间两段横向波导的长度和作为输入的相应交换单元之间纵向波导的长度,对每一组相应交换单元,生成一段纵向波导和两段横向波导,第一段横向波导的起点坐标是相应输入交换单元坐标,第一段横向波导的终点坐标是起点坐标右移第一段横向波导长度后的坐标,纵向波导的起点坐标是第一段横向波导的终点坐标,纵向波导的终点坐标是起点坐标上移相应纵向波导长度后的坐标,第二段横向波导的起点坐标是纵向波导的终点坐标,第二段横向波导的终点坐标是相应输出交换单元坐标,最终生成一个纵向波导集合和一个横向波导集合,这里纵向波导集合中包括16条纵向波导,横向波导集合中包括32条横向波导;在纵向波导集合和横向波导集合中,对每一根纵向波导遍历横向波导,检查是否有波导交叉,如果有交叉,则适应度加1;在纵向波导集合中,对每一根纵向波导遍历其他纵向波导,检查是否有波导重叠,如果有重叠,则适应度加100;在横向波导集合中,对每一根横向波导遍历其他横向波导,检查是否有波导重叠,如果有重叠,则适应度加100;选择扩展蚁群优化算法;使用pygmo工具库在python下运行该算法,搜索得到使得波导交叉数最小的相应交换单元之间,即I0-O0,I1-O4,,I2-O8,I3-O12,I4-O1,I5-O5,I6-O9,I7-O13,I8-O2,I9-O6,I10-O10,I11-O14,I12-O3,I13-O7,I14-O11,I15-O15之间,第一段横向波导的长度为[99,69,65,63,6,91,45,41,10,38,83,27,75,79,97,36],第二段横向波导的长度可以用100减去相应的第一段横向波导的长度得到,例如I0-O0之间的波导为第一段横向波导起止点坐标为((0,0),(99,0)),纵向波导起止点坐标为((99,0),(99,2)),第二段横向波导起止点坐标为((99,2),(100,2))。
步骤5,绘制波导布局。
根据与输入输出端口对应的交换单元坐标、相应交换单元之间纵向波导的长度和相应交换单元之间两段横向波导的长度,得到优化后的波导布局,使用了matplotlib库在python中实现,对每一对相应交换单元之间的波导分成三段四点循环绘制,首先绘制相应输入交换单元坐标和纵向波导起点的连线,再绘制纵向波导起点和纵向波导终点的连线,再绘制纵向波导终点和相应输出交换单元坐标的连线,在二维正交坐标系中绘制出优化后的波导布局,参见图3,图3是本发明对四端口光交换结构实施后的连接示意图,其中“x”标记的是输入输出端口,左侧为输入端口以及输入交换单元,右侧为输出端口以及输出交换单元,由图3可见,横向波导平行排布,纵向波导平行排布,输入端口列在交换结构左侧,输出端口列在交换结构右侧,波导布局整体交叉数在保持图2连接关系和最短路径原则下达到最小,共36个波导交叉,实现了最优的波导布局,对单根波导来说,最多有9个波导交叉,最少则可以达到没有波导交叉,且波导与波导之间间隙足够大,保障了光信号的传输,波导布局整体上限定在一个矩形内,易于实际芯片制造以及设计人员阅读。
下面通过数据对本发明的技术效果再做说明。
实施例7
支持多播/广播的光交换结构的波导布局优化方法同实施例1-6,
实验环境:
操作系统:macOS Catalina 10.15
中央处理器:1.2GHz Dual-Core Intel Core m3
主要软件版本:Anaconda3,Python 3.7,Pygmo 2.11,Sublime Text 3.2.2
实验内容:
在macOS操作系统上,安装anaconda3,在conda环境中创建pygmo虚拟环境,按照pygmo安装手册在pygmo虚拟环境中安装pygmo工具包,定义待优化的光交换结构端口数dim为4,定义与输入/输出端口相关的交换单元纵向间隔interspace为5,定义与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移skew为2,定义与输出端口相关的交换单元较与输入端口相关的交换单元的横向偏移desX为100,创建leftindex列表记录与输入端口相关的交换单元坐标[(0,0),(0,5),(0,10),(0,15),(0,20),(0,25),(0,30),(0,35),(0,40),(0,45),(0,50),(0,55),(0,60),(0,65),(0,70),(0,75)],创建rightindex列表记录与输入端口相关的交换单元坐标[(100,2),(100,7),(100,12),(100,17),(100,22),(100,27),(100,32),(100,37),(100,42),(100,47),(100,52),(100,57),(100,62),(100,67),(100,72),(100,77)],创建vertvalue列表记录输入交换单元与对应的输出交换单元之间纵向波导的长度[2,17,32,47,-13,2,17,32,-28,-13,2,17,-43,-28,-13,2],在problem函数中定义fitness函数,在fitness函数中初始化obj为0,创建vertlines列表记录纵向波导起点和终点坐标,创建horilines列表记录横向波导起点和终点坐标,在vertlines和horilines中,对每一根纵向波导遍历横向波导,检查是否有波导交叉,如果有交叉,则适应度加1,在vertlines中,对每一根纵向波导遍历其他纵向波导,检查是否有波导重叠,如果有重叠,则适应度加100,在horilines中,对每一根横向波导遍历其他横向波导,检查是否有波导重叠,如果有重叠,则适应度加100,定义变量范围为[0,100],定义整数解个数为16,定义约束条件个数为0。
基于本发明提出的数学建模方法,调用pygmo自带的gaco函数,设置gen=100,运行得到结果champion_x为[99,69,65,63,6,91,45,41,10,38,83,27,75,79,97,36],champion_f为36,这是使用gaco函数对4端口光交换结构波导布局进行优化的结果,本发明不仅能够应用gaco算法进行优化,还能使用其他启发式算法,对于其他算法需要调用其他pygmo自带的函数pso,sea,sga,sa,bee_colony,对于不同端口数则设置不同的dim值,具体运行结果参见表1。
表1本发明应用不同算法对不同端口数的光交换结构的优化耗时和交叉数
耗时(s)/交叉数 | 3端口 | 4端口 | 5端口 | 6端口 | 7端口 | 8端口 |
gaco | 3.32/9 | 8.49/36 | 20.34/101 | 39.48/245 | 70.79/585 | 117.63/1123 |
pso | 3.23/9 | 8.35/36 | 20.61/100 | 37.64/225 | 69.99/459 | 126.19/840 |
sea | 0.32/9 | 0.84/36 | 2.03/100 | 4.14/227 | 7.11/447 | 11.85/792 |
sga | 2.91/9 | 8.03/36 | 16.91/100 | 36.70/225 | 68.82/447 | 120.18/827 |
sa | 0.56/9 | 2.83/36 | 10.29/100 | 27.84/225 | 69.80/441 | 151.91/784 |
bee_colony | 6.14/9 | 17.3/36 | 39.38/106 | 77.67/245 | 133.60/517 | 222.96/908 |
表1中的gaco表示扩展蚁群优化算法,pso表示粒子群优化算法,sea表示(N+1)-ES简单进化算法,sga表示简单遗传算法,sa表示Corana模拟退火算法,bee_colony表示人工蜂群算法。
波导布局优化在光交换芯片进行流片时是常见的问题,而随着光交换技术越来越广泛地应用,该问题也愈发凸显。传统的解决方法是由设计人员对波导进行手工排布,但是这种人工布线的方法只能对低阶的光交换结构进行波导布局优化,对于高阶光交换结构,由于过高的复杂度,无法通过人工布线进行波导布局优化。
由表1可知,相较于人工布线数个小时的耗时,本发明能够在分钟量级内给出最优的高阶光交换结构波导布局,大大节约了时间成本和人力成本,同时由于本发明能够利用程序接口快速调用算法,可以根据不同规模和不同时间要求,选择不同的启发式算法;例如需要在短时间内对大规模光交换结构的波导布局进行优化时,选择使用(N+1)-ES简单进化算法,这种算法的耗时最短且结果较优;再例如需要优化大规模光交换结构的波导布局且没有时间限制时,选择使用Corana模拟退火算法,这种算法获得的结果在多种算法中最优。如果未来有新的、高效的算法被提出,本发明能够通过程序接口快速调用,具有很强的向后兼容性。
综上所述,本发明公开了一种支持多播/广播的光交换结构的波导布局优化方法,主要解决现有波导布局无法实现自动化的问题。其实现步骤为:1)确定待优化的光交换结构的端口数,在波导布局优化中,输入待优化的支持多播/广播的基于波导的光交换结构的端口数,2)在二维正交坐标系中建立数学模型,根据待优化的基于波导的光交换结构的端口数,在二维正交坐标系中生成与输入输出端口对应的交换单元坐标,建立支持多播/广播的基于波导的光交换结构的波导布局的数学模型,3)在对解空间搜索前对数学模型预处理,根据交换单元坐标和支持多播/广播的基于波导的光交换结构的连接关系,计算相应交换单元之间纵向波导的长度,缩小搜索空间,4)使用启发式算法搜索得到最优解,使用启发式算法,搜索得到使得波导交叉数最小的相应交换单元之间两段横向波导的长度,5)绘制优化后的波导布局,根据与输入输出端口对应的交换单元坐标、相应交换单元之间纵向波导的长度和相应交换单元之间两段横向波导的长度,得到优化后的波导布局。本发明在对解空间搜索前对抽象出的数学模型进行预处理,使得波导布局优化问题能够使用启发式算法求解,实现了支持多播/广播的光交换结构的波导布局优化的自动化,大大缩短了波导布局优化的时间,可用于高阶的支持多播/广播的光交换结构的波导布局优化。
Claims (4)
1.一种支持多播/广播的光交换结构的波导布局优化方法,其特征在于,包括有如下步骤:
(1)确定待优化的光交换结构的端口数:在波导布局优化中,输入待优化的支持多播/广播的基于波导的光交换结构的端口数;
(2)在二维正交坐标系中建立数学模型:根据待优化的基于波导的光交换结构的端口数,在二维正交坐标系中生成与输入输出端口对应的交换单元坐标,建立支持多播/广播的基于波导的光交换结构的波导布局的数学模型;
(3)在对解空间搜索前对数学模型预处理:根据交换单元坐标和支持多播/广播的基于波导的光交换结构的连接关系,计算相应交换单元之间纵向波导的长度,缩小搜索空间;
(4)使用启发式算法搜索得到最优解:使用启发式算法,搜索得到使得波导交叉数最小的相应交换单元之间两段横向波导的长度;
使用启发式算法搜索得到最优解,包括有如下步骤:
(4a)将生成的相应交换单元之间纵向波导的长度作为启发式算法的输入,将相应交换单元之间两段横向波导的长度作为启发式算法的变量;
(4b)定义适应度函数:用相应交换单元之间两段横向波导的长度作为变量,参与定义适应度函数;
(4c)设置第一段横向波导长度的搜索范围:第一段横向波导长度的搜索范围为[0,D],D为大于N2的正整数,N为待优化的基于波导的光交换结构端口数,N为大于1的正整数;
(4d)选择较优的启发式算法:在启发式算法中,选择能够在较短时间内得到较优结果的启发式算法,参与搜索得到最优解的计算;
(4e)得到最优横向波导长度:使用较优的启发式算法,结合定义的适应度函数和第一段横向波导长度的搜索范围,搜索得到使得波导交叉数最小的相应交换单元之间两段横向波导的长度;
(5)绘制优化后的波导布局:根据与输入输出端口对应的交换单元坐标、相应交换单元之间纵向波导的长度和相应交换单元之间两段横向波导的长度,得到优化后的波导布局。
2.根据权利要求1所述的支持多播/广播的光交换结构的波导布局优化方法,其特征在于,步骤(2)所述的在二维正交坐标系中建立数学模型,包括有如下步骤:
(2a)定义数学模型变量:定义待优化的基于波导的光交换结构端口数为N,N为大于1的正整数,定义与输入/输出端口相关的交换单元纵向间隔为T,T为大于2的正整数,定义与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移为S,S为大于1的正整数,定义与输出端口相关的交换单元较与输入端口相关的交换单元的横向偏移为D,D为大于N2的正整数,定义与输入端口相关的第n个交换单元为In,定义与输出端口相关的第n个交换单元为On,n为交换单元序号且是小于N2的非负整数;
(2b)生成与输入端口相关的交换单元坐标:在二维正交坐标系中,得到与输入端口相关的交换单元坐标为In(0,nT);
(2c)生成与输出端口相关的交换单元坐标:在二维正交坐标系中,得到与输出端口相关的交换单元坐标为On(D,nT+S);
(2d)建立数学模型:在同一二维正交坐标系中,与输入和输出端口相关的交换单元共同构成支持多播/广播的基于波导的光交换结构的波导布局的数学模型。
3.根据权利要求1或2所述的支持多播/广播的光交换结构的波导布局优化方法,其特征在于,步骤(3)所述的在对解空间搜索前对数学模型预处理,包括有如下步骤:
(3a)定义数学模型变量:定义待优化的基于波导的光交换结构端口数为N,N为大于1的正整数,定义与输入/输出端口相关的交换单元纵向间隔为T,T为大于2的正整数,定义与输出端口相关的交换单元较与输入端口相关的交换单元的纵向偏移为S,S为大于1的正整数,定义与输出端口相关的交换单元较与输入端口相关的交换单元的横向偏移为D,D为大于N2的正整数,定义与输入端口相关的第n个交换单元为In,定义与输出端口相关的第n个交换单元为On,n为交换单元序号且是小于N2的非负整数;
(3b)生成与输入端口相关的交换单元坐标:在数学模型中,确定与输入端口相关的交换单元坐标为In(0,nT);
(3c)生成与输出端口相关的交换单元坐标:在数学模型中,确定与输出端口相关的交换单元坐标为On(D,nT+S);
(3f)缩小搜索空间:根据计算出的相应交换单元之间纵向波导的长度,消除在纵向波导长度上搜索的必要性,缩小最优波导布局的搜索空间。
4.根据权利要求1所述的支持多播/广播的光交换结构的波导布局优化方法,其特征在于,步骤(4b)所述的定义适应度函数,按如下步骤进行:
(4b1)根据作为变量的相应交换单元之间两段横向波导的长度和作为输入的相应交换单元之间纵向波导的长度,对每一组相应交换单元,生成一段纵向波导和两段横向波导,第一段横向波导的起点坐标是相应输入交换单元坐标,第一段横向波导的终点坐标是起点坐标右移第一段横向波导长度后的坐标,纵向波导的起点坐标是第一段横向波导的终点坐标,纵向波导的终点坐标是起点坐标上移相应纵向波导长度后的坐标,第二段横向波导的起点坐标是纵向波导的终点坐标,第二段横向波导的终点坐标是相应输出交换单元坐标,最终生成一个纵向波导集合和一个横向波导集合;
(4b2)在纵向波导集合和横向波导集合中,对每一根纵向波导遍历横向波导,检查是否有波导交叉,如果有交叉,则适应度加1;
(4b3)在纵向波导集合中,对每一根纵向波导遍历其他纵向波导,检查是否有波导重叠,如果有重叠,则适应度加100;
(4b4)在横向波导集合中,对每一根横向波导遍历其他横向波导,检查是否有波导重叠,如果有重叠,则适应度加100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911027714.0A CN110784781B (zh) | 2019-10-28 | 2019-10-28 | 支持多播/广播的光交换结构的波导布局优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911027714.0A CN110784781B (zh) | 2019-10-28 | 2019-10-28 | 支持多播/广播的光交换结构的波导布局优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784781A CN110784781A (zh) | 2020-02-11 |
CN110784781B true CN110784781B (zh) | 2021-06-08 |
Family
ID=69386832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911027714.0A Active CN110784781B (zh) | 2019-10-28 | 2019-10-28 | 支持多播/广播的光交换结构的波导布局优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110784781B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834780A (zh) * | 2010-01-28 | 2010-09-15 | 武汉理工大学 | 片上网络的拓扑结构和映射优化方法 |
CN102725665A (zh) * | 2009-12-22 | 2012-10-10 | 国际商业机器公司 | 对多个光波导的布局进行设计的方法 |
CN104076445A (zh) * | 2013-03-28 | 2014-10-01 | Jds尤尼弗思公司 | 紧凑型多播开关、MxN开关以及MxN分离器 |
CN106936736A (zh) * | 2017-04-11 | 2017-07-07 | 西安电子科技大学 | 基于双层布局的可扩展光片上网络结构及其通信方法 |
CN107567622A (zh) * | 2015-07-08 | 2018-01-09 | 慧与发展有限责任合伙企业 | 光子电路设计系统 |
WO2019172176A1 (ja) * | 2018-03-08 | 2019-09-12 | 日本電信電話株式会社 | 光スイッチアレイおよびマルチキャストスイッチ |
-
2019
- 2019-10-28 CN CN201911027714.0A patent/CN110784781B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102725665A (zh) * | 2009-12-22 | 2012-10-10 | 国际商业机器公司 | 对多个光波导的布局进行设计的方法 |
CN101834780A (zh) * | 2010-01-28 | 2010-09-15 | 武汉理工大学 | 片上网络的拓扑结构和映射优化方法 |
CN104076445A (zh) * | 2013-03-28 | 2014-10-01 | Jds尤尼弗思公司 | 紧凑型多播开关、MxN开关以及MxN分离器 |
CN107567622A (zh) * | 2015-07-08 | 2018-01-09 | 慧与发展有限责任合伙企业 | 光子电路设计系统 |
CN106936736A (zh) * | 2017-04-11 | 2017-07-07 | 西安电子科技大学 | 基于双层布局的可扩展光片上网络结构及其通信方法 |
WO2019172176A1 (ja) * | 2018-03-08 | 2019-09-12 | 日本電信電話株式会社 | 光スイッチアレイおよびマルチキャストスイッチ |
Non-Patent Citations (1)
Title |
---|
邱炎涛.《 片上光互连中阵列波导光栅研究》.《中国优秀硕士学位论文全文数据库信息科技辑》.2013, * |
Also Published As
Publication number | Publication date |
---|---|
CN110784781A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902818B (zh) | 一种面向深度学习训练任务的分布式加速方法及系统 | |
CN106776963B (zh) | 轻量化的bim大数据在线可视化方法和系统 | |
CN106339350B (zh) | 众核处理器片上访存距离优化的方法及其装置 | |
CN103955410B (zh) | 基于多中断源优先级排序的中断控制方法 | |
CN112487626B (zh) | 光伏电站布线方法和装置 | |
WO2023040197A1 (zh) | 一种跨节点通信方法、装置、设备及可读存储介质 | |
CN110991626A (zh) | 一种多cpu类脑模拟系统 | |
CN110784781B (zh) | 支持多播/广播的光交换结构的波导布局优化方法 | |
CN107341193B (zh) | 路网中移动对象查询方法 | |
CN108280775B (zh) | 电力信息物理系统的分层分布混成计算架构体系及方法 | |
CN110377795A (zh) | 一种基于Blogel的分布式时态图可达性查询处理方法 | |
CN109584101B (zh) | 一种多人操作的整定培训考核软件建模方法 | |
CN103631659A (zh) | 一种片上网络中面向通信能耗的调度优化方法 | |
CN115034376A (zh) | 神经网络处理器、批量标准化处理方法及存储介质 | |
CN104537522A (zh) | 一种信息处理方法及电子设备 | |
CN114970165A (zh) | 一种桥架内电缆的数字化实体自动建模方法、系统及设备 | |
CN107728940A (zh) | 一种数据存储系统中的管理副本的方法、装置和存储介质 | |
CN101312424B (zh) | Vpn结构还原方法和装置 | |
JP2010250495A (ja) | 設計データ併合装置、設計データ併合方法および設計データ併合プログラム | |
CN201947293U (zh) | 使用基于树的多播路由的网络、系统和处理器 | |
CN105160101A (zh) | 建筑信息模型bim的处理系统和处理方法 | |
Wang et al. | STAG: Enabling Low Latency and Low Staleness of GNN-based Services with Dynamic Graphs | |
CN103246564B (zh) | 一种面向云数据中心的大规模虚拟机快速迁移决策方法 | |
CN116451332B (zh) | 一种用于综合管线主干管的快速处理方法 | |
CN110991034B (zh) | 基于全并行嵌套bbdf的电力系统暂态稳定仿真并行计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |