一种可配置自适应负载平衡系统及方法转让专利

申请号 : CN201710190941.X

文献号 : CN106803816B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 潘红兵姚馨李丽秦子迪何书专李伟

申请人 : 南京大学

摘要 :

本发明涉及一种可配置自适应负载平衡系统,与多核处理器通信连接,接收多核处理器发送的配置包与门铃信息,配置包解析模块,根据所述配置包解析出合并模式选择信息、光纤波束数、处理簇数以及模块参数,调配系统各内部模块协同工作;若干通用数据发送模块,根据所述合并模式选择信息、光纤波束数和模块参数,并输出各种组合情形下的帧数据与选通信号;忙闲表管理模块,根据所述处理簇数创建忙闲表,并从忙闲表中读出与处理簇数对应的帧数据与ID号,并将所述帧数据与ID号输出;Srio组包模块,根据所述ID号组成Srio包,并根据忙闲表进行帧数据发送。有益效果为:节省了芯片的面积,并且满足系统实时性的要求。

权利要求 :

1.一种可配置自适应负载平衡系统,与多核处理器通信连接,接收多核处理器发送的配置包与门铃信息,其特征在于,包括:外部接口模块,接收所述配置包,并向多个多核处理器发送数据;

配置包解析模块,根据所述配置包解析出合并模式选择信息、光纤波束数、处理簇数以及模块参数,以配置整个系统的工作模式,调配系统各内部模块协同工作;若干通用数据发送模块,根据所述合并模式选择信息、光纤波束数和模块参数,实现数据不同合并模式、每路光纤按波数出数方式的排列组合,并输出各种组合情形下的帧数据与选通信号;

忙闲表管理模块,根据所述处理簇数创建忙闲表;并从忙闲表中读出与处理簇数对应的帧数据与ID号,并将所述帧数据与ID号输出;

Srio组包模块,根据所述ID号组成Srio包,并根据忙闲表进行帧数据发送;Crossbar转Srio发送模块,将Srio组包模块输出的多路帧数据通过Crossbar仲裁选择后输出。

2.根据权利要求1所述的可配置自适应负载平衡系统,其特征在于,合并模式总共为9种,波数取值范围为1~16。

3.根据权利要求1所述的可配置自适应负载平衡系统,其特征在于,外部接口模块采用了一路X4Srio接口。

4.根据权利要求1所述的可配置自适应负载平衡系统,其特征在于,所述忙闲表管理模块采用轮询与忙闲共同作用的机制,当轮询到空闲的处理簇则发出开始信号,通知通用数据发送模块读出一帧数据,并将该簇置忙;当接收到多核处理器发送的清忙门铃,则将对应簇号置闲。

5.根据权利要求1所述的可配置自适应负载平衡系统,其特征在于,其配置包是一个

256B的数据包,配置包内容还包括多核处理器映射首地址与多核处理器校验信息。

6.根据权利要求1所述的可配置自适应负载平衡系统,其特征在于,通用数据发送模块为四个,Srio组包模块共有四路,每路对应一个ID号。

7.采用如权利要求1-6任一项所述的可配置自适应负载平衡系统的可配置自适应负载平衡方法,其特征在于,包括如下步骤:

1)对系统进行初始化,多核处理器通过Srio接口发送配置包,对配置包进行校验,当配置包校验正确时,对配置包进行解析并将解析内容存入一双口Ram中,供其他模块读取参数;若配置包校验错误,则发出配置包校验错误信号,并等待多核处理器发送正确的配置包;

2)收到正确的配置信息后,根据配置包解析出的合并模式,配置通用数据发送模块,根据配置包解析出处理簇的簇数N创建忙闲表;

3)采用轮询与忙闲的相结合的机制管理忙闲表,采用轮询的方式从第1簇到第N簇依次查询当前处理簇是否空闲,若轮询到空闲的处理簇则发出开始信号,通知通用数据发送模块读出一帧数据,并置忙该簇,再从忙闲表中读出该簇对应发送的4个ID号,发送给Srio组包模块,当接收到多核处理器发送的清忙门铃,将对应簇号置闲,完成负载平衡过程。

说明书 :

一种可配置自适应负载平衡系统及方法

技术领域

[0001] 本发明属于实时信号处理系统领域,尤其涉及一种可配置自适应负载平衡系统及方法。

背景技术

[0002] 近年来,我国实时信号处理系统能力以及专门采用电子设备和器材对敌方进行侦测和干扰的电子技术越发迫切和重要。这其中的核心之处就在于优化资源配置,提高数据传输效率,从而提高整个数据处理以及接收的效率。
[0003] 由于现在信号处理向多核方向发展,收集到的数据就需要发送到多个数字信号处理核心来处理。如果接口模块能根据外部数字信号处理核所需数据格式进行配置,完成不同数据合并方式下分时发送给多个数字信号处理核,则可以大幅的节省芯片的面积,为数字信号处理核节省数据重排时间。

发明内容

