产学研创新服务平台(全国)
专利申请类型:发明专利;专利名称:一种全光交换网络控制系统及方法
专利类型:发明专利
专利申请号:CN202210936976.4
专利申请(专利权)人:中科计算技术西部研究院
权利人地址:重庆市渝北区黄山大道中段53号
专利发明(设计)人:李文喆,元国军,黄萍萍,王展,谭光明
专利摘要:本发明涉及通信技术领域,具体公开了一种全光交换网络控制系统及方法,其中方法包括:S1、根据虚拟机内的应用类型生成虚拟机内所有通信请求,并分割成若干个通信矩阵,每层全光交叉开关对应一个通信矩阵;S2、为一资源块分配端口与波长;S3、重复步骤S2为其他资源块分配端口与波长,直至所有通信关系配置结束;S4、向该层全光交换开关下发交叉配置命令,使全光交叉开关基于交叉配置命令对端口进行配置;S5、重复步骤S2‑S4,直至所有层的全光交叉开关配置完成;S6、对全光交叉开关配置结束后,全光交叉开关将端口产生的特定波长的光信号按照配置交换至指定端口,从而实现数据交换。采用本发明的技术方案能够降低大业务流延时,提升网络性能。
主权利要求:
1.一种全光交换网络控制方法,包括:
S0、接收虚拟机请求,并分配资源块;
其特征在于,还包括如下内容:
S1、根据虚拟机内的应用类型生成虚拟机内所有通信请求,并分割成若干个通信矩阵,每层全光交叉开关对应一个通信矩阵;
S2、为一资源块分配端口与波长;
S3、重复步骤S2为其他资源块分配端口与波长,直至所有通信关系配置结束,形成包括端口与波长交叉配置的交叉配置命令;
S4、向该层全光交换开光下发交叉配置命令,使全光交叉开关基于交叉配置命令对端口进行配置;
S5、重复步骤S2‑S4,直至所有层的全光交叉开关配置完成;
S6、对全光交叉开关配置结束后,全光交叉开关将端口产生的特定波长的光信号按照配置交换至指定端口,从而实现数据交换;
S7、当通信的数据量高于阈值时,控制全光交换开光的一个端口进行即时的波长切换,为该数据量高于阈值的业务流建立光路,在通信完成控制全光交换开光拆掉该光路。
2.根据权利要求1所述的全光交换网络控制方法,其特征在于:所述步骤S1分割通信矩阵时,将通信发生间隔小于1ms的通信请求分入不同的通信矩阵。
3.根据权利要求2所述的全光交换网络控制方法,其特征在于:所述步骤S1中,通信矩阵表示为:, ,其
中,资源块之间有通信设置为1,无通信设置为0。
4.根据权利要求3所述的全光交换网络控制方法,其特征在于:所述步骤S2中,基于同一端口与不同端口使用不同波长的原则进行波长分配,且端口互联关系Cxy与Cyx使用相同的波长,其中x,y为端口号。
5.根据权利要求4所述的全光交换网络控制方法,其特征在于:所述步骤S2中,通过涂色算法分配波长与端口对应关系;
对于分配的资源块ba,其通信关系集合为COMM{commay,Cay=1,a
按照y的序号顺序为commay顺序分配波长为λb,λb+1…;
在波长分配结束后,将ay端口设置为通过波长λ互联。
6.一种全光交换网络控制系统,使用权利要求1‑5任一项所述的方法,其特征在于,包括全光交换网络和网络控制器;
网络控制器用于向全光交换网络发送交叉配置命令;交叉配置命令包括端口与波长交叉配置;
全光交换网络包括至少两层全光交叉开关,全光交叉开关用于根据交叉配置命令配置端口与波长,配置后的端口之间通过特定波长光信号相互通信。
7.根据权利要求6所述的全光交换网络控制系统,其特征在于:所述网络控制器还用于在通信的数据量高于阈值时,通过交叉配置命令,控制全光交换开光的一个端口进行即时的波长切换,为该数据量高于阈值的业务流建立光路;
网络控制器还用于在通信完成后,通过交叉配置命令,控制全光交换开光拆掉该光路。 说明书 : 一种全光交换网络控制系统及方法技术领域[0001] 本发明涉及通信技术领域,特别涉及一种全光交换网络控制系统及方法。背景技术[0002] 目前的大多数的数据中心或超算中心是基于服务器为中心(server‑centric)的架构,在服务器内各种资源块(如CPU、RAM和加速器等)的比例是固定的,然而在数据中心中许多应用或者虚拟机(VirtualMachine,VM)对资源块的要求与该比例并不匹配,这导致了大量资源的浪费,造成了能耗的浪费。此外,当代的数据中心不断朝着高度并行化的方向发展,一些新型的数据密集型的应用需要使用大量服务器中的计算和内存/外存资源,资源冗余分配的问题对整体性能影响加剧。此外,数据中心中技术的升级需要整个服务器级别升级,无法为某种资源单独进行升级替换,因此对于大型的数据中心升级的成本非常高。[0003] 资源池化(ResourcePooling)架构的出现可以打破这一瓶颈。资源池化将资源块(计算、存储、加速器等)物理隔离开,每种资源块部署在一个独立的资源刀片(blade)上,并通过高度互连的网络连接这些资源刀片。然而对于资源池化系统来说,原本在一个服务器(刀片)内部完成的通信可能需要整个数据中心的网络来传送。这对模块之间的互联网络提出了更高的要求,尤其是如CPU‑RAM之间的通信指标将直接影响应用数据中心应用的性能。传统的多级电互联网络,在每级交换机都会引入排队等时延,尤其当数据量很大的情况下,网络性能恶化严重。[0004] 为此,需要一种能够降低大业务流延时,提升网络性能的全光交换网络控制系统及方法。发明内容[0005] 本发明的目的之一在于,提供一种全光交换网络控制方法,能够降低大业务流延时,提升网络性能。[0006] 为了解决上述技术问题,本申请提供如下技术方案:[0007] 一种全光交换网络控制方法,包括:[0008] S0、接收虚拟机请求,并分配资源块;[0009] 还包括如下内容:[0010] S1、根据虚拟机内的应用类型生成虚拟机内所有通信请求,并分割成若干个通信矩阵,每层全光交叉开关对应一个通信矩阵;[0011] S2、为一资源块分配端口与波长;[0012] S3、重复步骤S2为其他资源块分配端口与波长,直至所有通信关系配置结束,形成包括端口与波长交叉配置的交叉配置命令;[0013] S4、向该层全光交换开关下发交叉配置命令,使全光交叉开关基于交叉配置命令对端口进行配置;[0014] S5、重复步骤S2‑S4,直至所有层的全光交叉开关配置完成;[0015] S6、对全光交叉开关配置结束后,全光交叉开关将端口产生的特定波长的光信号按照配置交换至指定端口,从而实现数据交换。[0016] 进一步,还包括步骤S7、当通信的数据量高于阈值时,控制全光交换开关的一个端口进行即时的波长切换,为该数据量高于阈值的业务流建立光路,在通信完成控制全光交换开关拆掉该光路。[0017] 进一步,所述步骤S1分割通信矩阵时,将通信发生间隔小于1ms的通信请求分入不同的通信矩阵。[0018] 进一步,所述步骤S1中,通信矩阵表示为:[0019][0020] Cyx=Cxy,x[0021] 其中,资源块之间有通信设置为1,无通信设置为0。[0022] 进一步,所述步骤S2中,基于同一端口与不同端口使用不同波长的原则进行波长分配,且端口互联关系Cxy与Cyx使用相同的波长,其中x,y为端口号。[0023] 进一步,所述步骤S2中,通过涂色算法分配波长与端口对应关系;[0024] 对于分配的资源块ba,其通信关系集合为COMM{commay,Cay=1,a[0025] 按照y的序号顺序为commay顺序分配波长为λb,λb+1…;[0026] 在波长分配结束后,将ay端口设置为通过波长λ互联。[0027] 本发明的目的之二在于,提供一种全光交换网络控制系统,使用上述方法,包括全光交换网络和网络控制器;[0028] 网络控制器用于向全光交换网络发送交叉配置命令;交叉配置命令包括端口与波长交叉配置;[0029] 全光交换网络包括至少两层全光交叉开关,全光交叉开关用于根据交叉配置命令配置端口与波长,配置后的端口之间通过特定波长光信号相互通信。[0030] 进一步,所述网络控制器还用于在通信的数据量高于阈值时,通过交叉配置命令,控制全光交换开关的一个端口进行即时的波长切换,为该数据量高于阈值的业务流建立光路;[0031] 网络控制器还用于在通信完成后,通过交叉配置命令,控制全光交换开关拆掉该光路。[0032] 与现有技术相比,本发明优点在于:[0033] 当应用或虚拟机请求到达时,网络控制器重配置全光交叉开关,从而重构资源块的之间的连接关系,在虚拟机运行过程中,网络控制器进行全光交叉开关的配置与重构的决策。当遇到大业务流时,全光交叉开关改变端口之间的连接关系,即对全光交换网络进行动态的重构,保证大业务流的正常通过,与现有的排队等待相比,能有效降低延时。附图说明[0034] 图1为实施例一一种全光交换网络控制方法的流程图;[0035] 图2为实施例二中全光交换网络架构图;[0036] 图3为实施例二中全光交换网络的网络配置示意图;[0037] 图4为实施例二中全光交换网络的资源块内部网络接口示意图。具体实施方式[0038] 下面通过具体实施方式进一步详细说明:[0039] 实施例一[0040] 如图1所示,本实施例的一种全光交换网络控制方法,包括如下步骤:[0041] S0、接收新的VM请求Rq{C,M,S,……},现有的资源调度器分配资源块:AL{b1,b2,b3,…,bn};[0042] S1、网络控制器根据虚拟机内的应用类型生成虚拟机内所有通信请求,并分割成若干个通信矩阵,每层全光交叉开关对应一个通信矩阵;将并行度高的通信请求分入不同的通信矩阵。本实施例中,并行度高指通信发生间隔小于1ms。[0043] 通信矩阵表示为:[0044][0045] Cyx=Cxy,x[0046] 其中,资源块之间有通信设置为1,无通信设置为0。[0047] S2、为一资源块分配端口与波长;基于同一端口与不同端口使用不同波长的原则进行波长分配,且端口互联关系Cxy与Cyx使用相同的波长,其中x,y为端口号。[0048] 具体的,按照资源块的序号从小到大开始设置端口与波长交叉配置;端口与波长交叉配置中,波长与端口对应关系可采用包括但不限于涂色算法,本实施例通过涂色算法分配波长与端口对应关系;[0049] 对于分配的资源块ba,其通信关系集合为COMM{commay,Cay=1,a[0050] 按照y的序号顺序为commay顺序分配波长为λb,λb+1…;[0051] 在波长分配结束后,将ay端口设置为通过波长λ互联。[0052] S3、重复步骤S2为其他资源块分配端口与波长,直至所有通信关系配置结束,形成包括端口与波长交叉配置的交叉配置命令;[0053] S4、网络控制器向该层全光交换开关下发交叉配置命令,使全光交叉开关基于交叉配置命令对端口进行配置;[0054] S5、重复步骤S2‑S4,直至所有层的全光交叉开关配置完成;[0055] S6、对全光交叉开关配置结束后,全光交叉开关将端口产生的特定波长的光信号按照配置交换至指定端口,从而实现数据交换。[0056] S7、当通信的数据量高于阈值时,控制全光交换开关的一个端口进行即时的波长切换,为该数据量高于阈值的业务流建立光路,在通信完成控制全光交换开关拆掉该光路。[0057] 换句话说,VM内部的通信,需要对全光交换网络进行动态的重构,即切换本地收发波长。该重构过程可以基于业务流大小切换。[0058] 基于一种全光交换网络控制方法,本实施例还提供一种全光交换网络控制系统,包括全光交换网络和网络控制器;为了更好的说明本方案,本实施例还对关联的资源块、全光交换网络以及电控制交换网络进行说明。资源块、全光交换网络、电控制交换网络和网络控制器构成全光交换网络。[0059] 资源块包括计算和存储芯片,以及网络接口;[0060] 全光交换网络用于实现不同资源块之间的数据传输。本实施例中,全光交换网络包括基于波长和空间交换的全光交叉开关;[0061] 电控制交换网络用于资源块与网络控制器之间进行控制信号的交换;[0062] 网络控制器用于实现网络重构控制与网络配置。[0063] 具体的:[0064] 资源块计算和存储芯片类型具体包括:计算(Computing)芯片、内存(Memory)芯片、硬盘(Storage)芯片。计算芯片包括但不限于CPU(中央处理单元)芯片、GPU(图形处理单元)芯片。内存芯片包括但不限于DDR4芯片、HBM(HighBandwidthMemory,高带宽存储器)芯片、HMC(HybridMemoryCube,混合存储立方)芯片。硬盘芯片包括但不限于SSD(Solid‑StateDrives,固态硬盘)芯片、HDD(HardDiskDrives,机械硬盘)芯片。[0065] 资源块的计算和存储芯片与网络接口通过高速通路互联,高速通路包括但不限于PCIe(PeripheralComponentInterconnectExpress)通道,通信数据的电信号通过高速通路传输至网络接口,经过网络接口转换为光信号后通过光纤传输至全光交换网络。[0066] 网路接口具有基本的网卡功能,如高层网络协议的封装,支持的高层协议例如RoCE(RDMAoverConvergedEthernet)或者IB(Infiniband)协议。网络接口还需要对数据收发进行管理、并通过波长配置,实现网络的快速重构。网络接口的实现方式包括但不限于基于FPGA(FieldProgrammableGateArray,现场可编程逻辑门阵列)实现其功能。网络接口具体包括控制单元、数据通路模块、时钟同步模块、光数据端口和控制端口。[0067] 光数据端口至少1个,光数据端口用于产生波长可调谐光信号,光数据端口包括但不限于400GbpsQSFP+光路端口。[0068] 全光交换网络包括d层(d≥2)全光交叉开关,全光交叉开关包括但不限于基于WSS(WavelengthSelectiveSwitch,波长选择开关)技术实现。全光交叉开关内部可由小端口的交叉开关(例如,包括但不限于小于10个端口的交叉开关)级联而成。每个光数据端口分别通过光路(可调谐光模块与光纤)连接至一个全光交叉开关的端口上,具体的,每层全光交叉开关与资源块的一个光数据端口互联。[0069] 全光交叉开关在配置后的端口之间通过特定波长光信号相互通信,接入的光数据端口产生不同波长的光信号从而与不同的目的节点通信;[0070] 控制端口通过光路(定波长光模块与光纤)连接至电控制交换网络上,控制信号通过电控制交换网络在控制端口与网络控制器之间交换;控制端口向网络控制器发送的控制信号包括该资源块内部光数据端口的通信状态与通信请求;网络控制器向资源块控制端口发送的控制信号包括波长路由表以及重构命令。具体的,网络控制器通过网络控制器的光端口连接至电控制交换网络;控制信号进入电控制交换网络后转换为电信号进行处理交换。[0071] 网络控制器还通过网络控制器的电接口与所有全光交叉开关的控制接口互联,以此来下发全光交叉开关的交叉配置命令,交叉配置命令包括端口与波长交叉配置。[0072] 控制单元用于按照波长路由表进行路由,并配置可调谐光模块的工作波长;还用于接收网络控制器的重构命令,上传本地光数据端口的状态;控制单元还用于管理本地数据通路。[0073] 时钟同步模块用于通过控制端口与通信的节点进行传输信号时钟与相位的同步。[0074] 数据通路模块用于按照通信的数据的目的地址分成不同的队列;光数据端口在某一时刻仅传输其中对应目的节点的队列数据。[0075] 本方案可以实现不同维度的重构,当应用或虚拟机请求到达时,网络控制器重配置全光交叉开关,重构资源块的之间的连接关系,在虚拟机运行过程中,资源块侧通过配置光模块的收发光波长,重构光路。电控制交换网络负责传输控制消息,包括重构命令与链路状态等。网络控制器还负责进行全光交叉开关的配置与重构的决策。[0076] 本方案基于资源池化提出了一种多维度的可重构方式。全光交叉开关的配置为方案中的一维重构方式,改变端口之间的连接关系;光调谐模块的波长重构为本方案的中第二维重构方式,改变资源块之间的通信路由。换句话说,虚拟机内部的通信,需要对全光交换网络进行动态的重构,即切换本地收发波长。该重构过程可以按照虚拟机数据量分为两种切换粒度,分别为基于时隙切换与基于业务流大小切换。[0077] 实施例二[0078] 本实施例结合实例说明全光交换网络控制方法:[0079] 如图2所示,在示例中网络接口有二个光数据端口,全光交换网络有二层全光交叉开关。每层全光交叉开关的配置方法相同。其大业务流对应光数据端口O1,小业务流对应光数据端口O2。本实施例中,大业务流指数据量大于1MB的业务流,小业务流指数据量小于1MB的业务流。[0080] S0、假设VM请求1个CPU芯片、2个内存芯片、1个硬盘芯片;现有的资源调度器分配了资源块RB1、RB2、RB3、RB4,对应的全光交叉开关的端口分别为P1,P2,P3,P4。[0081] S1、按照资源块之间有通信需求设置为1,无通信需求则设置0,且矩阵对关于对角线对称。[0082] 资源块之间通信需求的矩阵表达为:[0083][0084] Cyx=Cxy,x[0085] 该VM内部的通信矩阵如表1所示。[0086] 表1通信需求矩阵[0087] RB 1 2 3 41 ‑ 1 1 02 1 ‑ 0 13 1 0 ‑ 14 0 1 1 ‑[0088] S2、基于同一端口与不同端口使用不同波长的原则进行波长分配,且端口互联关系Cxy与Cyx使用相同的波长,其中x,y为端口号。按照波长的序号进行顺序分配。[0089] 为了满足上述通信关系,需要2个或者2组波长,本实施例中,使用2个波长λ1与λ2。[0090] 波长的分配可采用涂色算法,本实施例具体波长分配步骤如下:[0091] S201、先为序号小的端口P1分配波长,则C12,C13分别为λ1与λ2,则C21也为λ1,C31对应的波长为λ2;[0092] S202、P2端口的通信关系C24为λ2,则C42对应的波长为λ1;[0093] S203、P3端口的通信关系C34对应的波长为λ1,则C43对应的波长为λ1.[0094] 分配完毕,端口波长对应关系如表2。[0095] 表2端口波长交叉关系表[0096]Port 1 2 3 41 λ1 λ2 2 λ1 λ23 λ2 λ14 λ2 λ1 [0097] S4、网络控制器将交叉配置命令下发至全光交叉开关的控制接口,对全光交叉开关的P1,P2,P3,P4端口进行配置。[0098] 网络控制器通过电控制交换网络将对应的波长路由表与初始波长下发给资源块RB1、RB2、RB3、RB4网络接口内的控制单元,控制单元并按照初始波长需求进行波长配置,如图3所示。[0099] 下面以RB1相关的通信说明S6‑S7。[0100] RB1与RB2开始通信前,如果业务流的数据量较大,控制单元通知网络控制器,网络控制器向相关的节点下发建路消息,配置完成后,RB1与RB2交换配置完成信号,收到配置完成信号后开始通信。[0101] 当光端口需要重构至RB3时,即RB1与RB3有数据量大的业务流发生,网络控制器首先向RB1、RB3下发查询命令,其控制单元上传光数据端口的状态,如果两个端口都处于空闲状态,无数据包正在传输,网络控制器下发重构命令,重构命令包含目的节点号。[0102] 如果RB1发给RB2业务流的数据量较小时,将该业务流存入RB2对应的队列中,该队列会在RB2对应的时隙t1进行数据发送。光数据端口会按照时隙进行光链路的重构,在时隙t1发送RB2对应的队列,并在时隙t2发送RB3对应的对列。[0103] 本实施例的全光交换网络,光数据端口的个数为N,对应的全光交叉开关的个数为N,资源块的数据为K,则全光交换开关数量应大于等于K。[0104] 资源块a上的光数据端口p,通过可调谐光模块与光纤接入至全光交换开关p上的a端口。网络接口的控制端口,通过定波长光模块与光纤接入至电控制交换网络的可用端口。[0105] 电控制交换网络的总端口数应该大于资源块的数量,本实施例为K+1。电控制交换网络的其中一个端口接入网络控制器的接口控制端口(即网络控制器的光端口)。整个网络架构中,控制消息与负载数据分别通过电控制交换网络与全光交叉开关传送,互不交叉,保证全光网络的效率。[0106] 该全光交叉开关可通过较少端口数的开关级联而成,例如通过64*64端口的开关级联构建128*128端口的开关。级联方式包括但是不限于Clos拓扑。全光交叉开关支持任意端口Pa与Pb之间,以任意支持的波长λm或者波长组通信。对全光交叉开关配置后,使其可基于波长路由,也就是说任意端口Pa与其他不同的端口的互联的波长互不相同,即如果光数据端口Pa与Pb之间互联关系Cab对应的波长为λm,则Pa与除Pb的互联关系{Cax,x≠b}以及Pb与除Pa的互联关系{Cbx,x≠a}不能使用波长λm。[0107] 全光交叉开关可基于但不限于C+L波段,最小波长频率间隔可以包括但不限于12.5GHz。需要注意的是,使用的可调谐光模块与全光交叉开关支持的波长相同。全光交叉开关每次配置可以仅配置其部分端口,其他端口的交叉连接保持不变。[0108] 例如,全光交叉开关的一个端口Pc与Pd通过波长λk互联,而Pc与Pe通过另一条波长λq互联,接入端口Pc与光数据端口将波长调谐至λk,则Pc可与Pd进行通信,接入端口Pc与光数据端口将波长调谐至λq,则Pc可与Pe进行通信。[0109] 当系统扩展到一定规模时(例如,包括但不限于上百节点),单个的电控制交换机无法满足其端口数需求,电控制交换网络可以基于多种级联的方式组建,级联方式包括但不限于3层胖树(fat‑tree)拓扑,电控制交换网络采用电交换机,电交换机包括但是不限于以太网交换机,在控制端口采用相应的协议封装。电交换机对于较小的控制消息包具有很高的转发效率。[0110] 资源块的控制端口用于通过电控制交换网络向网络控制器发送本地链路状态(光数据端口的通信状态)与通信请求等,网络控制器用于通过电控制交换网络向资源块的控制单元下发重构命令,重构命令中包括切路的目的资源块、需要进行的切路的光数据端口序号。[0111] 资源块用于收到重构命令后查询全光交叉开关该端口对应的波长路由表,配置相应的可调谐光模块波长。资源块之间用于通过电控制交换网络与目的资源块进行建路消息的交换,包括但不限于时钟同步信号、相位同步信号、光功率同步信号等建路必要信号。[0112] 资源块的网络接口如图4所示,当资源块需要通信时,首先将计算和存储芯片的数据卸载入网络接口内部,数据通路模块用于将数据按照不同的目的节点存入不同的队列中,控制单元用于根据目前的端口链路对应的目的节点判断是否发送该数据对应的队列,如果目前端口对应的目的节点与数据的目的节点相符,则可以发送。如果目的端口的对应的目的节点与目的节点不相符,则继续存在队列中,等待控制单元的命令,以此保证通信的可信性。可以发送的队列数据进行MAC层与PHY层的协议封装,然后通过可调谐光模块调制成指定波长的光信号发送至全光交叉开关中。[0113] 以上的仅是本发明的实施例,该发明不限于此实施案例涉及的领域,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
专利地区:重庆
专利申请日期:2022-08-05
专利公开日期:2024-11-29
专利公告号:CN115297386B