一种基于胖树拓扑的屏障操作网络系统、装置及方法

文档序号:7655940阅读:193来源:国知局
专利名称:一种基于胖树拓扑的屏障操作网络系统、装置及方法
技术领域
本发明涉及多处理机技术领域,特别是涉及一种基于胖树拓扑的屏障(Barrier)操作网络系统、装置及方法。
技术背景多处理机系统是并行处理计算机系统(Parallel Computer System, PCS) 中的一种,由多台能够独立执行自己的程序的独立的计算机组成,多台计算机 的处理器之间互连,实现程序之间的数据交换和同歩。多处理机系统是多指令多数据(Multiple Instruction Multiple Data, MIMD) 处理机系统,每个处理器分配并行程序的一部分,各程序段并发执行处理。但是,在多处理机系统中,各程序段的执行过程中,在程序段之间,在某 些情况下,如程序段之间发生数据相关时,仍需要一定的保序(order)关系, 为了维护这种保序关系,就需要进行处理机之间的同步操作。其中,被广泛应用于多处理机系统中的屏障(Barrier)操作是同步操作中 的一种。屏障操作是并行程序的同步点,并行程序要等待所有参与其中的处理 器都到达这个同步点后,才执行后续操作。屏障操作分为两个过程, 一个是屏障到达通知,另一个是屏障完成通知。屏障到达通知是处理器通知系统,本处理器到达屏障同步点的过程。在树 形屏障算法中,这一过程具有逐级归约的特征,也被称为归约(Reduce)过程;屏障完成通知是系统通知处理机,系统已到达屏障同步点的过程。在树形 屏障算法中,这一过程具有逐级分发的特征,也被称为分发(Distribute)过程。屏障到达通知过程的时间依赖于最晚到达同步点的处理机,而屏障完成通 知过程则依赖于具体的屏障实现。屏障操作是并行程序中的串行部分,如果能够縮减屏障操作过程,则可以 达到优化屏障操作和并行程序性能的目的。由于同步处理操作涉及多个处理机,因此,屏障操作也涉及到处理机间的
互联问题。现有技术中,有两种实现技术, 一种是使用处理机间的数据互联网 络,另一种是使用屏障专用互联网络。美国专利US006216174B1公开了一种快速屏障电路实现的系统和方法, 其在处理器中设置一个屏障(barrier)位,并引出两根信号线, 一根用于屏障 (Barrier)到达通知, 一根用于屏障(Barrier)完成通知。其通过专用硬件实 现全局Barrier位的与操作,从而完成屏障操作过程。但由于为屏障操作设置一套专用互联网络需要额外的网络部件,并需单独 布线,成本较高,因此,得不到很好的应用。而采用处理机间的数据互联网络 实现的屏障操作,在数据网络部件中增加对屏障的支持,是一种性价比较高的 实现技术。美国专利US005365228A公开了一种多级网络中屏障操作实现,其通过改 造数据互联网络,实现屏障操作,通过优先级设置,每次只有优先级最高的屏 障操作得以在网络中执行。但是通过数据互联网络实现屏障操作, 一旦屏障(Barrier)数据包出错轻 则影响屏障操作的性能,重则导致程序运行的崩溃,因此需要保障其可靠性。同时,屏障操作在任何环境下都需要保持较高的执行效率,因此通过数据 互联网络实现屏障操作,也需要保障其效率,即低延迟性。而现有技术在保证其可靠性的同时,无法实现效率即低延迟性的最优化, 也就无法达到功能和性能的双重保证。发明内容本发明的目的在于提供一种基于胖树拓扑的屏障(Barrier)操作网络系统、 装置及方法。其保证了网络传输的可靠性,提高了网络传输的效率即低延迟性, 达到功能和性能的双重保证。为实现本发明目的而提供的一种基于胖树拓扑的屏障操作网络系统,其包 括在多处理机系统的数据互联网络中,使用交换机节点作为屏障树的根,处理 机节点作为屏障树的叶子。所述交换机节点包括屏障模块,用于在归约和分发的过程中。在可靠性保 障方面,对收取屏障归约包过程采用应答方式,对收取屏障分发包过程采用催 促方式。
所述屏障模块还用于通过单比特标识的方式,区分多次屏障操作。 所述屏障模块还用于通过出错率统计,获取当前交换机的链路出错率,自动对超时重传参数进行调整。所述屏障模块包括组配置模块,屏障状态机,屏障包分组模块,超时计数模块,其中所述组配置模块包括叶子配置寄存器和父端口配置寄存器,用于确定屏障 组中节点间的互联关系;所述屏障包分组模块用于将包按照屏障组号进行分类,以及将每个组的屏 障包翻译为各类事件;所述屏障状态机包括多个组状态机,以及调度状态机;所述超时计数模块,用于控制重传及催促事件的产生。 所述组状态机对属于本组的屏障数据包进行处理,各组产生的屏障数据包经过调度状态机调度后发至下一级节点;所述组状态机包括屏障归约状态寄存器,该归约状态寄存器用来记录屏障 操作过程中的各种状态信息;该组状态机还包括屏障完成状态位,该状态位记录了屏障分发操作的完成 状态。所述屏障模块还包括链路状态监测模块,用于动态获取链路状态信息,并 根据链路状态信息,动态设置重传及催促超时阈值,供超时计数模块使用。为实现本发明目的还提供一种交换机,用于在归约和分发的过程中。在可 靠性保障方面,对收取屏障归约包过程采用应答方式,对收取屏障分发包过程 采用催促方式。所述屏障模块还用于通过单比特标识的方式,区分多次屏障操作。 所述屏障模块还用于通过出错率统计,获取当前交换机的链路出错率,自动对超时重传参数进行调整。所述屏障模块包括组配置模块,屏障状态机,屏障包分组模块,超时计数模块,其中所述组配置模块包括叶子配置寄存器和父端口配置寄存器,用于确定屏障组中节点间的互联关系;所述屏障包分组模块用于将包按照屏障组号进行分类,以及将每个组的屏
障包翻译为各类事件,这些事件包括规约、分发、规约应答和分发催促; 所述屏障状态机包括多个组状态机,以及调度状态机; 所述超时计数模块,用于控制重传及催促事件的产生。 所述屏障模块还包括链路状态监测模块,用于动态获取链路状态信息,并根据链路状态信息,动态设置重传及催促超时阈值,供超时计数模块使用。 为实现本发明目的还进一步提供一种基于胖树拓扑的屏障操作方法,包括下列步骤步骤A,根据胖结拓扑结构对屏障操作系统的屏障树中的交换机节点进行 配置;步骤B,当交换机节点处于空闲状态时,则响应与当前序号不同的催促包, 等待与当前序号相同的屏障归约包;步骤C,在交换机节点接收到与当前屏障序号相同的屏障归约包后,响应 与当前序号相同的屏障归约包,以超时重传的方式,对所有屏障归约包返回响 应包,进行屏障归约;步骤D,当归约过程完成时,则响应与当前序号相同的屏障分发包,接收 屏障分发包的过程采用超时催促的方式,对接收到的屏障分发包进行组播分 发,然后转到步骤B,进入空闲状态。所述歩骤D中,进行屏障分发,还包括下列步骤对屏障完成状态位取反。所述步骤C中,响应与当前序号相同的屏障归约包,以超时重传的方式, 对所有屏障归约包返回响应包,进行屏障归约,包括下列步骤步骤Cl,当收到屏障归约包后,检査屏障归约包中的屏障序号;若与当 前序号一致,则复位相应归约状态寄存器的状态位,转至步骤C2;否则丢弃; 同时,对所有的屏障归约包,回复应答包,应答包中的序号采用屏障归约包中 的序号;步骤C2,归约状态寄存器为全0时,屏障模块发出屏障归约包,并控制 超时计数模块启动应答超时计数,转到步骤S330';否则转至步骤S320';步骤C3,当收到应答包,且应答序号与当前序号一致后,则复位应答超 时计数,完成此次超时动作,转至步骤SC4;如果应答超时计数达到阈值,则 重发屏障归约包;
步骤C4,等待屏障分发包。所述阈值由链路状态监测模块设置。所述链路状态监测模块包括链路状态测试和超时阈值设置,链路状态监测 模块中设置两个计数器, 一个记录出现CRC错误包的个数,初始化为1,另 一个记录所有数据包的个数,两个计数器的比值即出错率 r —Cerror/Ctota"其中,Ce^值不为0。超时阈值Ack—Thres=K/r,其中K为常数。 所述步骤C还包括下列步骤步骤C1',在操作过程中,当端口收到屏障归约包,就将归约状态寄存 器中对应端口的状态位复位,当归约状态寄存器的值为全O时,引发该节点归 约完成事件,将屏障归约包发送至父端口;步骤C2',通过归约状态寄存器中的序号位,区分连续两次屏障操作, 只有与当前序号位相同的屏障归约包才对归约状态寄存器进行修改。所述步骤D中,响应与当前序号相同的屏障分发包,对屏障完成状态位 取反,采用超时催促的方式,进行屏障分发的过程,包括下列步骤步骤D1,完成归约过程的交换机节点,在启动应答超时计数的同时,启 动屏障分发包超时催促计数;在催促计数达到阈值后,若还未收到屏障分发包, 则向父端口发出分发催促包,催促父节点进行屏障分发包的发送;步骤D2,如果是根节点,则在完成屏障归约过程后,节点的屏障模块使 用当前屏障序号位填充屏障分发包,转至步骤D3;如果不是根节点,则在收 到屏障分发包,且分发包中序号与当前序号位相同时,转至步骤D3;步骤D3,节点的屏障模块向叶子配置寄存器中的有效端口发送屏障分发 包,并置位屏障完成状态位为1,转至步骤D4;步骤D4,如果收到屏障催促包,若屏障完成状态位为1,且催促包的序 号位与当前屏障序号不同,则节点的屏障模块重发屏障分发包,用屏障序号位取反后的值填充重发的屏障分发包。所述阈值由链路状态监测模块设置。链路状态监测模块的功能包括链路状态测试和催促阈值设置,链路状态监 测模块中设置两个计数器, 一个记录出现CRC错误包的个数,初始化为1,
另一个记录所有数据包的个数,两个计数器的比值即为出错率F —Cerror/Ctotal; 其中,Ce,值不为0。其中,催促阈值Dun—Thres= (K, XL) /r,其中K,为常数,L是节点在 屏障树中的层数。所述步骤D还包括下列步骤步骤D1',判断如果为根节点,则当完成屏障归约过程时,向叶子配置 寄存器中的有效端口发送屏障分发包,屏障分发包使用当前的屏障序号位标 识,同时置位屏障完成状态位;步骤D2',如果不是根节点,则从父端口收到一个屏障分发包后,节点 的屏障模块就置位屏障完成状态位,并向叶子端口转发该屏障分发包。所述步骤A可以包括下列步骤步骤SllO,通过配置交换机中组配置模块中的叶子配置寄存器和父端口 配置寄存器,确定一个屏障组中节点间互联关系;步骤S120,使用组配置模块中叶子配置寄存器的值,设置屏障状态寄存 器的初始值;步骤S130,在进行屏障操作前复位屏障完成状态位。本发明的有效效果是:本发明基于胖树拓扑的屏障(Barrier)操作网络系 统、装置及方法应用于多处理机系统中,与链路状态相关联,基于超时重传机 制,高效可靠,无需干预。其中屏障操作网络系统采用树形拓扑,屏障树的结 构可配置,其实现与链路状态相关的高效可靠屏障操作网络系统,与数据互联 网络共享物理链路;縮短处理机节点与屏障树根节点之间的通讯路径,降低屏 障包的传输延迟;其支持并发的多个屏障操作,不同操作对应不同的屏障树, 其中树形结构信息,由设置在交换机和处理机中的寄存器存储,该信息可进行 配置,实现树形结构的动态调整。并使其可靠性与链路状态相关,即根据当前 交换机的链路出错率,自动对超时重传参数进行调整,减少超时重传包对网络 的影响,提高出错恢复的效率。