[0004] 本发明目的在于对只有一路Srio接口条件下,根据配置包信息对数据发送进行重构控制,提供一种可配置自适应负载平衡系统及方法,具体由以下技术方案实现:
[0005] 所述可配置自适应负载平衡系统,与多核处理器通信连接,接收多核处理器发送的配置包与门铃信息,包括:
[0006] 外部接口模块,接收所述配置包,并向多个多核处理器发送数据;
[0007] 配置包解析模块,根据所述配置包解析出合并模式选择信息、光纤波束数、处理簇数以及模块参数,以配置整个系统的工作模式,调配系统各内部模块协同工作;若干通用数据发送模块,根据所述合并模式选择信息、光纤波束数和模块参数,实现数据不同合并模式、每路光纤按波数出数方式的排列组合,并输出各种组合情形下的帧数据与选通信号;
[0008] 忙闲表管理模块,根据所述处理簇数创建忙闲表;并从忙闲表中读出与处理簇数对应的帧数据与ID号,并将所述帧数据与ID号输出;
[0009] Srio组包模块,根据所述ID号组成Srio包,并根据忙闲表进行帧数据发送;
[0010] Crossbar转Srio发送模块,将Srio组包模块输出的多路帧数据通过Crossbar仲裁选择后输出。
[0011] 所述可配置自适应负载平衡系统的进一步设计在于,合并模式总共为9种,波数取值范围为1~16。
[0012] 所述可配置自适应负载平衡系统的进一步设计在于,外部接口模块采用了一路X4Srio接口。
[0013] 所述可配置自适应负载平衡系统的进一步设计在于,所述忙闲表管理模块采用轮询与忙闲共同作用的机制,当轮询到空闲的处理簇则发出开始信号,通知通用数据发送模块读出一帧数据,并将该簇置忙;当接收到多核处理器发送的清忙门铃,则将对应簇号置闲。
[0014] 所述可配置自适应负载平衡系统的进一步设计在于,其配置包是一个256B的数据包,配置包内容还包括多核处理器映射首地址与多核处理器校验信息。
[0015] 所述可配置自适应负载平衡系统的进一步设计在于,通用数据发送模块为四个,Srio组包模块共有四路,每路对应一个ID号。
[0016] 采用所述的可配置自适应负载平衡系统的可配置自适应负载平衡方法,其特征在于包括如下步骤:
[0017] 1)对系统进行初始化,多核处理器通过Srio接口发送配置包,对配置进行校验,当配置包校验正确时,对配置包进行解析并将解析内容存入一双口Ram中,供其他模块读取参数;若配置包校验错误,则发出配置包校验错误信号,并等待多核处理器发送正确的配置包;
[0018] 2)收到正确的配置信息后,根据配置包解析出的合并模式,配置通用数据发送模块,根据配置包解析出处理簇的簇数N创建忙闲表;
[0019] 3)采用轮询与忙闲相结合的机制管理忙闲表,采用轮询的方式从第1簇到第N簇依次查询当前处理簇是否空闲,若轮询到空闲的处理簇则发出开始信号,通知通用数据发送模块读出一帧数据,并置忙该簇,再从忙闲表中读出该簇对应发送的4个ID号,发送给SRIO组包模块,当接收到多核处理器发送的清忙门铃,将对应簇号置闲,完成负载平衡过程。
[0020] 本发明的优点如下:
[0021] 本发明提供的可配置自适应负载平衡系统及方法,在只有一路Srio接口条件下,该系统及方法通过对资源的重构,可以完成9种不同合并模式下波数为1~16的29个簇的数据分时分发,节省了芯片的面积,并且满足系统实时性的要求。根据系统初始化阶段接收到的配置包内容,该方法可高效率地将系统配置成不同数据合并模式和按波数发送,控制数据分发,将数据通过一路X4Srio发送给多个多核处理器。

附图说明

[0022] 图1是可配置自适应负载平衡系统总体工作流程。
[0023] 图2是可配置自适应负载平衡系统的模块示意图。
[0024] 图3是通用数据选择模块的结构框图。

具体实施方式

