1.一种栅障同步方法,其特征在于,包括: 步骤1,配置中间节点的子端口配置寄存器和父端口配置寄存器,以及 根节点的子端口配置寄存器,以确定一棵栅障树中节点间互连关系;中间节 点和根节点均为交换机节点; 步骤2,叶子节点在到达栅障同步点后,向其父节点发送栅障规约包; 叶子节点为计算节点; 步骤3,中间节点接收到其所有的子节点发送的栅障规约包后,向其父 节点发送栅障规约包;根节点在接收到其所有子节点发送的栅障规约包后, 向其子节点发送栅障分发包; 步骤4,中间节点接收到栅障分发包后,向其子节点发送栅障分发包; 叶子节点在接收到栅障分发包后,继续执行子任务代码。
2.如权利要求1所述的栅障同步方法,其特征在于,步骤2中,叶子节 点还启动第一超时计数器,若第一超时计数器超过第一预设时间仍未收到栅 障分发包,则叶子节点向其父节点重发栅障规约包,重置并启动第一超时计 数器;步骤4中,叶子节点收到栅障分发包后,关闭第一超时计数器,并更 新栅障操作序号。
3.如权利要求1所述的栅障同步方法,其特征在于,步骤3中,中间节 点还启动第二超时计数器,若第二超时计数器超过第二预设时间仍未收到栅 障分发包,则中间节点向其父节点重发栅障规约包,重置并启动第二超时计 数器;步骤4中,中间节点收到栅障分发包后,关闭第二超时计数器,并更 新栅障操作序号。
4.如权利要求1所述的栅障同步方法,其特征在于,栅障规约包和栅障 分发包中均包含栅障操作序号、栅障包种类和栅障组号;所述栅障包种类用 于区分栅障规约包和栅障分发包,栅障组号用于标识栅障规约包和栅障分发 包所属的栅障组;栅障操作序号用于区分连续的两次栅障操作。
5.如权利要求4所述的栅障同步方法,其特征在于,中间节点和根节点 均包括一栅障模块;栅障模块包括栅障管理子模块、栅障控制模块、信息重 组模块和栅障调度模块; 栅障管理子模块,用于接收来自管理模块的配置信息并将配置信息写入 栅障组配置寄存器; 栅障控制模块,用于中间节点在接收到所有子节点发送的栅障规约包后, 将栅障规约包发送至其父节点;若所述父节点为根节点,则其在接收到所有 子节点发送的栅障规约包后,将栅障分发包发送至其子节点;若所述父节点 为中间节点,则其在接收到所有子节点发送的栅障规约包后,将栅障规约包 发送至其父节点; 信息重组模块,用于读取栅障规约包和栅障分发包并将其转换为栅障事 件传递给栅障控制模块; 栅障调度模块,用于调度多个栅障组同时对发送端口的请求; 栅障控制模块,依据接收到的栅障事件进行处理。
6.如权利要求5所述的栅障同步方法,其特征在于, 当该栅障事件为接收到与当前栅障操作具有不同序号的栅障规约包时, 栅障控制模块重发包含上一次栅障操作序号的栅障分发包; 当该栅障事件为接收到与当前栅障操作具有相同序号的栅障规约包时, 栅障控制模块记录发送栅障规约包的子节点;当根节点接收到所有子节点发 送的栅障规约包,根节点的栅障控制模块改变栅障操作序号,进入到下一次 栅障同步操作; 当该栅障事件为接收到与当前栅障操作具有相同序号的栅障分发包时, 中间节点的栅障控制模块向其子节点下发栅障分发包,并改变栅障操作序号, 进入到下一次栅障同步操作; 当该栅障事件为接收到与当前栅障操作具有不同序号的栅障分发包时, 中间节点的栅障控制模块不做任何操作。
7.一种栅障同步系统,包括叶子节点、中间节点和根节点,中间节点和 根节点均为交换机节点,叶子节点为计算节点,其特征在于,中间节点还用 于配置其子端口配置寄存器和父端口配置寄存器,根节点还用于配置其子端 口配置寄存器,以确定一棵栅障树中节点间互连关系; 根节点,用于在接收到其所有子节点发送的栅障规约包后,向其子节点 发送栅障分发包; 叶子节点,用于在到达栅障同步点后,向其父节点发送栅障规约包;该 叶子节点接收到栅障分发包后继续执行子任务代码; 中间节点,用于中间节点接收到其所有的子节点发送的栅障规约包后向 该中间节点的父节点发送栅障规约包;中间节点接收到栅障分发包后,向其 子节点发送栅障分发包。
8.如权利要求7所述的栅障同步系统,其特征在于,叶子节点还包括第 一超时计数器,用于在发送栅障规约包后进行计数,在第一超时计数器超过 第一预设时间仍未收到栅障分发包时,叶子节点向其父节点重发栅障规约包, 重置并启动第一超时计数器; 叶子节点,还用于在收到栅障分发包后,关闭第一超时计数器,并更新 栅障操作序号。
9.如权利要求7所述的栅障同步系统,其特征在于,中间节点还包括第 二超时计数器,用于在发送栅障规约包后进行计数,在第二超时计数器超过 第二预设时间仍未收到栅障分发包时,中间节点向其父节点重发栅障规约包, 重置并启动第二超时计数器; 中间节点,还用于在收到栅障分发包后关闭第二超时计数器,并更新栅 障操作序号。
10.如权利要求7所述的栅障同步系统,其特征在于,栅障规约包和栅 障分发包中均包含栅障操作序号、栅障包种类和栅障组号;所述栅障包种类 用于区分栅障规约包和栅障分发包,栅障组号用于标识栅障规约包和栅障分 发包所属的栅障组;栅障操作序号用于区分连续的两次栅障操作。
11.如权利要求10所述的栅障同步系统,其特征在于,中间节点和根节 点均包括一栅障模块;栅障模块包括栅障管理子模块、栅障控制模块、信息 重组模块和栅障调度模块; 栅障管理子模块,用于接收来自管理模块的配置信息并将配置信息写入 栅障组配置寄存器; 栅障控制模块,用于中间节点在接收到所有子节点发送的栅障规约包后, 将栅障规约包发送至其父节点;若所述父节点为根节点,则其在接收到所有 子节点发送的栅障规约包后,将栅障分发包发送至其子节点;若所述父节点 为中间节点,则其在接收到所有子节点发送的栅障规约包后,将栅障规约包 发送至其父节点; 信息重组模块,用于读取栅障规约包和栅障分发包并将其转换为栅障事 件传递给栅障控制模块; 栅障调度模块,用于调度多个栅障组同时对发送端口的请求; 栅障控制模块,依据接收到的栅障事件进行处理。
12.如权利要求11所述的栅障同步系统,其特征在于, 当该栅障事件为接收到与当前栅障操作具有不同序号的栅障规约包时, 栅障控制模块重发包含上一次栅障操作序号的栅障分发包; 当该栅障事件为接收到与当前栅障操作具有相同序号的栅障规约包时, 栅障控制模块记录发送栅障规约包的子节点;当根节点接收到所有子节点发 送的栅障规约包,根节点的栅障控制模块改变栅障操作序号,进入到下一次 栅障同步操作; 当该栅障事件为接收到与当前栅障操作具有相同序号的栅障分发包时, 中间节点的栅障控制模块向其子节点下发栅障分发包,并改变栅障操作序号, 进入到下一次栅障同步操作; 当该栅障事件为接收到与当前栅障操作具有不同序号的栅障分发包时, 中间节点的栅障控制模块不做任何操作。
展开