图1为本发明基于胖树拓扑的屏障(Barrier)操作网络系统结构示意图2为本发明交换机节点结构示意图;图3为图2中屏障(Barrier)模块结构示意图; 图4A为叶子配置寄存器示意图; 图4B为父端口配置寄存器示意图; 图4C为屏障(Barrier)归约状态寄存器示意图; 图4D为屏障(Barrier)完成状态位示意图;图5为本发明基于胖树拓扑的屏障(Barrier)操作方法过程流程图;图6为屏障(Barrier)归约过程流程图;图7为屏障(Barrier)分发过程流程图;图8为屏障(Barrier)链路状态监测模块工作过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明的一种基于胖树拓扑的屏障(Barrier)操作网络系统、装置及 方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释 本发明,并不用于限定本发明。本发明基于胖树拓扑的屏障操作网络系统、装置及方法,核心是实现与链 路状态相关的高效可靠屏障操作,其基于胖树(Fat-Tree)拓扑结构,采用树 形结构,使用交换机作为屏障(Barrier)树的根,处理机节点12作为屏障树 的叶子,并支持并发的多个屏障操作,不同操作对应不同的屏障树,其中树形 结构信息,由设置在交换机和处理机中的寄存器存储,可进行配置。胖树(Fat-Tree)结构是一种被广泛应用在多处理机系统中的数据互联网 络的拓扑结构。胖树(Fat-Tree)结构是一种树形结构。在胖树(Fat-Tree)结 构中,处理机节点12位于树的叶子,树的根及中间节点由交换机组成。一般地,屏障操作会面临两类可靠性问题1)是屏障包丢失;2)是连续 两次屏障操作混杂。不同的可靠性方法会影响到屏障操作的性能,因此,对屏障操作而言,需 要一种高效的可靠性方法来保证屏障操作。通讯链路信号质量和热噪声导致第一类问题出现,对于这类问题,检错和 纠错的时机非常关键,直接影响到操作的性能,如何选择检错和纠错的时机是 迫切需要解决的问题。而且,由于第一类问题中错误的产生概率随着链路的不 同而不同,不同信号质量的链路应配以不同的可靠性方法,而现有技术中可靠 性实现与链路状态无关,无法达到性能的最大化。本发明的屏障网络对第一类可靠性问题采用点对点的超时重传方法对于屏障归约过程,采用应答方式,即收到屏障(Barrier)归约包的节点, 要回送屏障(Barrier)应答包,在设定时间内没有收到屏障应答包的节点,则 重传屏障归约包;对于屏障分发阶段,采用催促方式,即发出屏障归约包的节点,在设定时 间内没有收到屏障(Barrier)分发包,则发出屏障(Barrier)催促包,催促屏 障分发包的到来。较佳地,屏障应答包和屏障催促包只存在于相邻两级节点之间。对于第二类问题,是由于处理机完成屏障具有异歩性,即连续两次屏障操 作可能同时存在于系统中,重传数据包的可靠性机制会激化这类问题的出现, 对于该第二类问题,如何有效区分连续两次屏障操作也是迫切需要解决的问 题。本发明的屏障网络对第二类可靠性问题,采用单比特标识的方法识别。由 于屏障的阻塞性语义,对于一个应用,最多有连续的两次屏障操作存在,因此 采用单比特进行标识是较优的方法,能够有效地解决第二类问题。更佳地,本发明的屏障网络的可靠性还与链路状态有关,其在交换机中增 加出错率统计功能,根据当前交换机的链路出错率,自动对超时重传参数进行 调整。当链路状态好时,增大超时重传参数,减少超时重传包对网络的影响;反 之减小超时重传参数,提高出错恢复的效率。如图1所示,为本发明的基于胖树拓扑的屏障操作网络系统示意图,该屏 障操作网络系统包含在多处理机系统的数据互联网络中,使用胖树(Fat-Tree) 拓扑结构,使用交换机节点11作为屏障树的根,处理机节点12作为屏障树的 叶子,即交换机位于树的中间节点,处理机节点12为树的叶子。 一棵屏障树
即参与同一屏障操作的网络部件集合, 一棵屏障树即一个屏障组。多个屏障组 同时存在于屏障操作网络系统中。所述屏障树的结构信息,由设置在交换机和处理机中的寄存器存储,可进 行配置。如图2所示,为本发明基于胖树拓扑的屏障操作网络系统中交换机结构示 意图,交换机的输入输出端口由多个虚通道组成,虚通道包括数据虚通道(VCFIFO) 23和屏障虚通道(Barrier FIFO) 25。数据虚通道23中传输的数据包 由数据交叉开关(未示出)负责交换调度;屏障(Barrier)虚通道25中的屏 障(Barrier)数据包由屏障模块21处理。所述屏障数据包,如图4E所示,其中,VC:屏障虚通道号Type:屏障包类型,3位,现有4种包类型,分别为OOl-归约包;010-分发包;100-归约响应包;110-分发催促包。Seq:屏障操作的序号,lbit,用以区分连续两次屏障操作,初始值为0。 Barrier ID:指示当前屏障操作所在的组(Barrier Group)。 BPCRC:屏障包的CRC校验码。首先由端口接收模块22按照虚通道号进行包分类,屏障数据包被缓存入 屏障(Barrier)输入缓冲区中,屏障模块21将屏障缓冲区的屏障数据包处理 后,产生新的屏障数据包,新产生的屏障数据包被缓存到屏障输出缓冲区中。 对于各个输出缓冲区中的数据,端口发送模块24负责调度,屏障输出缓冲区 具有最高的调度优先级。本发明的屏障模块21,用于在归约和分发的过程中,对收到的屏障归约 包采用应答方式,对发出的屏障归约包,采用催促方式,保证屏障操作的可靠 性。较佳地,所述屏障模块21还用于通过单比特标识的方式,区分不同的屏 障操作。更佳地,所述屏障模块21还用于通过出错率统计,根据当前交换机的链 路出错率,自动对超时重传参数进行调整。图2中屏障模块21的详细结构如图3所示,包括组配置模块31,屏障状
态机32,屏障包分组模块33,超时计数模块34,以及链路状态监测模块35。所述组配置模块31包括叶子配置寄存器和父端口配置寄存器,用于确定 屏障组中节点间的互联关系。交换机的每个端口在组配置模块31中的叶子配置寄存器中有一比特的映 射,当叶子配置寄存器高电平时有效,低电压时无效。如图4A所示,叶子配 置寄存器的值代表着0-2号端口是1号屏障组节点的叶子端口。组配置模块31中的父端口配置寄存器,用端口号标识父端口。父端口寄存器中设置根(Root)位,用于标识当前节点是否是整个屏障组 的根;复位(Reset)位,用于复位屏障操作。如图4B所示,为父端口配置寄存器表示端口 3是0号屏障组中该节点的 父端口,且该节点不是整个屏障组的根。屏障包分组模块33用于将包按照屏障组号进行分类,以及将每个组的屏 障包翻译为各类事件,包括归约事件、分发事件、重传事件和催促事件。屏障状态机32包括第一组状态机321,第二组状态机321,……,第N-1 组状态机321,以及调度状态机322。 .组状态机321对属于本组的屏障数据包进行处理。各组产生的屏障数据包 经过调度状态机322调度后发至下一级节点。所述组状态机321包括屏障归约状态寄存器,该归约状态寄存器用来记录 屏障操作过程中的各种状态信息。如图4C所示,为屏障(Barrier)归约状态寄存器,其每一位代表着各叶 子端口的屏障归约状态。该屏障归约状态寄存器中还包括一个序号位(Seq), 用于区分连续两次屏障操作。该组状态机321还包括屏障(Barrier)完成状态位,如图4D所示,该状 态位记录了屏障分发操作的完成状态。超时计数模块34,用于控制重传及催促事件的产生。链路状态监测模块35,用于动态获取链路状态信息,并根据链路状态信 息,动态设置重传及催促超时阈值,供超时计数模块34使用。进行屏障操作之前,先由组配置模块31建立屏障树形结构,供后续操作 使用。
操作进行时,屏障包分组模块33从屏障输入缓冲区中读取屏障数据包, 将这些包按照组号分离,并翻译为各类事件,包括归约事件、分发事件、重传事件和催促事件,供屏障组状态机321使用。针对获取的各类事件,屏障组状态机321产生不同的屏障数据包进行响应。各组产生的屏障数据包通过调度状态机322送往相应的屏障输出缓冲区。 其中屏障组状态机321涉及基于重传可靠性机制的实现,由超时计数模块34 和链路状态监测模块35的配合,以达到保证可靠性机制最佳性能的目的。本发明的基于胖树拓扑的屏障操作网络系统,实现了处理机节点12位于 树的叶子,树的根及中间节点由交换机组成,本发明由于胖树(Fat-Tree)拓 扑结构下,所有的处理机通过交换机互连,因此,交换机处于处理机通讯路径 中的中间位置,选择交换机可以获得最短的通讯路径,克服了现有选择处理机 节点12作为屏障树的根,导致通讯延迟增加的缺陷。本发明通过基于以太网的管理网络实现了管理配置功能,简化了屏障协 议。克服了现有的基于胖树(Fat-Tree)拓扑的互联网络,选用交换机作为屏 障树的根,需要让交换机实现更多的屏障协议,增加复杂的管理配置功能,大 大增加了交换机的实现复杂度的缺陷。下面详细说明本发明的基于胖树拓扑的屏障(Barrier)操作方法,如图5 所示,包括下列步骤步骤S100,配置过程。本发明中,首先根据胖结拓扑结构对屏障操作系 统的屏障树中的交换机节点11进行配置;步骤S110,通过配置交换机中组配置模块31中的叶子配置寄存器和父端 口配置寄存器,确定一个屏障组中节点间互联关系。交换机的每个端口在组配置模块31中的叶子配置寄存器中有一比特的映 射,叶子配置寄存器高电平时有效,低电平时无效。如图4A所示,叶子配置 寄存器的值代表着0~2号端口是1号屏障组节点的叶子端口 。组配置模块31中的父端口配置寄存器,用端口号标识父端口。父端口寄存器中设置根(Root)位,用于标识当前节点是否为整个屏障组 的根;复位(Reset)位,用于复位屏障操作。
如图4B所示,父端口配置寄存器表示端口 3是0号屏障组中该节点的父 端口,且该节点不是整个屏障组的根。步骤S120,使用组配置模块31中叶子配置寄存器的值,设置屏障状态寄存器的初始值;步骤S130,在进行屏障操作前复位屏障完成状态位=0。歩骤S200,当交换机节点11处于空闲状态时,则交换机节点11的屏障 模块21响应与当前序号不同的催促包,等待与当前序号相同的屏障归约包, 并丢弃其它包;歩骤S300,在交换机节点11接收到与当前屏障序号相同的屏障归约包后, 响应与当前序号不同的催促包,并响应与当前序号相同的屏障归约包,丢弃其 它包,以超时重传的方式,对所有屏障归约包返回响应包,进行屏障归约;步骤S400,当屏障模块21中的屏障归约状态寄存器中的值为全O,即归 约过程完成时,则节点的屏障模块21响应与当前序号相同的屏障分发包,对 屏障完成状态位取反,采用超时催促的方式,进行屏障分发,然后转到步骤 S200,进入空闲状态。如图6所示,下面详细说明本发明的步骤S300中,响应与当前序号相同 的屏障归约包,以超时重传的方式,对所有屏障归约包返回响应包,进行屏障 归约的过程。本发明实施例中,只对一个交换机节点11内部,并针对一个屏障组进行 说明,但其同样可以适用于整个屏障操作网络。 归约过程中出现可靠性问题1) 收到出错的屏障归约包;2) 发送的屏障归约包出错;3) 收到上一次屏障操作的屏障归约包。本发明通过可配置的出错重传机制,以及序号位标识方法,对上述错误进 行处理,保证屏障操作的正确进行,如图5B所示,具体说明如下在操作过程中,当端口O收到一个屏障归约包,就将归约状态寄存器中对 应O号端口的状态位复位,当归约状态寄存器的值为全O时,引发该节点归约
完成事件,将屏障归约包发送至父端口。归约状态寄存器中的序号位,区分连续两次屏障操作,只有与当前序号位 相同的屏障归约包才对归约状态寄存器进行修改。在归约过程中,还包括如下步骤,保证归约的可靠性歩骤S310',当收到屏障归约包后,屏障模块21检査屏障归约包中的屏障序号;若与当前序号一致,则复位相应归约状态寄存器的状态位,转至步骤 S320';否则丢弃;同时,对所有的屏障归约包,屏障模块21都回复应答(ACK) 包,应答(ACK)包中的序号采用屏障归约包中的序号;歩骤S320',归约状态寄存器为全O时,屏障模块21发出屏障归约包, 并控制超时计数模块34启动应答(ACK)超时计数,转到步骤S330';否则 转至歩骤S320';歩骤S330',当收到应答(ACK)包,且应答(ACK)序号与当前序号 一致后,则屏障模块21复位应答(ACK)超时计数,完成此次超时动作,转 至步骤S340';如果应答(ACK)超时计数达到阈值,则重发屏障归约包;较佳地,在歩骤S330'中,设置超时重传的阈值时,该阈值由链路状态 监测模块35设置。如图8所示,链路状态监测模块35的功能包括链路状态测 试和超时阈值设置,链路状态监测模块35中设置两个计数器, 一个记录出现 CRC错误包的个数,初始化为l,另一个记录所有数据包的个数,两个计数器 的比值即出错率f —Cerror/Ctotal ^ 其中,Ce^值不为0。超时阈值Ack—Thres=K/r,其中K为常数。因此,出错率r越高,阈值越小,重传越频繁;反之出错率r越低,阈值 越大,重传越少。对于出错率高的链路,及时重传会提高系统的效率,但过于频繁,重传包 会干扰正常的数据传输和屏障操作;对于出错率低的链路,尽量减少重传,最 大限度减少重传干扰,但超时过长,又会降低出错时的屏障执行效率。根据超时阈值的动态设置,确定重传发生的最佳时机,才能达到出错恢复 的最佳性能。为了达到及时重传和减少重传干扰两方面的平衡,较佳地,根据经验值,
设置K^2XRTT,其中,RRT为往返时延(Round-Trip Time)。 步骤S340',等待屏障分发包。如图7所示,下面进一步详细描述步骤S400中,节点的屏障模块21响应 与当前序号相同的屏障分发包,对屏障完成状态位取反,采用超时催促的方式, 进行屏障分发的过程。本发明实施例中,分发过程的也只对一个节点内部进行说明,但其同样适 用于整个屏障网络。步骤S410,判断如果为根节点(Root),即Root位4,则当完成屏障归 约过程时,根节点的屏障模块21向叶子配置寄存器中的有效端口发送屏障分 发包,屏障分发包使用当前的屏障序号位标识,同时置位屏障完成状态位;步骤S420,如果不是根节点(Root),则从父端口收到一个屏障分发包 后,节点的屏障模块21就置位屏障完成状态位,并向叶子端口转发该屏障分 发包。在分发过程中,还包括如下步骤,保证分发的可靠性步骤S410',完成归约过程的交换机节点11,在启动应答(ACK)超时 计数的同时,交换机节点11的屏障模块21中的超时计数模块34启动屏障分 发包超时催促计数,催促计数使用与归约过程中应答(ACK)超时不同的超时 催促阈值;在催促计数达到阈值后,若还未收到屏障分发包,则向父端口发出分发催 促包,催促父节点进行屏障分发包的发送;较佳地,在步骤S410'中,需要设置超时催促阈值,该阈值由链路状态 监测模块35设置,如图8所示,链路状态监测模块35的功能包括链路状态测 试和催促阈值设置,链路状态监测模块35中设置两个计数器, 一个记录出现 CRC错误包的个数,初始化为l,另一个记录所有数据包的个数,两个计数器 的比值即为出错率r —Cerror/CtotaM 其中,Ce^值不为0。其中,催促阈值Dun—Thres二 (K, XL) /r,其中K'为常数,L是节点在 屏障树中的层数。出错率r越高,阈值越小,催促越频繁;反之出错率r越低,阈值越大,催促越稀疏;随着树形结构,自底向上,催促频率逐渐增大。对于出错率高的链路,及时催促会提高系统的效率,但过于频繁,催促包会干扰正常的数据传输和屏障操作。因此,对于出错率低的链路,尽量减少催促,最大限度减少催促千扰,但超时过长,又会降低出错时的屏障执行效率。 根据超时阈值的动态设置,确定催促发生的最佳时机,才能达到出错恢复的最佳性能。为了达到及时催促和减少催促干扰两方面的平衡,较佳地,根据经验值,设置K, =4XRTT。歩骤S420',如果是根节点(Root),则在完成屏障归约过程后,节点 的屏障模块21使用当前屏障序号位填充屏障分发包,转至步骤S430';如 果不是根节点,则在收到屏障分发包,且分发包中序号与当前序号位相同时, 转至步骤S430';步骤S430',节点的屏障模块21向叶子配置寄存器中的有效端口发送屏 障分发包,并置位屏障完成状态位为1,转至步骤S440';步骤S440',如果收到屏障催促包,若屏障完成状态位为1,且催促包的 序号位与当前屏障序号不同,则节点的屏障模块21重发屏障分发包,用屏障 序号位取反后的值填充重发的屏障分发包。在本发明中,综合归约和分发两个过程,实现屏障操作,使用三个状态即 可实现本发明,大大简化了逻辑设计。本发明可采用硬件描述语言(Hardware Description Language HDL)编写、 综合、仿真、调试后下载到现场可编程门阵列(Field Programmable Gate Array , FPGA)器件或者专用集成电路内,即可实现所需的片上系统芯片。或者各功 能模块也可用专用集成电路(Application Specific Intergrated Circuits , ASIC ) 来实现。以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只 是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行 解释。
权利要求
1、一种基于胖树拓扑的屏障操作网络系统,其包括在多处理机系统的数据互联网络中,其特征在于,使用交换机节点作为屏障树的根,处理机节点作为屏障树的叶子。
2、 根据权利要求1所述的屏障操作网络系统,其特征在于,所述交换机节点包括屏障模块,用于在归约和分发的过程中,对收取屏障归约包过程采用 应答方式,对收取屏障分发包过程采用催促方式,保证屏障操作的可靠性。
3、 根据权利要求2所述的屏障操作网络系统,其特征在于,所述屏障模 块还用于通过单比特标识的方式,区分多次屏障操作。
4、 根据权利要求2或3所述的屏障操作网络系统,其特征在于,所述屏 障模块还用于通过出错率统计,获取当前交换机的链路出错率,自动对超时重 传参数进行调整。
5、 根据权利要求2或3所述的屏障操作网络系统,其特征在于,所述屏 瞎模块包括组配置模块,屏障状态机,屏障包分组模块,超时计数模块,其中所述组配置模块包括叶子配置寄存器和父端口配置寄存器,用于确定屏障 组中节点间的互联关系;所述屏障包分组模块用于将包按照屏障组号进行分类,以及将每个组的屏 障包翻译为各类事件;所述屏障状态机包括多个组状态机,以及调度状态机;所述超时计数模块,用于控制重传及催促事件的产生。
6、 根据权利要求5所述的屏障操作网络系统,其特征在于,所述组状态 机对属于本组的屏障数据包进行处理,各组产生的屏障数据包经过调度状态机 调度后发至下一级节点;所述组状态机包括屏障归约状态寄存器,该归约状态寄存器用来记录屏障 操作过程中的各种状态信息;该组状态机还包括屏障完成状态位,该状态位记录了屏障分发操作的完成 状态。
7、 根据权利要求5所述的屏障操作网络系统,其特征在于,所述屏障模 块还包括链路状态监测模块,用于动态获取链路状态信息,并根据链路状态信 息,动态设置重传及催促超时阈值,供超时计数模块使用。
8、 一种交换机,其特征在于,包括屏障模块,用于在归约和分发的过禾呈 中,在可靠性保障方面,对收取屏障归约包过程采用应答方式,对收取屏障分 发包过程采用催促方式。
9、 根据权利要求8所述的交换机,其特征在于,所述屏障模块还用于通 过单比特标识的方式,区分多次屏障操作。
10、 根据权利要求9所述的交换机,其特征在于,所述屏障模块还用于通过出错率统计,获取当前交换机的链路出错率,自动对超时重传参数进行调整。
11、 根据权利要求8或9所述的交换机,其特征在于,所述屏障模块包括组配置模块,屏障状态机,屏障包分组模块,超时计数模块,其中所述组配置模块包括叶子配置寄存器和父端口配置寄存器,用于确定屏障组中节点间的互联关系;所述屏障包分组模块用于将包按照屏障组号进行分类,以及将每个组的屏障包翻译为各类事件;所述事件包括归约、分发、归约应答和分发催促事件; 所述屏障状态机包括多个组状态机,以及调度状态机; 所述超时计数模块,用于控制重传及催促事件的产生。
12、 根据权利要求11所述的交换机,所述屏障模块还包括链路状态监测 模块,用于动态获取链路状态信息,并根据链路状态信息,动态设置重传及催 促超时阈值,供超时计数模块使用。
13、 一种基于胖树拓扑的屏障操作方法,其特征在于,包括下列步骤步骤A,根据胖结拓扑结构对屏障操作系统的屏障树中的交换机节点进行 配置;步骤B,当交换机节点处于空闲状态时,则响应与当前序号不同的催促包, 等待与当前序号相同的屏障归约包;步骤C,在交换机节点接收到与当前屏障序号相同的屏障归约包后,响应 与当前序号相同的屏障归约包,以超时重传的方式,对所有屏障归约包返回响 应包,进行屏障归约;步骤D,当归约过程完成时,则响应与当前序号相同的屏障分发包,接收 屏障分发包的过程采用超时催促的方式,对接收到的屏障分发包进行组播分 发,然后转到步骤B,进入空闲状态。
14、 根据权利要求13所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述步骤D中,进行屏障分发,还包括下列步骤对屏障完成状态位取反。
15、 根据权利要求13或14所述的基于胖树拓扑的屏障操作方法,其特征 在于,所述步骤c中,响应与当前序号相同的屏障归约包,以超时重传的方式,对所有屏障归约包返回响应包,进行屏障归约,包括下列歩骤步骤Cl,当收到屏障归约包后,检査屏障归约包中的屏障序号;若与当 前序号一致,则复位相应归约状态寄存器的状态位,转至歩骤C2;否则丢弃; 同时,对所有的屏障归约包,回复应答包,应答包中的序号采用屏障归约包中 的序号;步骤C2,归约状态寄存器为全0时,屏障模块发出屏障归约包,并控制 超时计数模块启动应答超时计数,转到步骤S330';否则转至步骤S320';步骤C3,当收到应答包,且应答序号与当前序号一致后,则复位应答超 时计数,完成此次超时动作,转至步骤SC4;如果应答超时计数达到阈值,则 重发屏障归约包;步骤C4,等待屏障分发包。
16、 根据权利要求15所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述阈值由链路状态监测模块设置。
17、 根据权利要求16所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述链路状态监测模块包括链路状态测试和超时阈值设置,链路状态监测模块 中设置两个计数器, 一个记录出现CRC错误包的个数,初始化为1,另一个 记录所有数据包的个数,两个计数器的比值即出错率I" —Cerror/Ctotal 其中,Ce^值不为0。超时阈值Ack—Thres=K/r,其中K为常数。
18、 根据权利要求15所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述步骤C还包括下列步骤步骤C1',在操作过程中,当端口收到屏障归约包,就将归约状态寄存 器中对应端口的状态位复位,当归约状态寄存器的值为全O时,引发该节点归 约完成事件,将屏障归约包发送至父端口; 歩骤C2',通过归约状态寄存器中的序号位,区分连续两次屏障操作, 只有与当前序号位相同的屏障归约包才对归约状态寄存器进fiM彦改。
19、 根据权利要求14所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述步骤D中,响应与当前序号相同的屏障分发包,对屏障完成状态位取反,采用超时催促的方式,进行屏障分发的过程,包括下列步骤歩骤D1,完成归约过程的交换机节点,在启动应答超时计数的同时,启 动屏障分发包超时催促计数;在催促计数达到阈值后,若还未收到屏障分发包, 则向父端口发出分发催促包,催促父节点进行屏障分发包的发送;步骤D2,如果是根节点,则在完成屏障归约过程后,节点的屏障模块使 用当前屏障序号位填充屏障分发包,转至步骤D3;如果不是根节点,则在收 到屏障分发包,且分发包中序号与当前序号位相同时,转至步骤D3;步骤D3,节点的屏障模块向叶子配置寄存器中的有效端口发送屏障分发 包,并置位屏障完成状态位为1,转至步骤D4;步骤D4,如果收到屏障催促包,若屏障完成状态位为1,且催促包的序 号位与当前屏障序号不同,则节点的屏障模块重发屏障分发包,用屏障序号位 取反后的值填充重发的屏障分发包。
20、 根据权利要求19所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述阈值由链路状态监测模块设置。
21、 根据权利要求20所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述链路状态监测模块的功能包括链路状态测试和催促阈值设置,链路状态监 测模块中设置两个计数器, 一个记录出现CRC错误包的个数,初始化为1, 另一个记录所有数据包的个数,两个计数器的比值即为出错率<formula>formula see original document page 5</formula> 其中,Ce^值不为0。其中,催促阈值Dun—Thres= (K, XL) /r,其中K,为常数,L是节点在 屏障树中的层数。
22、 根据权利要求19所述的基于胖树拓扑的屏障操作方法,其特征在于, 所述步骤D还包括下列步骤步骤D1',判断如果为根节点,则当完成屏障归约过程时,向叶子配置 寄存器中的有效端口发送屏障分发包,屏障分发包使用当前的屏障序号位标 识,同时置位屏障完成状态位;步骤D2',如果不是根节点,则从父端口收到一个屏障分发包后,节点 的屏障模块就置位屏障完成状态位,并向叶子端口转发该屏障分发包。
23、根据权利要求13或14所述的基于胖树拓扑的屏障操作方法,其特征在于,所述步骤A包括下列步骤步骤SllO,通过配置交换机中组配置模块中的叶子配置寄存器和父端口 配置寄存器,确定一个屏障组中节点伺互联关系;步骤S120,使用组配置模块中叶子配置寄存器的值,设置屏障状态寄存 器的初始值;步骤S130,在进行屏障操作前复位屏障完成状态位。
全文摘要
本发明公开了基于胖树拓扑的屏障(Barrier)操作网络系统、装置及方法。该系统包括在多处理机系统的数据互联网络中,使用交换机节点作为屏障树的根,处理机节点作为屏障树的叶子。交换机节点包括屏障模块,用于归约和分发的过程中。保证屏障操作的可靠性方面,对接收屏障归约包采用应答方式,对接收屏障分发包,采用催促方式。通过单比特标识的方式,对多次屏障操作进行区分。通过出错率统计,获取当前交换机的链路出错率,自动对超时重传参数进行调整。其保证了网络传输的可靠性,提高了网络传输的效率即低延迟性,达到功能和性能的双重保证。
文档编号H04L12/56GK101127677SQ20071012075
公开日2008年2月20日 申请日期2007年8月24日 优先权日2007年8月24日
发明者刘新春, 安学军, 政 曹, 王达伟 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1