[0025] 下面结合附图对本发明方案进行详细说明。
[0026] 本实施例的可配置自适应负载平衡系统如图2所示,主要由配置包解析模块、忙闲表管理模块、通用数据发送模块、Srio组包模块、Crossbar转Srio发送模块以及外部接口模块组成。其中,外部接口模块,接收所述配置包,并向多个多核处理器发送数据。配置包解析模块,根据所述配置包解析出合并模式选择信息、光纤波束数、处理簇数以及模块参数,以配置整个系统的工作模式,调配系统各内部模块协同工作。通用数据发送模块,根据所述合并模式选择信息、光纤波束数和模块参数,实现数据不同合并模式、每路光纤按波数出数方式的排列组合,并输出各种组合情形下的帧数据与选通信号。忙闲表管理模块,根据所述处理簇数创建忙闲表;并从忙闲表中读出与处理簇数对应的帧数据与ID号,并将所述帧数据与ID号输出。Srio组包模块,根据所述ID号组成Srio包,并根据忙闲表进行帧数据发送。Crossbar转Srio发送模块,将Srio组包模块输出的多路帧数据通过Crossbar仲裁选择后输出。
[0027] 本发明提供的可配置自适应负载平衡系统,其配置包解析模块在收到主多核处理器发送过来的配置包后,生成配置包接收信号,并把整个配置包即32个64bit的数据全部存入一双口ram中,配置包信息结构详见表1。若配置包内解出的校验和与实际校验相等,则认为校验成功,校验成功后发送模式字和波数给下一模块。如果校验不成功,则等待多核处理器再次发送一次配置包。不管校验结果如何,都会产生一次校验情况信号,以不同的参数代表不同的校验结果。配置包校验成功后会产生一个1clk的完成信号给忙闲表管理模块,表示该模块可以从ram中读取ID号等信息以及接收门铃信息。
[0028]
[0029] 表1
[0030] 本发明提供的可配置自适应负载平衡系统,其忙闲表管理模块采用忙闲+轮询的方式控制数据发送。首先读出配置表中的处理簇数DSP_CLUSTER_NUM(本实施例中最大采用29),根据簇数读出DSP_CLUSTER_NUM个ID0,并将所有ID0寄存在寄存器R_id_00~R_id_280(少于29个簇则其余R_id寄存16’d0),最后读出SRIO目的首址。
[0031] 忙闲操作包括置忙操作和置闲操作,用29位寄存器的0~28位标志第1~29簇的忙闲信息,1表示忙,0表示闲。置忙操作为:开始发送一帧数据到一个簇时,将该簇对应忙闲信息置1;清忙操作为:接收多核处理器每簇ID0发送的清忙门铃,并将门铃的ID与R_id_00~R_id_280比较,比出对应的簇号,将该簇对应忙闲信息置0。轮询操作第一次在配置完成信号后开始,之后在开始发送一帧数据后开始,依次轮询DSP_CLUSTER_NUM个簇的忙闲信息,轮询到某一簇为闲时向该簇发送一帧数据。
[0032] 本发明提供的可配置自适应负载平衡系统,其通用数据选择模块的结构框图如图3所示,主要包含帧长度选择输出和srio数据选择输出两部分。
[0033] 1)帧长度选择输出:首先对ddr发送的长度进行跨时钟域转换,其次根据接收到的合并模式选择输出数据长度。四合一则输出四路光纤数据总长度,四合二输出两路光纤数据总长,四合三输出两路光纤数据总长,四合四输出一路数据长度。
[0034] 2)srio数据选择输出:通过计数,将ddr发送的数据分别存入控制表fifo和数据fifo中。当下一级发往srio组包模块的fifo非满时,先将控制表读出,再在数据部分按光纤顺序读出,根据接收到的合并模式选择是否将该路光纤数据存入srio fifo中。将srio fifo的写使能信号和空信号输出,供下一级模块产生srio fifo读使能信号,将srio fifo中的数据发送给下一级模块。不同合并模式下,通用数据发送模块在图2中的编号对应发送数据的光纤号如表2所示。
[0035]
[0036] 表2
[0037] 本发明提供的可配置自适应负载平衡系统,其组包模块共有4路,每路发送一个ID。由于只有1路Srio,因此用Crossbar对4路Srio信号进行仲裁。不同合并模式下,组包模块在图2中的编号对应配置包中ID即发往从多核处理器的ID如表3所示。
[0038]
[0039] 表3
[0040] 本实施例根据上述可配置自适应负载平衡系统提供一种可配置自适应负载平衡方法,如图1,具体包括如下步骤:
[0041] 1)系统初始化阶段,主多核处理器通过Srio接口发送配置包,配置包内容如表1所示。当配置包校验正确时,对配置包进行解析并将解析内容存入一双口Ram中,供其他模块读取参数。若配置包校验错误,则发出配置包校验错误信号,并等待主多核处理器发送正确的配置包。
[0042] 2)收到正确的配置信息后,根据配置包解析出的合并模式,配置通用数据发送模块,根据配置包解析出的簇数DSP_CLUSTER_NUM创建忙闲表;
[0043] 3)采用轮询+忙闲的机制管理忙闲表,采用轮询的方式从第1簇到第DSP_CLUSTER_NUM簇依次查询是否空闲,若轮询到空闲的簇则发出开始信号,通知通用数据发送模块读出一帧数据,该簇置忙,并从忙闲表中读出该簇对应发送的4个ID号,发送给SRIO组包模块,当接收到多核处理器发送过来的清忙门铃,将对应簇号置闲。
[0044] 本实施例提供的可配置自适应负载平衡系统,在只有一路Srio接口条件下,通过对资源的重构,可以完成9种不同合并模式下波数为1~16的29个簇的数据分时分发,节省了芯片的面积,并且满足系统实时性的要求。
[0045] 以上对本发明提供的一种可配置自适应负载平衡系统及方法进行了详细介绍,以便于理解本发明和其核心思想。对于本领域的一般技术人员,在具体实施时,可根据本发明的核心思想进行多种修改和演绎。综上所述,本说明书不应视为对本发明的限制。