一种RapidIO交换设备动态管理方法及系统与流程

文档序号:15261981发布日期:2018-08-24 21:54阅读:318来源:国知局
本发明属于rapidio网络
技术领域
,特别是涉及到一种rapidio交换设备动态管理方法及系统。
背景技术
:rapidio规范作为嵌入式互连技术方面得到国际标准化组织(iso)和国际电工协会(iec)授权的唯一标准,为嵌入式系统提供了高带宽、低延迟、高可靠性的互连技术。一般地,rapidio网络由处理器件(pe,processingelement)和交换器件(switch)组成,前者主要负责生成、收发和处理数据包,后者完成数据包的接收与转发。作为rapidio网络中的核心设备,交换器件具有高可靠性、高速率和高吞吐量等优点,能否根据场景需要对其灵活配置就显得尤为关键。rapidio网络中各设备间是基于id号进行数据交换的,而switch不具有器件id,当操作目标是交换设备(即向其发送维护包)时,就需要使用目的器件id与跳数(hopcount)的组合进行寻址。目的器件id用以保证维护包能够投递到目标switch,而跳数是指从起点到目标交换之间经过的交换设备数量。交换机的处理器件一旦接收到维护包,检查到跳数字段为0即解析处理,否则将其值减1,再根据目标器件id继续转发出去。目标器件id采用传统的交换设备寻址id方法,主要有两种:为交换设备直接分配id和复用终端设备id;前者顾名思义,会为网络中每个交换设备分配一个id,这种方法需要消耗掉相当多十分宝贵且有限的设备id资源,只能应用在设备数量较少的场合;而后者复用id的方案即在rapidio网络枚举阶段,为终端设备分配器件id时,按照就近原则在逻辑上为交换设备设定寻址id,比如会优先选择交换直连的终端设备id,条件不满足的话就选择其后继交换设备的器件id;但是当网络发生变化时(如设备热插拔等),需要动态调整为交换器件“绑定”的id,调整过程依赖于实际网络拓扑结构,复杂的网络拓扑会使得调整过程难以求解,而且这种方案无法解决配置有多播等复杂场景下的寻址问题。技术实现要素:针对上述问题,本发明提出一种新的动态可扩展的rapidio交换设备管理方法及系统,达到交换设备管理的智能化、动态自适应和高可靠性。为达到上述目的,本发明的技术方案是这样实现的:一种rapidio交换设备动态管理方法,采用虚拟id池(virtualidpool,vidp)的概念从根本上解除交换设备与pe设备的耦合关系,通过固定个数id加弹性可变id两部分实现虚拟id池vidp尺寸的自适应调整,并且构建、维护rapidio网络交换设备实时路由覆盖缓冲区cache,用于存储已配置好的交换设备维护路径;当cache中查询交换设备未命中时动态配置路径。进一步的,所述vidp及cache构建方法包括:s1、host主机发起rapidio网络枚举,同时计算生成rapidio网络交换设备维护路径集(switchmaintainingpathset,smps),即以host为源点、用尽可能少的路径覆盖网络中所有交换设备、形成的路径集合;s2、host主机在枚举完成之后,根据网络规模初始化虚拟id池vidp,尺寸由固定阈值确定,固定阈值指在设备id空间中预留出若干数量;然后构建rapidio网络交换设备实时路由覆盖缓冲区cache。更进一步的,所述cache存储已配置好的交换设备维护路径的方法为:s3、host主机准备给交换设备a发送维护包,首先到cache中查询该交换设备是否已配置有维护路由,因cache初始为空未命中,则到rapidio网络交换设备维护路径集smps中检索出一条包含交换设备a的最长路径,并从vidp中读取一个可用id;然后基于该id依次配置路径上的所有交换设备,成功完成后将该路径与id一并存储到cache中。更进一步的,所述动态配置路径的方法为:s4、host主机准备发送维护包给交换设备b,先到cache中检索,如命中则直接使用相应的id,否则采用步骤s3策略完成配置;直到出现vidp无可用id的情况,如果当前网络中已无空闲设备id,转步骤s5,否则转步骤s6;s5、首先从cache中释放一个id出来,可按照某种规则如路径长度最短进行选取,然后采用步骤3策略完成配置,进而完成维护包的组织与发送;s6、当前网络中存在空闲的设备id,这时根据空闲设备id数量动态确定若干id补充给vidp,然后采用步骤3策略完成配置,进而完成维护包的组织与发送。更进一步的,动态配置路径的方法还包括:s7、如果出现pe设备热插入,并且空闲设备id为空,则检测vidp是否可压缩,即当前尺寸是否大于固定阈值,如是则执行vidp尺寸压缩,释放一个id出来供新插入的pe设备使用,同时保持vidp与cache的一致性。本发明的另一方面,还提供了一种rapidio交换设备动态管理系统,包括:vidp及cache构建模块,用于采用虚拟id池vidp的概念从根本上解除交换设备与pe设备的耦合关系,通过固定个数id加弹性可变id两部分实现虚拟id池vidp尺寸的自适应调整,并且构建、维护rapidio网络交换设备实时路由覆盖缓冲区cache;cache模块,用于存储已配置好的交换设备维护路径;动态配置路径模块,用于当cache中查询交换设备未命中时动态配置路径。进一步的,所述vidp及cache构建模块包括:smps单元,用于在host主机发起rapidio网络枚举时,同时计算生成rapidio网络交换设备维护路径集smps,即以host为源点、用尽可能少的路径覆盖网络中所有交换设备、形成的路径集合;构建单元,用于在host主机枚举完成之后,根据网络规模初始化虚拟id池vidp,尺寸由固定阈值确定,固定阈值指在设备id空间中预留出若干数量;然后构建rapidio网络交换设备实时路由覆盖缓冲区cache。进一步的,所述cache模块包括:查询检索存储单元,用于host主机准备给交换设备a发送维护包时,首先到cache中查询该交换设备是否已配置有维护路由,因cache初始为空未命中,则到rapidio网络交换设备维护路径集smps中检索出一条包含交换设备a的最长路径,并从vidp中读取一个可用id;然后基于该id依次配置路径上的所有交换设备,成功完成后将该路径与id一并存储到cache中。进一步的,所述动态配置路径模块包括:第一动态配置单元,用于在host主机准备发送维护包给交换设备b时,先到cache中检索,如命中则直接使用相应的id,否则采用步骤s3策略完成配置;直到出现vidp无可用id的情况,如果当前网络中已无空闲设备id,转第二动态配置单元,否则转第三动态配置单元;第二动态配置单元,用于从cache中释放一个id出来,可按照某种规则如路径长度最短进行选取,然后采用步骤3策略完成配置,进而完成维护包的组织与发送;第三动态配置单元,用于在当前网络中存在空闲的设备id时,根据空闲设备id数量动态确定若干id补充给vidp,然后采用步骤3策略完成配置,进而完成维护包的组织与发送。更进一步的,所述动态配置路径模块还包括:第四动态配置单元,用于如果出现pe设备热插入,并且空闲设备id为空,则检测vidp是否可压缩,即当前尺寸是否大于固定阈值,如是则执行vidp尺寸压缩,释放一个id出来供新插入的pe设备使用,同时保持vidp与cache的一致性。与现有技术相比,本发明具有如下的有益效果:1、本发明提出“动态可伸缩的rapidio交换设备虚拟id池”技术概念,根据网络实时规模自动判断id池的尺寸,能够在保证rapidio网络正常运转的同时,最大化设备id的资源利用率;2、本发明提出“一个id对应一条由若干交换设备形成的路由链路”技术概念,实现有限id覆盖尽量多rapidio交换设备的目标;3、本发明提出“rapidio网络交换设备实时路由覆盖缓冲区”技术概念,用来存储所有已配置好的交换设备维护路径,实现已配置交换设备直接寻址,将动态配置带来的开销降至最低。综上所述,本发明提出了一种新的rapidio交换设备动态管理方案,通过采用虚拟id池解除交换设备与pe设备的耦合关系,有效解决了传统方法难以应对网络变化和无法处理多播等复杂问题,并且通过引入路径缓冲区和动态伸缩等机制,实现了网络资源的最大化利用,又充分降低了配置操作带来的时间开销,能够广泛应用于不同规模的rapidio网络和动态变化的应用场景。附图说明图1是本发明实施例中带闭环的网络模型示意图;图2是本发明实施例中阵列形态网络模型示意图。具体实施方式需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明针对传统方案的不足,提出一种新的动态可扩展的rapidio交换设备管理方法,采用虚拟id池的概念从根本上解除交换设备与pe设备的耦合关系,通过固定个数id加弹性可变id两部分实现id池尺寸的自适应调整,并且构建、维护rapidio网络交换设备实时路由覆盖缓冲区,使得仅当交换设备未命中时才需动态配置,进而达到交换设备管理的智能化、动态自适应和高可靠性。●方法步骤详述本发明的新方法主要包含rapidio网络交换设备维护路径集合的计算,虚拟id池和交换设备配置路由覆盖缓冲区的初始化与实时维护,并根据用户请求和网络状态动态调整,具体步骤如下:步骤1、rapidio网络枚举阶段,同时计算生成rapidio网络交换设备覆盖路径集合,即以host为源点,目标是用尽可能少的路径覆盖网络中所有交换设备,称这些路径的集合为交换设备维护路径集(smps,switch_maintenance_path_set);步骤2、host主机在枚举完成之后,根据网络规模初始化虚拟id池(vidp,switchvirtualidpool),尺寸由固定阈值确定,固定阈值指在设备id空间中预留出若干数量(例如8比特的设备id表示域,预留最后6个id用于表征交换设备,即0xfa-0xff);然后构建rapidio网络交换设备实时路由覆盖缓冲区(下称cache),初始为空,后续用来存储一条条已配置好的交换设备维护路径;步骤3、host主机准备给交换设备a发送维护包,首先到cache中查询该交换设备是否已配置有维护路由,因cache初始为空未命中,那么就到smps中检索出一条包含交换设备a的最长路径,并从vidp中读取一个可用id=x;然后基于id=x依次配置路径上的所有交换设备,成功完成后将该路径与id一并存储到cache中。至此,host主机就可以使用id=x(hopcount即交换a在路径中的位置)来组织维护包并发送出去;步骤4、host主机准备发送维护包给交换设备b,仍然是先到cache中检索,如命中则直接使用相应的id,否则采用步骤3策略完成配置;直到出现vidp无可用id的情况,如果当前网络中已无空闲设备id,转步骤5,否则转步骤6;步骤5、首先需要从cache中释放一个id出来,可按照某种规则如路径长度最短进行选取,然后采用步骤3策略完成配置,进而完成维护包的组织与发送;步骤6、当前网络中存在空闲的设备id,这时根据空闲设备id数量动态确定若干id补充给vidp,然后采用步骤3策略完成配置,进而完成维护包的组织与发送;步骤7、如果出现pe设备热插入,并且空闲设备id为空,则需要检测vidp是否可压缩,即当前尺寸是否大于固定阈值,如是则执行vidp尺寸压缩,释放一个id出来供新插入的pe设备使用,同时需保持vidp与cache的一致性。●具体网络模型演示参阅图1所示网络模型,为突出强调交换设备,模型中除host主机外,忽略其他pe设备,灰色背景为交换器件,红色数字为建立有物理链路的端口号。首先,host主机发起rapidio网络枚举,依次探测所有建链设备并完成初始配置动作(如为pe设备分配id等),同步计算用尽可能少的路径覆盖网络中所有交换设备,得到交换设备维护路径集:smps={(1,2,3,5,6),(1,4,3,5,7)};然后,host主机初始化虚拟id池vidp,尺寸为固定个数6(可根据实际场景调整),初始池子为满状态,即vidp={0xfa,0xfb,0xfc,0xfd,0xfe,0xff};构建rapidio网络交换设备实时路由覆盖缓冲区cache,初始为空;接下来,假定用户要读取sw2上的某个寄存器值,就需要获取能够寻址sw2的id和hopcount:优先在cache中查询,由于cache当前为空是以未命中,然后从smps里检索出一条包含目标switch且长度最长的路径,结果是1-2-3-5-6,同时向vidp申请一个可用id(返回0xfa),依次对1-2-3-5-6路径上的所有交换配置路由(sw6之所以不必配置,是因为其为当前路径最后一个switch,不会再向其他switch转发维护包):switchport_inport_outidhopcount1010xfa02860xfa131040xfa251350xfa36nana0xfa4配置成功后,将{id=0xfa,path=(1,2,3,5,6)}这一id与路径的组合存储到cache中,再将id=0xfa,hopcount=1返回用以寻址sw2;用户要读取sw5上的寄存器配置,仍然优先去cache中查询,直接命中并返回id=0xfa,hopcount=3;用户要读取sw7上的寄存器配置,很明显cache查询失败,类似地,从smps里检索出路径1-4-3-5-7,同时向vidp申请一个可用id(返回0xfb),依次配置路径上的所有交换设备路由:switchport_inport_outidhopcount1050xfb04290xfb13740xfb251390xfb37nana0xfb4配置成功后,将{id=0xfb,path=(1,4,3,5,7)}这一id与路径的组合存储到cache中,再将id=0xfb,hopcount=4返回用以寻址sw7;至此,网络中所有switch均能通过id=0xfa,0xfb成功寻址。分析可知,新方案能够完美解决掉传统方式存在的问题,由于switch寻址id不再复用pe设备id,所以rapidio网络发生pe设备热插拔对于switch寻址没有任何影响,即便网络中存在switch被配置有多播,也不会和switch寻址产生交叉。此外,通过引入smps实现了一个id与一条路径的映射,加之二者之间没有固定关系,使得只通过有限id即可覆盖多条路径(无限多的交换设备),而且开辟缓冲区cache保证switch寻址参数能够快速获取,最大程度降低重复配置带来的开销。另一方面,新方案支持根据网络规模实时进行评估,确定虚拟id池是否可动态完成扩展,并在网络设备热插入时及时释放设备id,进而实现设备id资源的最大化利用。借助图2所示网络模型来进一步说明新方案的动态可伸缩性:首先,host主机发起rapidio网络枚举,得到交换设备维护路径集:smps={(1,2),(1,4),(1,3,5),(1,3,7),(1,3,6,8),(1,3,6,9),(1,3,6,10)};然后,host主机初始化虚拟id池vidp,尺寸为固定个数6(可根据实际场景调整),初始池子为满状态,即vidp={0xfa,0xfb,0xfc,0xfd,0xfe,0xff};构建rapidio网络交换设备实时路由覆盖缓冲区cache,初始为空;接下来,假定用户要读取sw6上的某个寄存器值,就需要获取能够寻址sw6的id和hopcount:优先在cache中查询,由于cache当前为空是以未命中,然后从smps里检索出一条包含目标switch且长度最长的路径,结果是1-3-6-10,同时向vidp申请一个可用id(返回0xfa),依次对路径上的所有交换配置路由,成功后cache填充入{id=0xfa,path=(1,3,6,10)}:switchport_inport_outidhopcount1010xfa031040xfa161350xfa210nana0xfa3接下来,用户分别请求读取sw2、sw4、sw5、sw7和sw8,按上述策略予以处理后,vidp为空,cache={{0xfa,(1,3,6,10)},{0xfb,(1,2)},{0xfc,(1,4)},{0xfd,(1,3,5)},{0xfe,(1,3,7)},{0xff,(1,3,6,8)};当用户再请求读取sw9时,会发现cache未命中且vidp为空,这时根据当前网络中pe设备占用id情况(11个),评估存在空闲设备id,那么就临时性的将0xf4-0xf9共6个id扩充到vidp中,如此基于网络规模实现合理的动态扩展,继而采用上述策略完成配置和寻址参数的确定。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1