CN117076937B - 分布式系统的节点训练方法、装置和分布式系统 - Google Patents
分布式系统的节点训练方法、装置和分布式系统 Download PDFInfo
- Publication number
- CN117076937B CN117076937B CN202311336475.3A CN202311336475A CN117076937B CN 117076937 B CN117076937 B CN 117076937B CN 202311336475 A CN202311336475 A CN 202311336475A CN 117076937 B CN117076937 B CN 117076937B
- Authority
- CN
- China
- Prior art keywords
- node
- control node
- target
- data packet
- distributed system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 101
- 230000002159 abnormal effect Effects 0.000 claims description 72
- 238000012545 processing Methods 0.000 claims description 26
- 238000005538 encapsulation Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 239000000523 sample Substances 0.000 claims 7
- 239000000758 substrate Substances 0.000 claims 5
- 230000000694 effects Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000001152 differential interference contrast microscopy Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种分布式系统的节点训练方法、装置和分布式系统,其中,该方法包括:接收第一控制节点发送的第一数据包;使用第一数据包与目标数据包执行目标控制节点的目标训练任务,得到第二数据包;将第二数据包发送至第二控制节点,直至目标控制节点接收到分布式系统中全部控制节点的训练数据,其中,第二控制节点是目标控制节点在逻辑环中的下一个控制节点,分布式系统中全部控制节点的训练数据以及目标数据包被下发至目标节点集合中除目标控制节点之外的其他节点。通过本申请,解决了分布式系统的节点训练效率较低的问题,进而达到了提高分布式系统的节点训练效率的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种分布式系统的节点训练方法、装置和分布式系统。
背景技术
随着单个节点的处理能力无法满足日益增长的计算、存储任务的情况下,分布式系统的出现解决了单个节点的处理能力不足的问题,为了使分布式系统中的每个节点正常工作,一般需要对分布式系统进行节点训练,现有技术中,通过为每个节点分配训练数据,节点再对训练数据执行训练任务实现训练,但是这样的处理方式需要重复为每个节点分配训练数据,节点才能执行训练任务,造成了资源的浪费,并且随着节点数量的增多,分布式系统的节点训练效率却随之降低。
针对相关技术中,分布式系统的节点训练效率较低等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种分布式系统的节点训练方法、装置和分布式系统,以至少解决相关技术中分布式系统的节点训练效率较低的问题。
根据本申请的一个实施例,提供了一种分布式系统的节点训练方法,应用于所述分布式系统中部署的目标控制节点,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M组节点集合依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,所述目标控制节点为每个控制节点,包括:
接收第一控制节点发送的第一数据包,其中,所述第一控制节点是所述目标控制节点在所述逻辑环中的上一个控制节点;
使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务,得到第二数据包,其中,所述目标数据包中携带了所述目标控制节点所在的目标节点集合中全部节点的训练数据;
将所述第二数据包发送至第二控制节点,直至所述目标控制节点接收到所述分布式系统中全部控制节点的训练数据,其中,所述第二控制节点是所述目标控制节点在所述逻辑环中的下一个控制节点,所述分布式系统中全部控制节点的训练数据以及所述目标数据包被下发至所述目标节点集合中除所述目标控制节点之外的其他节点。
在一个示例性实施例中,在所述使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务之前,所述方法还包括:接收所述目标控制节点在所述目标节点集合中的上一个节点发送的参考数据包,其中,所述参考数据包是所述目标节点集合中每个节点的训练数据在所述目标节点集合的目标逻辑链上依次传递和运算并在所述上一个节点上形成的数据包;使用所述参考数据包与所述目标控制节点的目标训练数据执行所述目标训练任务,得到所述目标数据包。
在一个示例性实施例中,在所述接收第一控制节点发送的第一数据包之前,所述方法还包括:检测所述目标节点集合中每个节点的工作状态;在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,向所述分布式系统中的第三控制节点发送第一指示信息,其中,所述第一指示信息用于指示所述目标节点集合处于异常工作状态,所述第三控制节点是所述分布式系统中除所述目标控制节点之外的其他控制节点。
在一个示例性实施例中,在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,所述方法还包括:断开与所述第二控制节点之间的链接。
在一个示例性实施例中,所述接收第一控制节点发送的第一数据包,包括:在检测所述目标节点集合中每个节点的工作状态之后,在所述目标节点集合中的节点的工作状态均为正常工作状态的情况下,接收第一控制节点发送的第一数据包。
在一个示例性实施例中,所述检测所述目标节点集合中每个节点的工作状态,包括:检测所述目标节点集合中每个节点的响应时间;将所述目标节点集合中所述响应时间大于或者等于时间阈值的节点确定为工作状态为异常工作状态的节点。
在一个示例性实施例中,在所述将所述第二数据包发送至第二控制节点之前,所述方法还包括:接收所述分布式系统中的第四控制节点发送的第二指示信息,其中,所述第二指示信息用于指示所述第四控制节点所在的节点集合处于异常工作状态;在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,得到更新后的逻辑环,其中,M条所述逻辑链依次连接得到具有方向的逻辑环。
在一个示例性实施例中,所述将所述第二数据包发送至第二控制节点,包括:在得到更新后的逻辑环之后,将所述第二数据包发送至所述更新后的逻辑环中所述目标控制节点的下一个控制节点。
在一个示例性实施例中,在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,包括:从所述第四控制节点中查找所述第二控制节点;在查找到所述第二控制节点的情况下,从所述第四控制节点中查找所述第二控制节点的下一个控制节点;在未查找到所述第二控制节点的下一个控制节点的情况下,与所述第二控制节点的下一个控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
在一个示例性实施例中,在所述从所述第四控制节点中查找所述第二控制节点的下一个控制节点之后,所述方法还包括:在查找到所述第二控制节点的下一个控制节点的情况下,继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点;在所述候选控制节点不为所述目标控制节点的情况下,与所述候选控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
在一个示例性实施例中,在所述继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点之后,所述方法还包括:在所述候选控制节点为所述目标控制节点的情况下,上报告警信息,其中,所述告警信息用于指示所述目标控制节点所在的逻辑环发生故障。
在一个示例性实施例中,在所述第四控制节点中包括所述第二控制节点的情况下,所述方法还包括:断开与所述第二控制节点之间的链接。
在一个示例性实施例中,所述将所述第二数据包发送至第二控制节点,包括:通过计算快速连接协议的内存协议将所述第二数据包存储至所述分布式系统的服务器主存,得到数据副本;对所述第二数据包进行巨型帧封装处理,得到目标巨型帧;传输所述目标巨型帧至所述第二控制节点。
在一个示例性实施例中,所述对所述第二数据包进行巨型帧封装处理,得到目标巨型帧,包括:将所述第二数据包添加至缓存中;将所述缓存中的数据封装为巨型帧,得到所述目标巨型帧;释放所述缓存。
在一个示例性实施例中,在所述传输所述目标巨型帧至所述第二控制节点之后,所述方法还包括:检测所述目标巨型帧是否发生丢包;在所述目标巨型帧发生丢包的情况下,通过计算快速连接协议的缓存一致性协议从所述服务器主存读取所述数据副本;向所述第二控制节点传输所述数据副本。
在一个示例性实施例中,所述向所述第二控制节点传输所述数据副本,包括:将所述数据副本拆分封装为标准以太网帧;向所述第二控制节点传输所述标准以太网帧。
在一个示例性实施例中,在所述向所述第二控制节点传输所述标准以太网帧之后,所述方法还包括:在所述标准以太网帧传输成功的情况下,检测所述目标控制节点的网络状态;在所述网络状态达到目标网络状态的情况下,对后续数据包恢复所述巨型帧封装处理。
在一个示例性实施例中,在所述接收第一控制节点发送的第一数据包之前,所述方法还包括:根据所述分布式系统中所包括的节点数量确定M和每个节点集合中所包括的节点的数量;按照M和每个节点集合中所包括的节点的数量划分所述分布式系统中所包括的节点,得到所述M组节点集合;建立所述M组节点集合之间的链接,得到所述逻辑环。
根据本申请的另一个实施例,提供了一种分布式系统,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M条所述逻辑链依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,其中,每个控制节点作为目标控制节点,用于执行上述任一项方法实施例中的步骤。
根据本申请的另一个实施例,提供了一种分布式系统的节点训练装置,应用于所述分布式系统中部署的目标控制节点,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M组节点集合依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,所述目标控制节点为每个控制节点,包括:
第一接收模块,用于接收第一控制节点发送的第一数据包,其中,所述第一控制节点是所述目标控制节点在所述逻辑环中的上一个控制节点;
第一执行模块,用于使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务,得到第二数据包,其中,所述目标数据包中携带了所述目标控制节点所在的目标节点集合中全部节点的训练数据;
第一发送模块,用于将所述第二数据包发送至第二控制节点,直至所述目标控制节点接收到所述分布式系统中全部控制节点的训练数据,其中,所述第二控制节点是所述目标控制节点在所述逻辑环中的下一个控制节点,所述分布式系统中全部控制节点的训练数据以及所述目标数据包被下发至所述目标节点集合中除所述目标控制节点之外的其他节点。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请目标控制节点通过接收目标控制节点在逻辑环中连接的上一个控制节点即第一控制节点发送的第一数据包,并使用第一数据包与目标控制节点所在的目标节点集合中全部节点的训练数据执行目标训练任务得到第二数据包,再将第二数据包发送至第二控制节点,使得第二控制节点能够使用目标控制节点所在的目标节点集合中全部节点的训练数据进行训练,由于目标控制节点将其接收到的目标数据包下发至目标节点集合中除目标控制节点之外的其他节点,使得分布式系统中的全部节点能够得到分布式系统中每个节点的训练数据,因此,可以解决分布式系统的节点训练效率较低的问题,达到了提高分布式系统的节点训练效率的效果。
附图说明
图1是本申请实施例的一种分布式系统的节点训练方法的移动终端的硬件结构框图;
图2是根据本申请实施例的分布式系统的节点训练方法的流程图;
图3是根据本申请实施例的一种第一控制节点发送第一数据包的过程的示意图;
图4是根据本申请实施例的一种更新逻辑环的过程的示意图;
图5是根据本申请实施例的一种逻辑环的构建过程的示意图;
图6是根据本申请实施例的一种第二数据包的生成过程的示意图;
图7是根据本申请实施例的分布式系统的结构框图;
图8是根据本申请实施例的分布式系统的节点训练装置的结构框图;
图9是根据本申请实施例的电子设备的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在服务器设备或者类似的运算装置中执行。以运行在服务器设备上为例,图1是本申请实施例的一种分布式系统的节点训练方法的服务器设备的硬件结构框图。如图1所示,服务器设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的分布式系统的节点训练方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种分布式系统的节点训练方法,应用于所述分布式系统中部署的目标控制节点,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M组节点集合依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,所述目标控制节点为每个控制节点,图2是根据本申请实施例的分布式系统的节点训练方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收第一控制节点发送的第一数据包,其中,所述第一控制节点是所述目标控制节点在所述逻辑环中的上一个控制节点;
步骤S204,使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务,得到第二数据包,其中,所述目标数据包中携带了所述目标控制节点所在的目标节点集合中全部节点的训练数据;
步骤S206,将所述第二数据包发送至第二控制节点,直至所述目标控制节点接收到所述分布式系统中全部控制节点的训练数据,其中,所述第二控制节点是所述目标控制节点在所述逻辑环中的下一个控制节点,所述分布式系统中全部控制节点的训练数据以及所述目标数据包被下发至所述目标节点集合中除所述目标控制节点之外的其他节点。
通过上述步骤,目标控制节点通过接收目标控制节点在逻辑环中连接的上一个控制节点即第一控制节点发送的第一数据包,并使用第一数据包与目标控制节点所在的目标节点集合中全部节点的训练数据执行目标训练任务得到第二数据包,再将第二数据包发送至第二控制节点,使得第二控制节点能够使用目标控制节点所在的目标节点集合中全部节点的训练数据进行训练,由于目标控制节点将其接收到的目标数据包下发至目标节点集合中除目标控制节点之外的其他节点,使得分布式系统中的全部节点能够得到分布式系统中每个节点的训练数据,因此,可以解决分布式系统的节点训练效率较低的问题,达到了提高分布式系统的节点训练效率的效果。
可选的,在本实施例中,本申请提出的分布式系统的节点训练方法使用的场景广泛,可以但不限于包括:多台服务器组成分布式系统,每台服务器为分布式系统中的节点;多台部署了智能网卡(Smart NIC,Smart Network Interface Card)的服务器组成分布式系统,每个智能网卡为分布式系统中的节点;多台部署了GPU(Graphics Processing Unit,图形处理器)的服务器组成分布式系统,每个GPU为分布式系统中的节点等等,在如下实施例中,可以但不限于以多台部署了智能网卡的服务器组成分布式系统,每个智能网卡为分布式系统中的节点的场景为例,对上述分布式系统的节点训练方法进行说明,但不对使用场景进行限定,任何分布式系统进行节点训练的过程均可以使用本申请提出的分布式系统的节点训练方法。
可选的,在本实施例中,上述分布式系统的节点训练方法应用于分布式系统中部署的目标控制节点,上述分布式系统中包括的多个节点可以但不限于为完全相同的节点,比如:相同参数的GPU部署在多个服务器中,每个GPU为一个节点;相同参数的智能网卡部署在多个服务器中,每个智能网卡为一个节点等。或者,分布式系统中的节点也可以具有一定的差异,比如:不同参数的GPU部署在多个服务器中,每个GPU为一个节点;不同参数的智能网卡部署在多个服务器中,每个智能网卡为一个节点等。
进一步,以分布式系统中包括节点1、节点2至节点16为例,对于将多个节点划分为M组节点集合进行说明:可以但不限于将16个节点均匀的划分为M组节点集合,以M为4为例,每4个节点划分为一组节点集合,将16个节点划分为了4组节点集合。或者,也可以但不限于将16个节点按照实际的需求划分为M组节点集合,即将前4个节点划分为一组节点集合,将剩余的节点中的5个节点划分为第二组节点集合,将剩余的节点中的3个节点,最后的4个节点为一组节点集合,将16个节点划分为了4组节点集合等。其中,上述需求可以但不限于包括:节点的数据处理能力、分布式系统的节点训练的需求等。
对于节点集合,每个节点集合中都包含一个控制节点,将节点集合中包括的多个节点依次连接得到具有方向的逻辑链,逻辑链中的最后一个节点即为控制节点。
对于M组节点集合,可以但不限于通过多种方式依次连接M组节点集合得到具有方向的逻辑环,比如:将每条逻辑链按照方向依次首尾连接得到具有方向的逻辑环,其中,逻辑环中包括M组节点集合中的每个节点。或者,将每条逻辑链中的控制节点按照方向进行连接得到具有方向的逻辑环,其中,逻辑环中包括M组节点集合中的M个控制节点等。
可选的,在本实施例中,分布式系统中包括M组节点集合,每组节点集合都包括1个控制节点,即分布式系统中包括M个控制节点,可以但不限于将每个控制节点确定为目标控制节点执行上述分布式系统的节点训练方法实现对分布式系统中的每个节点进行训练。
可选的,在本实施例中,上述分布式系统的节点之间可以但不限于通过多种方式连接成具有方向的逻辑环,比如:交换机等设备。可以但不限于通过多种方式设定控制节点,比如:对分布式系统中包括的每个节点都部署能够实现控制节点的功能的硬件或者软件设备,在需要将节点设定为控制节点的情况下,开启需要被设定为控制节点的相应设备。或者,在分布式系统中的控制节点中部署能够实现控制节点的功能的硬件或者软件设备。可以但不限于通过多种方式在逻辑链中设定最后一个节点为控制节点,比如:对分布式系统中包括的每个节点都部署能够实现控制节点的功能的硬件或者软件设备,开启逻辑链中最后一个节点被设定为控制节点的硬件或者软件设备。或者,在逻辑链中最后一个节点使用具有控制节点的功能的硬件或者软件设备等。
在上述步骤S202提供的技术方案中,第一控制节点有其所属的节点集合,第一控制节点所属的节点集合中可以但不限于包括多个节点,可以但不限于将每个节点的训练数据按照逻辑链的方向依次传输至第一控制节点,第一控制节点再按照逻辑环的方向向目标控制节点传输第一控制节点自己的训练数据以及第一控制节点所属的节点集合中每个节点的训练数据,即第一控制节点发送的第一数据包可以但不限于包括第一控制节点自己的训练数据以及第一控制节点所属的节点集合中每个节点的训练数据。
在一个示例性实施例中,在所述接收第一控制节点发送的第一数据包之前,可以但不限于采用以下方式向分布式系统中的第三控制节点发送第一指示信息:检测所述目标节点集合中每个节点的工作状态;在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,向所述分布式系统中的第三控制节点发送第一指示信息,其中,所述第一指示信息用于指示所述目标节点集合处于异常工作状态,所述第三控制节点是所述分布式系统中除所述目标控制节点之外的其他控制节点。
可选的,在本实施例中,上述目标节点集合是目标控制节点所在的节点集合,目标节点集合中每个节点的工作状态可以但不限于包括:每个节点自身的工作状态以及节点之间传输链路的工作状态等。
可选的,在本实施例中,可以但不限于通过多种方式检测目标节点集合中每个节点的工作状态,比如:通过获取每个节点的延迟确定节点的工作状态、通过获取每个节点的带宽确定节点的工作状态、通过获取每个节点的丢包率确定节点的工作状态、通过获取每个节点的吞吐量确定节点的工作状态、通过获取每个节点的Jitter(事件的理想时间的偏差)确定节点的工作状态、通过获取每个节点的可靠性确定节点的工作状态等。
可选的,在本实施例中,上述工作状态为异常工作状态的节点可以但不限于用于指示节点发生了异常,或者用于指示节点与下一个节点之间的传输链路发生了异常等。
可选的,在本实施例中,在分布式系统中,M个控制节点之间可以但不限于具有相互通信的功能,在分布式系统进行节点训练的过程中,可以但不限于将任意控制节点确定为目标控制节点,目标控制节点可以但不限于用于检测其所属的目标节点集合中包括的每个节点的工作状态,在目标控制节点检测得到目标节点集合中包括处于异常工作状态的节点的情况下,目标控制节点可以但不限于还用于向分布式系统中包括的其他控制节点发送用于指示目标节点集合处于异常工作状态的第一指示信息。
也就是说,对于分布式系统中的每个控制节点都可以用于检测其所处的节点集合中是否存在处于异常工作状态的节点,并在具有处于异常工作状态的节点的情况下,告知其他控制节点。
可选的,在本实施例中,上述第三控制节点可以但不限于包括分布式系统中除了处于异常工作状态的节点所在的节点集合中的控制节点之外的全部控制节点。
可选的,在本实施例中,第一指示信息可以但不限于用于指示处于异常工作状态的节点,或者用于指示处于异常工作状态的节点所处于的目标节点集合等。第一指示信息可以但不限于包括:处于异常工作状态的节点的标识、处于异常工作状态的节点所处于的目标节点集合的标识、目标节点集合对应的逻辑链的起始节点和控制节点的标识、异常工作状态的异常原因等。
可选的,在本实施例中,第三控制节点可以但不限于通过解析第一指示信息从而获取处于异常工作状态的目标节点集合,比如:第三控制节点通过解析第一指示信息携带的目标节点集合的标识从而获取处于异常工作状态的目标节点集合。或者,第三控制节点通过解析第一指示信息携带的处于异常工作状态的节点的标识,根据节点的标识确定处于异常工作状态的目标节点集合等。
在一个示例性实施例中,在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,可以但不限于执行以下操作:断开与所述第二控制节点之间的链接。
可选的,在本实施例中,目标控制节点所在的目标节点集合中可以但不限于包括多个节点,多个节点依次连接得到了具有方向的逻辑链,目标控制节点处于当前逻辑链的末尾并且与下一个节点集合连接,下一个节点集合中包括第二控制节点,在目标控制节点所在的目标节点集合中包括处于异常工作状态的节点的情况下,目标控制节点可以但不限于通过断开与第二控制节点之间的链接,使得第二控制节点能够与处于正常工作状态的节点集合建立链接组成新的逻辑环,使得新连接的逻辑环能够正常工作。
在一个示例性实施例中,可以但不限于采用以下方式接收第一控制节点发送的第一数据包:在检测所述目标节点集合中每个节点的工作状态之后,在所述目标节点集合中的节点的工作状态均为正常工作状态的情况下,接收第一控制节点发送的第一数据包。
可选的,在本实施例中,在目标节点集合中包括的全部节点的工作状态均为正常工作状态的情况下,即认为目标节点集合处于正常工作状态,目标控制节点可以但不限于用于接收第一控制节点发送的第一数据包。
可选的,在本实施例中,第一控制节点可以但不限于在多种情况下发送第一数据包,比如:第一控制节点实时发送第一数据包,即在第一控制节点完成打包第一数据包的情况下,就会向目标控制节点发送第一数据包;或者,第一数据包也可以是在目标控制节点确认目标节点集合处于正常工作状态的情况下,由目标控制节点向第一控制节点主动获取的等。
在一个示例性实施例中,可以但不限于采用以下方式检测所述目标节点集合中每个节点的工作状态:检测所述目标节点集合中每个节点的响应时间;将所述目标节点集合中所述响应时间大于或者等于时间阈值的节点确定为工作状态为异常工作状态的节点。
可选的,在本实施例中,目标节点集合中每个节点的响应时间可以但不限于是目标节点集合中每个节点响应目标控制节点传输其训练数据的时间,每个节点的响应时间可以但不限于受网络等多种因素的影响,在节点受影响导致其响应时间大于或者等于时间阈值的情况下,可以但不限于确定节点的工作状态为异常工作状态。
可选的,在本实施例中,上述时间阈值可以但不限于是预先确定的固定参数,或者是实时变化的参数值,比如:在网络环境较好的情况下,适当调高时间阈值。或者,在网络环境较差的情况下,控制时间阈值处于一定的范围内等。
在一个示例性实施例中,提供了一种第一控制节点发送第一数据包的过程的示例。图3是根据本申请实施例的一种第一控制节点发送第一数据包的过程的示意图,如图3所示,以智能网卡作为分布式系统的节点,分布式系统中包括智能网卡1、智能网卡2、智能网卡3至智能网卡8,使用智能网卡2和智能网卡6作为控制节点,以智能网卡2作为目标智能网卡为例,第一控制节点为智能网卡6,进行说明如下:通过交换机连接智能网卡构成环形拓扑,智能网卡2接收智能网卡6发送的第一数据包,并使用第一数据包与智能网卡2的目标数据包执行智能网卡2的目标训练任务得到第二数据包。
在上述步骤S204提供的技术方案中,上述目标控制节点的目标训练任务可以但不限于用于对目标控制节点以及目标节点集合中的每个节点进行节点训练,比如:目标控制节点根据目标训练任务确定对第一数据包与目标数据包执行的运算,以及使用运算结果对目标控制节点以及目标节点集合中的每个节点进行节点训练的方式等。根据目标控制节点的目标训练任务对第一数据包与目标数据包执行的操作可以但不限于为运算操作,比如:加法运算、减法运算、除法运算等。可以但不限于根据对分布式系统中每个节点进行节点训练的方式确定目标训练任务中的运算操作。
可选的,在本实施例中,第二数据包是对第一数据包与目标数据包执行目标控制节点的目标训练任务得到的,比如:对第一数据包与目标数据包进行加法运算,将运算后得到的结果确定为第二数据包等。
可选的,在本实施例中,第一数据包与目标数据包可以但不限于通过多种方式表示,比如:CP16、CP32、FP16以及CP32等。在不同的表示方式之间可以但不限于按照使用方式进行转换,比如:目标数据包以CP32的方式存储,第一数据包以CP16的方式进行传输,目标控制节点在接收到第一数据包的情况下,可以但不限于将CP16的第一数据包转换为CP32格式再执行目标训练任务。
进一步,对CP16、CP32、FP16以及CP32的使用方式进行说明如下:FP16是使用16位bit(字节)表示一个浮点数,其中1位表示符号,5位表示指数(Exponent),10位表示尾数(Fraction)。FP16的规范是GPU设备支持的数据精度规范,FP16规格化数能表示的最大值为0 11110 1111 1111 11=1.11 1111 1111*215=(2-2(-10))*215=65536-32=65504,因此FP16规格化数能表示较大的数值。
对于深度学习模型部署和微调工作中不会出现过大的数值的情况下,可以但不限于采用新的16位浮点数和32位浮点数的表示方式:CP16,即其中1位表示符号位,3位表示指数,12位表示尾数;CP32,即其中1位表示符号位,3位表示指数,28位表示尾数。
CP16和CP32数据精度的表示方式,缩小了整数的表示范围,增加了小数的精度表示程度,更符合深度神经网络在权重和梯度的数据精度表示情况,有利于提升模型训练精度。因为CP16和CP32在符号位和指数位的比特位数相同,因此在设备硬件逻辑中CP32和CP16的转换(数据压缩和解压过程)可以直接进行“补零”和“截断”操作,避免了仿射变换和比例缩放等方式的数据精度转换,便于简化计算逻辑,加速数据精度的转换效率。
可选的,在本实施例中,第一数据包与目标数据包可以但不限于为数据压缩包,在执行目标训练任务之前,可以但不限于将第一数据包与目标数据包存入缓存区进行解压操作,目标训练任务可以但不限于包括在缓存区对第一数据包与目标数据包进行数据运算,并判断是否完成运算,在完成运算的情况下,进一步进行归约计算,将得到的数据进行压缩后作为第二数据包。
在一个示例性实施例中,在所述使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务之前,可以但不限于采用以下方式得到目标数据包:接收所述目标控制节点在所述目标节点集合中的上一个节点发送的参考数据包,其中,所述参考数据包是所述目标节点集合中每个节点的训练数据在所述目标节点集合的目标逻辑链上依次传递和运算并在所述上一个节点上形成的数据包;使用所述参考数据包与所述目标控制节点的目标训练数据执行所述目标训练任务,得到所述目标数据包。
可选的,在本实施例中,在目标节点集合中可以但不限于包括控制节点以及多个非控制节点,非控制节点依次连接为有方向的逻辑链再与末尾端的控制节点连接得到完整的逻辑链,对于非控制节点,其可以但不限于用于在完成一次训练任务的情况下,按照逻辑链所指示的方向传输训练数据;对于控制节点,其可以但不限于用于接收与其连接的非控制节点传输的训练数据再执行训练任务;对于完整逻辑链中的每个节点来说,可以但不限于通过执行训练任务实现节点的训练,训练任务可以但不限于用于指示每个节点对于其当前接收到的训练数据以及其本身已经存储的训练数据所执行的操作。也就是说,目标控制节点的上一个非控制节点按照训练任务进行处理后得到了一个数据包即参考数据包,非控制节点将数据包传输至目标控制节点,目标控制节点在接收到参考数据包的情况下,再使用参考数据包执行训练任务。
可选的,在本实施例中,目标控制节点的目标训练数据可以但不限于是目标控制节点完成上一次训练任务后得到的数据包,或者目标训练数据可以但不限于是为目标控制节点下发的初始训练数据。
可选的,在本实施例中,以逻辑链中包括节点1、节点2、节点3和目标控制节点,且逻辑链以节点1连接节点2连接节点3最后连接目标控制节点的方向进行连接,每个节点有其初始的训练数据以及训练任务为例,可以但不限于通过以下方式得到目标控制节点的目标数据包:
节点1将其训练数据1进行压缩得到数据包1,并将数据包1传输至节点2,节点2接收节点1发送的数据包1,并将数据包1解压后和节点2自己的训练数据2按照节点2的训练任务1进行处理得到数据包2;
节点2将数据包2传输至节点3,节点3接收节点2发送的数据包2,并将数据包2解压后和节点3自己的训练数据3按照节点3的训练任务2进行处理得到数据包3,节点3将数据包3传输至目标控制节点;
目标控制节点接收数据包3(参考数据包)解压后和目标控制节点自己的训练数据4(目标训练数据)按照目标控制节点的训练任务3(目标训练任务)进行处理得到数据包4(目标数据包)。
在上述步骤S206提供的技术方案中,第二控制节点是目标控制节点在逻辑环中的下一个控制节点,比如:以每个逻辑链中的控制节点依次连接得到逻辑环为例,第二控制节点即为逻辑环中与目标控制节点连接的下一个控制节点。以逻辑链依次首尾连接得到包括每个节点的逻辑环为例,第二控制节点即为目标控制节点所在的目标节点集合的下一个节点集合中包括的控制节点等。
可选的,在本实施例中,目标控制节点在得到第二数据包的情况下,需要向逻辑环中连接的其他数据节点发送第二数据包进行数据包的同步,目标控制节点按照逻辑环的方向向下一节点进行传输,使得下一个节点能够接收到数据包进行训练,下一节点可以但不限于为目标控制节点的下一个控制节点即第二控制节点或者下一节点可以但不限于下一个控制节点所属的节点集合中包括的非控制节点,比如:目标控制节点向第二控制节点传输第二数据包,第二控制节点可以但不限于用于使用第二数据包执行训练任务,第二控制节点还用于将第二数据包传输至其所控制的每个非控制节点,每个非控制节点再使用第二数据包执行训练任务,直至逻辑环中的每个节点都接收到完整的训练数据,并在分布式系统中的每个控制节点都接收到完整的训练数据的情况下,认为完成了分布式系统中的节点训练,其中,完整的训练数据包括分布式系统中每个节点的训练数据。
可选的,在本实施例中,由于第二数据包可以但不限于包括目标控制节点以及目标控制节点之前的控制节点的训练数据,可以但不限于通过将第二数据包进行封装、压缩后再以对应的帧格式发送至第二控制节点,帧格式可以但不限于包括:巨型帧、以太网帧、超长帧等。
在一个示例性实施例中,在所述将所述第二数据包发送至第二控制节点之前,可以但不限于采用以下方式得到更新后的逻辑环:接收所述分布式系统中的第四控制节点发送的第二指示信息,其中,所述第二指示信息用于指示所述第四控制节点所在的节点集合处于异常工作状态;在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,得到更新后的逻辑环,其中,M条所述逻辑链依次连接得到具有方向的逻辑环。
可选的,在本实施例中,第四控制节点是逻辑环中处于异常工作状态的逻辑链所包括的控制节点。第二指示信息可以但不限于用于指示处于异常工作状态的节点,或者用于指示处于异常工作状态的节点所处于的目标节点集合等。第二指示信息可以但不限于包括:处于异常工作状态的节点的标识、处于异常工作状态的节点所处于的目标节点集合的标识、目标节点集合对应的逻辑链的起始节点和控制节点的标识、异常工作状态的异常原因等。
可选的,在本实施例中,第二指示信息可以但不限于用于指示一个或者多个处于异常工作状态的节点集合,第四控制节点可以但不限于是一个或者多个处于异常工作状态的节点集合所对应的控制节点。
可选的,在本实施例中,可以但不限于通过解析第二指示信息从而获取处于异常工作状态的目标节点集合,比如:通过解析第二指示信息携带的目标节点集合的标识从而获取处于异常工作状态的目标节点集合。或者,第二指示信息携带的处于异常工作状态的节点的标识,根据节点的标识确定处于异常工作状态的目标节点集合等。
可选的,在本实施例中,第四控制节点发送的第二指示信息可以但不限于是定点发送的,比如:第四控制节点向与其连接的前一控制节点以及后一控制节点发送第二指示信号。或者,第四控制节点发送的第二指示信息也可以是不定点发送的,比如:第四控制节点向全部节点发送第二指示信号,由控制节点接收并解析第二指示信号进行后续操作等。
可选的,在本实施例中,第二控制节点是目标控制节点在逻辑环中的下一个控制节点,在目标控制节点接收到用于指示第二控制节点处于异常工作状态的第二指示信息的情况下,目标控制节点可以但不限于用于断开与第二控制节点之间的链接,并与第二控制节点的下一个控制节点建立链接,得到更新后的逻辑环。
在一个示例性实施例中,可以但不限于采用以下方式将所述第二数据包发送至第二控制节点:在得到更新后的逻辑环之后,将所述第二数据包发送至所述更新后的逻辑环中所述目标控制节点的下一个控制节点。
可选的,在本实施例中,在第二控制节点处于异常工作状态的情况下,目标控制节点通过断开与第二控制节点之间的链接并与处于正常工作状态的控制节点建立新的链接实现构建正常工作的逻辑环,并且目标控制节点用于在更新后的逻辑环中,将第二数据包发送至目标控制节点的下一个控制节点。
在一个示例性实施例中,在所述第四控制节点中包括所述第二控制节点的情况下,可以但不限于采用以下方式与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接:从所述第四控制节点中查找所述第二控制节点;在查找到所述第二控制节点的情况下,从所述第四控制节点中查找所述第二控制节点的下一个控制节点;在未查找到所述第二控制节点的下一个控制节点的情况下,与所述第二控制节点的下一个控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
可选的,在本实施例中,上述第四控制节点所在的节点集合处于异常工作状态,在目标控制节点接收到第四控制节点发送的第二指示信息的情况下,目标控制节点可以但不限于通过解析第二指示信息,确定第二指示信息中指示的第四控制节点是否是与目标控制节点连接的第二控制节点。
可选的,在本实施例中,第四控制节点可以但不限于包括处于异常工作状态的节点集合中的控制节点,在逻辑环中可以但不限于包括多个控制节点,在逻辑环工作的过程中,可以但不限于有一个或者多个节点发生异常,在一个或者多个节点发生异常的情况下,将其所在的节点集合确定为异常工作状态的节点集合,其对应的控制节点确定为第四控制节点。
可选的,在本实施例中,在第四控制节点包括第二控制节点的情况下,可以但不限于按照逻辑环所示的方向,确定第四控制节点是否包括第二控制节点的下一个控制节点。也就是说,在处于异常工作状态的节点集合为第二控制节点所在的节点集合的情况下,可以但不限于按照逻辑环所示的方向,确定第二控制节点的下一个控制节点是否为处于异常工作状态的节点集合。
进一步,对于逻辑环中的目标控制节点来说,第二控制节点是目标控制节点在逻辑环中的下一个控制节点,在第二控制节点所在的节点集合处于异常工作状态的情况下,目标控制节点可以但不限于通过断开与处于异常工作状态的节点集合的链接,并与正常工作状态的节点集合建立新的链接得到更新后的逻辑环,以保证更新后的逻辑环能够正常工作,因此,目标控制节点可以但不限于通过按照逻辑环的方向依次检测下一控制节点所在的节点集合是否处于正常工作状态从而得到更新后的逻辑环。
对于按照逻辑环的方向依次检测下一控制节点所在的节点集合是否处于正常工作状态的方式,可以但不限于通过从第四控制节点中依次查找每个节点集合是否存在于第四控制节点发送的第二指示信息,直至未查找到存在于第二指示信息中的节点集合,并与之建立新的链接。
可选的,在本实施例中,在未查找到第二控制节点的下一个控制节点的情况下,目标控制节点可以但不限于通过与处于正常工作状态的节点集合建立链接构建更新后的逻辑环,比如:目标控制节点与处于正常工作状态的节点集合中的控制节点建立链接得到更新后的逻辑环。或者,目标控制节点与处于正常工作状态的节点集合的逻辑链中的首个节点建立链接,得到更新后的逻辑环等。
在一个示例性实施例中,在所述从所述第四控制节点中查找所述第二控制节点的下一个控制节点之后,可以但不限于采用以下方式得到更新后的逻辑环:在查找到所述第二控制节点的下一个控制节点的情况下,继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点;在所述候选控制节点不为所述目标控制节点的情况下,与所述候选控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
可选的,在本实施例中,候选控制节点是目标控制节点在逻辑环中的下一个处于正常工作状态的节点集合中的控制节点,第二控制节点是目标控制节点在逻辑环中的下一个控制节点,在第二控制节点所在的节点集合处于异常工作状态的情况下,目标控制节点可以但不限于通过断开与处于异常工作状态的节点集合的链接,并与正常工作状态的候选控制节点建立新的链接得到更新后的逻辑环,以保证更新后的逻辑环能够正常工作,因此,目标控制节点可以但不限于通过按照逻辑环的方向依次检测下一控制节点所在的节点集合是否处于正常工作状态从而得到候选控制节点。
可选的,在本实施例中,在候选控制节点不是目标控制节点的情况下,目标控制节点可以但不限于通过与候选控制节点所在的节点集合建立链接构建更新后的逻辑环,比如:目标控制节点与候选控制节点建立链接得到更新后的逻辑环。或者,目标控制节点与处于候选控制节点所在的节点集合的逻辑链中的首个节点建立链接,得到更新后的逻辑环等。
在一个示例性实施例中,在所述继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点之后,可以但不限于采用以下方式上报告警信息:在所述候选控制节点为所述目标控制节点的情况下,上报告警信息,其中,所述告警信息用于指示所述目标控制节点所在的逻辑环发生故障。
可选的,在本实施例中,候选控制节点是目标控制节点在逻辑环中的下一个处于正常工作状态的节点集合中的控制节点,当逻辑环中只有目标控制节点所在的节点集合处于正常工作状态的情况下,得到了候选控制节点与目标控制节点为同一控制节点,因此需要进一步进行告警处理。
可选的,在本实施例中,可以但不限于通过上报告警信息指示逻辑环发生故障,比如:通过告警信息通知管理员,目标控制节点的所在的逻辑环发生故障,逻辑环不能自动修复,需要进行进一步的干预操作等。
在一个示例性实施例中,在所述第四控制节点中包括所述第二控制节点的情况下,可以但不限于执行以下操作:断开与所述第二控制节点之间的链接。
可选的,在本实施例中,在与目标控制节点连接的下一个控制节点即第二控制节点所在的节点集合处于异常工作状态的情况下,目标控制节点可以但不限于通过断开与第二控制节点之间的链接再与下一个处于正常工作状态的节点集合中的控制节点建立链接,得到更新后的逻辑环。
在一个示例性实施例中,可以但不限于采用以下方式将所述第二数据包发送至第二控制节点:通过计算快速连接协议的内存协议将所述第二数据包存储至所述分布式系统的服务器主存,得到数据副本;对所述第二数据包进行巨型帧封装处理,得到目标巨型帧;传输所述目标巨型帧至所述第二控制节点。
可选的,在本实施例中,第二数据包是目标控制节点将第一数据包与目标数据包执行目标训练任务得到的,目标控制节点在向第二控制节点发送第二数据包之前可以但不限于将第二数据包存储至分布式系统的服务器主存实现对第二数据包的备份。
进一步,分布式系统中的节点可以但不限于为CXL(Compute Express Link,计算快速连接协议)的Type(类型)2设备,比如:GPU、FPGA(Field Programmable Gate Array,现场可编程门阵列)等。由于Type 2设备除了一致性高速缓存外,还具有连接到设备内存的能力,因此以分布式系统中的节点为Type 2设备为例,可以但不限于使用计算快速连接协议中的存储协议(CXL.men)将第二数据包存储至分布式系统的服务器主存实现对第二数据包的备份。
可选的,在本实施例中,数据副本是将第二数据包存储至分布式系统的服务器主存后得到的数据。
可选的,在本实施例中,对第二数据包进行巨型帧封装处理,减少了网络中梯度数据包的个数,减轻了网络设备处理包头的额外开销。
在一个示例性实施例中,提供了一种更新逻辑环的过程的示例。图4是根据本申请实施例的一种更新逻辑环的过程的示意图,如图4所示,以使用智能网卡0至智能网卡15作为分布式系统的节点,智能网卡12与智能网卡13之间的传输链路发生异常,控制节点包括智能网卡3、智能网卡7、智能网卡11和智能网卡15为例,可以但不限于通过以下方式进行逻辑环的更新:
将智能网卡15确定为目标控制节点,智能网卡15检测智能网卡12、智能网卡13、智能网卡14和智能网卡15(目标节点集合中每个节点)的工作状态,得到智能网卡12与智能网卡13之间的传输链路发生异常,智能网卡15向分布式系统中的智能网卡3、智能网卡7和智能网卡11发送第一指示信息并断开与智能网卡3之间的链接。
将智能网卡11确定为目标控制节点,智能网卡11接收分布式系统中的智能网卡15发送的第二指示信息,第二指示信息用于指示智能网卡15所在的节点集合处于异常工作状态,智能网卡11与逻辑环中距离智能网卡11最近的且处于正常工作状态下的逻辑链中的首个节点即智能网卡3建立链接,得到更新后的逻辑环并继续当前训练任务的计算。
当网络连接发生中断或硬件需要更换,分布式系统中的节点可以自动进行连接的重建继续当前训练任务的计算,从而避免计算资源的浪费和等待的时间成本。
在一个示例性实施例中,可以但不限于采用以下方式对所述第二数据包进行巨型帧封装处理,得到目标巨型帧:将所述第二数据包添加至缓存中;将所述缓存中的数据封装为巨型帧,得到所述目标巨型帧;释放所述缓存。
可选的,在本实施例中,可以但不限于对第二数据包进行归约处理存入发送缓存区中,再将发送缓存中的数据封装为巨型帧,得到目标巨型帧。
可选的,在本实施例中,由于将发送缓存中的数据封装为巨型帧,可以但不限于在等待发送目标巨型帧的过程中提前释放缓存中的数据,并加载下一批次的第二数据包。
在一个示例性实施例中,在所述传输所述目标巨型帧至所述第二控制节点之后,可以但不限于采用以下方式向第二控制节点传输数据副本:检测所述目标巨型帧是否发生丢包;在所述目标巨型帧发生丢包的情况下,通过计算快速连接协议的缓存一致性协议从所述服务器主存读取所述数据副本;向所述第二控制节点传输所述数据副本。
可选的,在本实施例中,目标巨型帧可以但不限于在多种情况下发生丢包,比如:网络堵塞、错误配置、网络设备限制等。
可选的,在本实施例中,由于在对第二数据包进行巨型帧封装处理之前,通过计算快速连接协议的存储协议将第二数据包存储至分布式系统的服务器主存,得到数据副本,因此在目标巨型帧发生丢包的情况下,可以通过计算快速连接协议的缓存协议从服务器主存读取数据副本,再一次向第二控制节点传输数据副本。
可选的,在本实施例中,可以但不限于通过多种方式向第二控制节点传输数据副本,比如:将数据副本再次封装为巨型帧进行传输。或者,将数据副本封装为其他的帧格式进行传输。
在一个示例性实施例中,可以但不限于采用以下方式向所述第二控制节点传输所述数据副本:将所述数据副本拆分封装为标准以太网帧;向所述第二控制节点传输所述标准以太网帧。
可选的,在本实施例中,在目标巨型帧发生丢包的情况下,将数据副本拆分封装为一个或者多个标准以太网帧,再向第二控制节点传输标准以太网帧。
在一个示例性实施例中,在所述向所述第二控制节点传输所述标准以太网帧之后,可以但不限于采用以下方式恢复巨型帧封装处理:在所述标准以太网帧传输成功的情况下,检测所述目标控制节点的网络状态;在所述网络状态达到目标网络状态的情况下,对后续数据包恢复所述巨型帧封装处理。
可选的,在本实施例中,在标准以太网帧传输成功的情况下,可以但不限于通过多种方式检测目标控制节点的网络状态以确定是否恢复使用巨型帧进行传输,比如:根据标准以太网帧的响应时间确定目标控制节点的网络状态。或者,获取其他网络参数确定目标控制节点的网络状态等。
可选的,在本实施例中,可以但不限于根据网络的网络参数确定网络状态,比如:将网络参数与网络阈值相比,从而确定网络参数处于哪种状态。或者,获取网络参数并计算其加权和,从而确定网络状态等。网络阈值可以但不限于是预先确定的,或者根据网络参数的不同发生变化。
可选的,在本实施例中,上述目标网络状态可以但不限于用于指示网络状态能够在不发生丢包的前提下,使用巨型帧进行传输,在达到目标网络状态的情况下,对后续数据包恢复巨型帧封装处理。
在一个示例性实施例中,在所述接收第一控制节点发送的第一数据包之前,可以但不限于采用以下方式得到逻辑环:根据所述分布式系统中所包括的节点数量确定M和每个节点集合中所包括的节点的数量;按照M和每个节点集合中所包括的节点的数量划分所述分布式系统中所包括的节点,得到所述M组节点集合;建立所述M组节点集合之间的链接,得到所述逻辑环。
可选的,在本实施例中,可以但不限于根据分布式系统中所包括的节点数量确定M和每个节点集合中所包括的节点的数量,比如:以分布式系统中包括P个节点为例,可以但不限于将P个节点均匀的划分为M组节点集合,每(M/P)个节点划分为一组节点集合。或者,也可以但不限于将P个节点按照实际的需求划分为M组节点集合,即将前A个节点划分为一组节点集合,将剩余的节点中的B个节点划分为第二组节点集合,将剩余的节点中的C个节点直至最终得到M组节点集合。其中,上述需求可以但不限于包括:节点的数据处理能力、分布式系统的节点训练的需求等。
可选的,在本实施例中,可以但不限于通过多种方式得到具有方向的逻辑环,比如:将每个节点集合对应的逻辑链按照方向依次首尾连接得到具有方向的逻辑环,其中,逻辑环中包括M组节点集合中的每个节点。或者,将每个节点集合对应的逻辑链中的控制节点按照方向进行连接得到具有方向的逻辑环,其中,逻辑环中包括M组节点集合中的M个控制节点等。
可选的,在本实施例中,在大型环状网络结构中,划分分布式系统中所包括的节点的过程中,可以但不限于设定控制节点之间的间隔距离不超过4个节点,得到M组节点集合,比如:以分布式系统包括12个节点为例,可以但不限于每4个节点划分一组节点集合得到3组节点集合,即相隔的控制节点之间间隔3个节点。或者,每3个节点划分一组节点集合得到4组节点集合,即相隔的控制节点之间间隔2个节点等。
在一个示例性实施例中,提供了一种逻辑环的构建过程的示例。图5是根据本申请实施例的一种逻辑环的构建过程的示意图,如图5所示,以分布式系统中包括节点0至节点15为例,根据分布式系统中所包括的节点数量16确定节点集合M为4,每个节点集合中所包括的节点的数量为4,将节点0至节点3划分为节点集合1,依次连接得到具有方向的逻辑链(节点0连接节点1连接节点2连接节点3);将节点4至节点7划分为节点集合2,依次连接得到具有方向的逻辑链(节点4连接节点5连接节点6连接节点7);将节点8至节点11划分为节点集合3,依次连接得到具有方向的逻辑链(节点8连接节点9连接节点10连接节点11),将节点12至节点15划分为节点集合4,依次连接得到具有方向的逻辑链(节点12连接节点13连接节点14连接节点15),得到了4条具有方向的逻辑链;再将逻辑链首尾连接得到了逻辑环:逻辑链1的末尾与逻辑链2的首端连接,逻辑链2的末尾与逻辑链3的首端连接,逻辑链3的末尾与逻辑链4的首端连接,逻辑链4的末尾与逻辑链1的首端连接。
在一个示例性实施例中,提供了一种第二数据包的生成过程的示例。图6是根据本申请实施例的一种第二数据包的生成过程的示意图,如图6所示,以第一控制节点使用巨型帧发送第一数据包,第一数据包使用CP16记录数据为例,可以但不限于通过以下方式生成第二数据包:
在接收到第一数据包的情况下,分配2倍的接收内存缓冲区,使用比特位补0的方式从CP16扩充到CP32,并且使用CXL.cache(缓存一致性协议)读取本地CP32数据(目标数据包),对接收到的第一数据包和本地目标数据包进行加法计算,并使用控制器判断是否完成分布式计算,在判断完成分布式计算的情况下,利用CXL.men(内存协议)将梯度数据(第二数据包)存储至分布式系统的服务器主存,得到数据副本,并对梯度数据进行CP32到CP16的截断压缩后进行巨型帧封装处理得到巨型帧。
将封装后的巨型帧发送至第二控制节点,若巨型帧发生丢包,使用CXL.cache协议获取梯度数据副本并通过协议栈对数据包拆分为标准以太网帧进行封装并重新发送数据包。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种分布式系统,图7是根据本申请实施例的分布式系统的结构框图,如图7所示,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链(702-1至702-m),M条所述逻辑链(702-1至702-m)依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点(704-1至704-m),其中,每个控制节点作为目标控制节点,用于执行上述分布式系统的节点训练方法任一项中所述分布式系统的节点训练方法的步骤。
通过上述分布式系统,目标控制节点通过接收目标控制节点在逻辑环中连接的上一个控制节点即第一控制节点发送的第一数据包,并使用第一数据包与目标控制节点所在的目标节点集合中全部节点的训练数据执行目标训练任务得到第二数据包,再将第二数据包发送至第二控制节点,使得第二控制节点能够使用目标控制节点所在的目标节点集合中全部节点的训练数据进行训练,由于目标控制节点将其接收到的目标数据包下发至目标节点集合中除目标控制节点之外的其他节点,使得分布式系统中的全部节点能够得到分布式系统中每个节点的训练数据,因此,可以解决分布式系统的节点训练效率较低的问题,达到了提高分布式系统的节点训练效率的效果。
在一个示例性实施例中,所述分布式系统,还用于:接收第一控制节点发送的第一数据包,其中,所述第一控制节点是所述目标控制节点在所述逻辑环中的上一个控制节点;使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务,得到第二数据包,其中,所述目标数据包中携带了所述目标控制节点所在的目标节点集合中全部节点的训练数据;将所述第二数据包发送至第二控制节点,直至所述目标控制节点接收到所述分布式系统中全部控制节点的训练数据,其中,所述第二控制节点是所述目标控制节点在所述逻辑环中的下一个控制节点,所述分布式系统中全部控制节点的训练数据以及所述目标数据包被下发至所述目标节点集合中除所述目标控制节点之外的其他节点。
在一个示例性实施例中,在所述使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务之前,所述分布式系统,还用于:接收所述目标控制节点在所述目标节点集合中的上一个节点发送的参考数据包,其中,所述参考数据包是所述目标节点集合中每个节点的训练数据在所述目标节点集合的目标逻辑链上依次传递和运算并在所述上一个节点上形成的数据包;使用所述参考数据包与所述目标控制节点的目标训练数据执行所述目标训练任务,得到所述目标数据包。
在一个示例性实施例中,在所述接收第一控制节点发送的第一数据包之前,所述分布式系统,还用于:检测所述目标节点集合中每个节点的工作状态;在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,向所述分布式系统中的第三控制节点发送第一指示信息,其中,所述第一指示信息用于指示所述目标节点集合处于异常工作状态,所述第三控制节点是所述分布式系统中除所述目标控制节点之外的其他控制节点。
在一个示例性实施例中,在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,所述分布式系统,还用于:断开与所述第二控制节点之间的链接。
在一个示例性实施例中,所述分布式系统,还用于:在检测所述目标节点集合中每个节点的工作状态之后,在所述目标节点集合中的节点的工作状态均为正常工作状态的情况下,接收第一控制节点发送的第一数据包。
在一个示例性实施例中,所述分布式系统,还用于:检测所述目标节点集合中每个节点的响应时间;将所述目标节点集合中所述响应时间大于或者等于时间阈值的节点确定为工作状态为异常工作状态的节点。
在一个示例性实施例中,在所述将所述第二数据包发送至第二控制节点之前,所述分布式系统,还用于:接收所述分布式系统中的第四控制节点发送的第二指示信息,其中,所述第二指示信息用于指示所述第四控制节点所在的节点集合处于异常工作状态;在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,得到更新后的逻辑环,其中,M条所述逻辑链依次连接得到具有方向的逻辑环。
在一个示例性实施例中,所述分布式系统,还用于:在得到更新后的逻辑环之后,将所述第二数据包发送至所述更新后的逻辑环中所述目标控制节点的下一个控制节点。
在一个示例性实施例中,在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,所述分布式系统,还用于:从所述第四控制节点中查找所述第二控制节点;在查找到所述第二控制节点的情况下,从所述第四控制节点中查找所述第二控制节点的下一个控制节点;在未查找到所述第二控制节点的下一个控制节点的情况下,与所述第二控制节点的下一个控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
在一个示例性实施例中,在所述从所述第四控制节点中查找所述第二控制节点的下一个控制节点之后,所述分布式系统,还用于:在查找到所述第二控制节点的下一个控制节点的情况下,继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点;在所述候选控制节点不为所述目标控制节点的情况下,与所述候选控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
在一个示例性实施例中,在所述继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点之后,所述分布式系统,还用于:在所述候选控制节点为所述目标控制节点的情况下,上报告警信息,其中,所述告警信息用于指示所述目标控制节点所在的逻辑环发生故障。
在一个示例性实施例中,在所述第四控制节点中包括所述第二控制节点的情况下,所述分布式系统,还用于:断开与所述第二控制节点之间的链接。
在一个示例性实施例中,所述分布式系统,还用于:通过计算快速连接协议的内存协议将所述第二数据包存储至所述分布式系统的服务器主存,得到数据副本;对所述第二数据包进行巨型帧封装处理,得到目标巨型帧;传输所述目标巨型帧至所述第二控制节点。
在一个示例性实施例中,所述分布式系统,还用于:将所述第二数据包添加至缓存中;将所述缓存中的数据封装为巨型帧,得到所述目标巨型帧;释放所述缓存。
在一个示例性实施例中,在所述传输所述目标巨型帧至所述第二控制节点之后,所述分布式系统,还用于:检测所述目标巨型帧是否发生丢包;在所述目标巨型帧发生丢包的情况下,通过计算快速连接协议的缓存一致性协议从所述服务器主存读取所述数据副本;向所述第二控制节点传输所述数据副本。
在一个示例性实施例中,所述分布式系统,还用于:将所述数据副本拆分封装为标准以太网帧;向所述第二控制节点传输所述标准以太网帧。
在一个示例性实施例中,在所述向所述第二控制节点传输所述标准以太网帧之后,所述分布式系统,还用于:在所述标准以太网帧传输成功的情况下,检测所述目标控制节点的网络状态;在所述网络状态达到目标网络状态的情况下,对后续数据包恢复所述巨型帧封装处理。
在一个示例性实施例中,在所述接收第一控制节点发送的第一数据包之前,所述分布式系统,还用于:根据所述分布式系统中所包括的节点数量确定M和每个节点集合中所包括的节点的数量;按照M和每个节点集合中所包括的节点的数量划分所述分布式系统中所包括的节点,得到所述M组节点集合;建立所述M组节点集合之间的链接,得到所述逻辑环。
在本实施例中还提供了一种分布式系统的节点训练装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的分布式系统的节点训练装置的结构框图,如图8所示,该装置应用于所述分布式系统中部署的目标控制节点,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M组节点集合依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,所述目标控制节点为每个控制节点,包括:
第一接收模块82,用于接收第一控制节点发送的第一数据包,其中,所述第一控制节点是所述目标控制节点在所述逻辑环中的上一个控制节点;
第一执行模块84,用于使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务,得到第二数据包,其中,所述目标数据包中携带了所述目标控制节点所在的目标节点集合中全部节点的训练数据;
第一发送模块86,用于将所述第二数据包发送至第二控制节点,直至所述目标控制节点接收到所述分布式系统中全部控制节点的训练数据,其中,所述第二控制节点是所述目标控制节点在所述逻辑环中的下一个控制节点,所述分布式系统中全部控制节点的训练数据以及所述目标数据包被下发至所述目标节点集合中除所述目标控制节点之外的其他节点。
通过上述装置,目标控制节点通过接收目标控制节点在逻辑环中连接的上一个控制节点即第一控制节点发送的第一数据包,并使用第一数据包与目标控制节点所在的目标节点集合中全部节点的训练数据执行目标训练任务得到第二数据包,再将第二数据包发送至第二控制节点,使得第二控制节点能够使用目标控制节点所在的目标节点集合中全部节点的训练数据进行训练,由于目标控制节点将其接收到的目标数据包下发至目标节点集合中除目标控制节点之外的其他节点,使得分布式系统中的全部节点能够得到分布式系统中每个节点的训练数据,因此,可以解决分布式系统的节点训练效率较低的问题,达到了提高分布式系统的节点训练效率的效果。
在一个示例性实施例中,所述装置还包括:
第二接收模块,用于接收所述目标控制节点在所述目标节点集合中的上一个节点发送的参考数据包,其中,所述参考数据包是所述目标节点集合中每个节点的训练数据在所述目标节点集合的目标逻辑链上依次传递和运算并在所述上一个节点上形成的数据包;
第二执行模块,用于使用所述参考数据包与所述目标控制节点的目标训练数据执行所述目标训练任务,得到所述目标数据包。
在一个示例性实施例中,所述装置还包括:
第一检测模块,用于检测所述目标节点集合中每个节点的工作状态;
第二发送模块,用于在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,向所述分布式系统中的第三控制节点发送第一指示信息,其中,所述第一指示信息用于指示所述目标节点集合处于异常工作状态,所述第三控制节点是所述分布式系统中除所述目标控制节点之外的其他控制节点。
在一个示例性实施例中,所述装置还包括:
第一断开链接模块,用于断开与所述第二控制节点之间的链接。
在一个示例性实施例中,所述第一接收模块,包括:
接收单元,用于在检测所述目标节点集合中每个节点的工作状态之后,在所述目标节点集合中的节点的工作状态均为正常工作状态的情况下,接收第一控制节点发送的第一数据包。
在一个示例性实施例中,所述第一检测模块,包括:
检测单元,用于检测所述目标节点集合中每个节点的响应时间;
处理单元,用于将所述目标节点集合中所述响应时间大于或者等于时间阈值的节点确定为工作状态为异常工作状态的节点。
在一个示例性实施例中,所述装置还包括:
第三接收模块,用于接收所述分布式系统中的第四控制节点发送的第二指示信息,其中,所述第二指示信息用于指示所述第四控制节点所在的节点集合处于异常工作状态;
第一建立链接模块,用于在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,得到更新后的逻辑环,其中,M条所述逻辑链依次连接得到具有方向的逻辑环。
在一个示例性实施例中,所述第一发送模块,包括:
发送单元,用于在得到更新后的逻辑环之后,将所述第二数据包发送至所述更新后的逻辑环中所述目标控制节点的下一个控制节点。
在一个示例性实施例中,所述第一建立链接模块,包括:
第一查找单元,用于从所述第四控制节点中查找所述第二控制节点;
第二单元,用于在查找到所述第二控制节点的情况下,从所述第四控制节点中查找所述第二控制节点的下一个控制节点;
建立链接单元,用于在未查找到所述第二控制节点的下一个控制节点的情况下,与所述第二控制节点的下一个控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
在一个示例性实施例中,所述装置还包括:
查找模块,用于在查找到所述第二控制节点的下一个控制节点的情况下,继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点;
第二建立链接模块,用于在所述候选控制节点不为所述目标控制节点的情况下,与所述候选控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
在一个示例性实施例中,所述装置还包括:
上报模块,用于在所述候选控制节点为所述目标控制节点的情况下,上报告警信息,其中,所述告警信息用于指示所述目标控制节点所在的逻辑环发生故障。
在一个示例性实施例中,所述装置还包括:
第二断开链接模块,用于断开与所述第二控制节点之间的链接。
在一个示例性实施例中,所述第一发送模块,包括:
存储单元,用于通过计算快速连接协议的内存协议将所述第二数据包存储至所述分布式系统的服务器主存,得到数据副本;
巨型帧封装处理单元,用于对所述第二数据包进行巨型帧封装处理,得到目标巨型帧;
第一传输单元,用于传输所述目标巨型帧至所述第二控制节点。
在一个示例性实施例中,所述巨型帧封装处理单元,还用于:将所述第二数据包添加至缓存中;将所述缓存中的数据封装为巨型帧,得到所述目标巨型帧;释放所述缓存。
在一个示例性实施例中,所述装置还包括:
第二检测模块,用于检测所述目标巨型帧是否发生丢包;
读取模块,用于在所述目标巨型帧发生丢包的情况下,通过计算快速连接协议的缓存一致性协议从所述服务器主存读取所述数据副本;
传输模块,用于向所述第二控制节点传输所述数据副本。
在一个示例性实施例中,所述传输模块,包括:
拆分封装单元,用于将所述数据副本拆分封装为标准以太网帧;
第二传输单元,用于向所述第二控制节点传输所述标准以太网帧。
在一个示例性实施例中,所述装置还包括:
第三检测模块,用于在所述标准以太网帧传输成功的情况下,检测所述目标控制节点的网络状态;
恢复模块,用于在所述网络状态达到目标网络状态的情况下,对后续数据包恢复所述巨型帧封装处理。
在一个示例性实施例中,所述装置还包括:
处理模块,用于根据所述分布式系统中所包括的节点数量确定M和每个节点集合中所包括的节点的数量;
划分模块,用于按照M和每个节点集合中所包括的节点的数量划分所述分布式系统中所包括的节点,得到所述M组节点集合;
第三建立链接模块,用于建立所述M组节点集合之间的链接,得到所述逻辑环。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,图9是根据本申请实施例的电子设备的结构框图,如图9所示,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
1.一种分布式系统的节点训练方法,其特征在于,
应用于所述分布式系统中部署的目标控制节点,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M组节点集合依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,所述目标控制节点为每个控制节点,所述方法包括:
接收第一控制节点发送的第一数据包,其中,所述第一控制节点是所述目标控制节点在所述逻辑环中的上一个控制节点;
使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务,得到第二数据包,其中,所述目标数据包中携带了所述目标控制节点所在的目标节点集合中全部节点的训练数据;
将所述第二数据包发送至第二控制节点,直至所述目标控制节点接收到所述分布式系统中全部控制节点的训练数据,其中,所述第二控制节点是所述目标控制节点在所述逻辑环中的下一个控制节点,所述分布式系统中全部控制节点的训练数据以及所述目标数据包被下发至所述目标节点集合中除所述目标控制节点之外的其他节点。
2.根据权利要求1所述的方法,其特征在于,
在所述使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务之前,所述方法还包括:
接收所述目标控制节点在所述目标节点集合中的上一个节点发送的参考数据包,其中,所述参考数据包是所述目标节点集合中每个节点的训练数据在所述目标节点集合的目标逻辑链上依次传递和运算并在所述上一个节点上形成的数据包;
使用所述参考数据包与所述目标控制节点的目标训练数据执行所述目标训练任务,得到所述目标数据包。
3.根据权利要求1所述的方法,其特征在于,
在所述接收第一控制节点发送的第一数据包之前,所述方法还包括:
检测所述目标节点集合中每个节点的工作状态;
在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,向所述分布式系统中的第三控制节点发送第一指示信息,其中,所述第一指示信息用于指示所述目标节点集合处于异常工作状态,所述第三控制节点是所述分布式系统中除所述目标控制节点之外的其他控制节点。
4.根据权利要求3所述的方法,其特征在于,
在所述目标节点集合中存在工作状态为异常工作状态的节点的情况下,所述方法还包括:
断开与所述第二控制节点之间的链接。
5.根据权利要求3所述的方法,其特征在于,
所述接收第一控制节点发送的第一数据包,包括:
在检测所述目标节点集合中每个节点的工作状态之后,在所述目标节点集合中的节点的工作状态均为正常工作状态的情况下,接收第一控制节点发送的第一数据包。
6.根据权利要求3所述的方法,其特征在于,
所述检测所述目标节点集合中每个节点的工作状态,包括:
检测所述目标节点集合中每个节点的响应时间;
将所述目标节点集合中所述响应时间大于或者等于时间阈值的节点确定为工作状态为异常工作状态的节点。
7.根据权利要求1所述的方法,其特征在于,
在所述将所述第二数据包发送至第二控制节点之前,所述方法还包括:
接收所述分布式系统中的第四控制节点发送的第二指示信息,其中,所述第二指示信息用于指示所述第四控制节点所在的节点集合处于异常工作状态;
在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,得到更新后的逻辑环,其中,M条所述逻辑链依次连接得到具有方向的逻辑环。
8.根据权利要求7所述的方法,其特征在于,
所述将所述第二数据包发送至第二控制节点,包括:
在得到更新后的逻辑环之后,将所述第二数据包发送至所述更新后的逻辑环中所述目标控制节点的下一个控制节点。
9.根据权利要求7所述的方法,其特征在于,
在所述第四控制节点中包括所述第二控制节点的情况下,与所述逻辑环中距离所述目标控制节点最近的且处于正常工作状态下的逻辑链中的首个节点建立链接,包括:
从所述第四控制节点中查找所述第二控制节点;
在查找到所述第二控制节点的情况下,从所述第四控制节点中查找所述第二控制节点的下一个控制节点;
在未查找到所述第二控制节点的下一个控制节点的情况下,与所述第二控制节点的下一个控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
10.根据权利要求9所述的方法,其特征在于,
在所述从所述第四控制节点中查找所述第二控制节点的下一个控制节点之后,所述方法还包括:
在查找到所述第二控制节点的下一个控制节点的情况下,继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点;
在所述候选控制节点不为所述目标控制节点的情况下,与所述候选控制节点所在的逻辑链中的首个节点建立链接,得到所述更新后的逻辑环。
11.根据权利要求10所述的方法,其特征在于,
在所述继续沿所述逻辑环向下查找控制节点,直至查找到处于正常工作状态的候选控制节点之后,所述方法还包括:
在所述候选控制节点为所述目标控制节点的情况下,上报告警信息,其中,所述告警信息用于指示所述目标控制节点所在的逻辑环发生故障。
12.根据权利要求7所述的方法,其特征在于,
在所述第四控制节点中包括所述第二控制节点的情况下,所述方法还包括:
断开与所述第二控制节点之间的链接。
13.根据权利要求1所述的方法,其特征在于,
所述将所述第二数据包发送至第二控制节点,包括:
通过计算快速连接协议的内存协议将所述第二数据包存储至所述分布式系统的服务器主存,得到数据副本;
对所述第二数据包进行巨型帧封装处理,得到目标巨型帧;
传输所述目标巨型帧至所述第二控制节点。
14.根据权利要求13所述的方法,其特征在于,
所述对所述第二数据包进行巨型帧封装处理,得到目标巨型帧,包括:
将所述第二数据包添加至缓存中;
将所述缓存中的数据封装为巨型帧,得到所述目标巨型帧;
释放所述缓存。
15.根据权利要求13所述的方法,其特征在于,
在所述传输所述目标巨型帧至所述第二控制节点之后,所述方法还包括:
检测所述目标巨型帧是否发生丢包;
在所述目标巨型帧发生丢包的情况下,通过计算快速连接协议的缓存一致性协议从所述服务器主存读取所述数据副本;
向所述第二控制节点传输所述数据副本。
16.根据权利要求15所述的方法,其特征在于,
所述向所述第二控制节点传输所述数据副本,包括:
将所述数据副本拆分封装为标准以太网帧;
向所述第二控制节点传输所述标准以太网帧。
17.根据权利要求16所述的方法,其特征在于,
在所述向所述第二控制节点传输所述标准以太网帧之后,所述方法还包括:
在所述标准以太网帧传输成功的情况下,检测所述目标控制节点的网络状态;
在所述网络状态达到目标网络状态的情况下,对后续数据包恢复所述巨型帧封装处理。
18.根据权利要求1至17任一项中所述的方法,其特征在于,
在所述接收第一控制节点发送的第一数据包之前,所述方法还包括:
根据所述分布式系统中所包括的节点数量确定M和每个节点集合中所包括的节点的数量;
按照M和每个节点集合中所包括的节点的数量划分所述分布式系统中所包括的节点,得到所述M组节点集合;
建立所述M组节点集合之间的链接,得到所述逻辑环。
19.一种分布式系统,其特征在于,
所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M条所述逻辑链依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,其中,
每个控制节点作为目标控制节点,用于执行所述权利要求1至18任一项中所述的方法的步骤。
20.一种分布式系统的节点训练装置,其特征在于,
应用于所述分布式系统中部署的目标控制节点,所述分布式系统中所包括的节点被划分至M组节点集合,M大于1,每个所述节点集合中包括的多个节点依次连接得到具有方向的逻辑链,M组节点集合依次连接得到具有方向的逻辑环,每条逻辑链中的最后一个节点为控制节点,所述目标控制节点为每个控制节点,所述装置包括:
第一接收模块,用于接收第一控制节点发送的第一数据包,其中,所述第一控制节点是所述目标控制节点在所述逻辑环中的上一个控制节点;
第一执行模块,用于使用所述第一数据包与目标数据包执行所述目标控制节点的目标训练任务,得到第二数据包,其中,所述目标数据包中携带了所述目标控制节点所在的目标节点集合中全部节点的训练数据;
第一发送模块,用于将所述第二数据包发送至第二控制节点,直至所述目标控制节点接收到所述分布式系统中全部控制节点的训练数据,其中,所述第二控制节点是所述目标控制节点在所述逻辑环中的下一个控制节点,所述分布式系统中全部控制节点的训练数据以及所述目标数据包被下发至所述目标节点集合中除所述目标控制节点之外的其他节点。
21.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至18任一项中所述的方法的步骤。
22.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现所述权利要求1至18任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336475.3A CN117076937B (zh) | 2023-10-16 | 2023-10-16 | 分布式系统的节点训练方法、装置和分布式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336475.3A CN117076937B (zh) | 2023-10-16 | 2023-10-16 | 分布式系统的节点训练方法、装置和分布式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076937A CN117076937A (zh) | 2023-11-17 |
CN117076937B true CN117076937B (zh) | 2024-02-09 |
Family
ID=88704647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311336475.3A Active CN117076937B (zh) | 2023-10-16 | 2023-10-16 | 分布式系统的节点训练方法、装置和分布式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076937B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785490B (zh) * | 2024-02-27 | 2024-05-10 | 苏州元脑智能科技有限公司 | 一种图神经网络模型的训练架构、方法、系统及服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866059A (zh) * | 2021-01-18 | 2021-05-28 | 中国信息通信研究院 | 一种基于人工智能应用的无损网络性能测试方法和装置 |
CN114791856A (zh) * | 2022-06-27 | 2022-07-26 | 北京瑞莱智慧科技有限公司 | 基于K8s的分布式训练任务处理方法、相关设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11631035B2 (en) * | 2019-11-05 | 2023-04-18 | Technion Research & Development Foundation Limited | Gap-aware mitigation of gradient staleness |
-
2023
- 2023-10-16 CN CN202311336475.3A patent/CN117076937B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866059A (zh) * | 2021-01-18 | 2021-05-28 | 中国信息通信研究院 | 一种基于人工智能应用的无损网络性能测试方法和装置 |
CN114791856A (zh) * | 2022-06-27 | 2022-07-26 | 北京瑞莱智慧科技有限公司 | 基于K8s的分布式训练任务处理方法、相关设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117076937A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117076937B (zh) | 分布式系统的节点训练方法、装置和分布式系统 | |
CN108040108A (zh) | 通信切换方法、装置、协调服务器及可读存储介质 | |
EP3713182A1 (en) | Processing method and device for cache synchronous exception | |
CN106598633B (zh) | 配置文件的更新方法、客户端及服务器 | |
CN114079541A (zh) | 序列号的指示、确定方法及装置 | |
CN112181594A (zh) | 一种虚拟机热迁移方法、装置、设备及存储介质 | |
CN112202896A (zh) | 边缘计算方法、框架、终端和存储介质 | |
CN116670636A (zh) | 数据存取方法、装置和存储介质 | |
KR102487367B1 (ko) | 동기화 방법 및 장치 | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
US20230189077A1 (en) | Network performing distributed unit scaling and method for operating the same | |
CN104009943A (zh) | Lldp报文传输方法及dcb设备 | |
CN103428677A (zh) | 分组业务数据的发送方法及信令信道发送信息的接收方法 | |
CN114172998B (zh) | 一种文件传输方法、装置、电子设备及存储介质 | |
CN106714294B (zh) | 应用于智能电网的多通道tcp/ip头压缩的同步方法 | |
CN110704361A (zh) | Rdma数据发送及接收方法、电子设备及可读存储介质 | |
CN111740878A (zh) | 网络通路检测方法及节点 | |
CN110909055A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN116028279A (zh) | 业务数据的传输方法及装置、服务器 | |
CN112214259B (zh) | 地图加载系统、方法及装置 | |
CN112423278B (zh) | ZigBee路由器设备自恢复组网方法及终端设备 | |
CN113132435B (zh) | 一种存储、业务网分离的分布式训练网络系统及通信方法 | |
WO2023019712A1 (zh) | 基于Zlib压缩算法的云计算资源管理器通信延迟优化方法 | |
CN108418716B (zh) | 网络连接恢复方法、装置、系统及可读存储介质 | |
CN116017350A (zh) | 用于无人驾驶设备的通信方法、装置、电子设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |