CN114884908A - 一种数据同步方法、装置、设备及存储介质 - Google Patents

一种数据同步方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114884908A
CN114884908A CN202210468218.4A CN202210468218A CN114884908A CN 114884908 A CN114884908 A CN 114884908A CN 202210468218 A CN202210468218 A CN 202210468218A CN 114884908 A CN114884908 A CN 114884908A
Authority
CN
China
Prior art keywords
accelerating
devices
physical topology
data
processing
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.)
Granted
Application number
CN202210468218.4A
Other languages
English (en)
Other versions
CN114884908B (zh
Inventor
曹芳
郭振华
王丽
高开
赵雅倩
李仁刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202210468218.4A priority Critical patent/CN114884908B/zh
Publication of CN114884908A publication Critical patent/CN114884908A/zh
Priority to PCT/CN2022/132053 priority patent/WO2023207035A1/zh
Application granted granted Critical
Publication of CN114884908B publication Critical patent/CN114884908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Abstract

本申请涉及模型训练技术领域,公开了一种数据同步方法、装置、设备及存储介质,包括:在相同种类的加速设备之间构建一级物理拓扑,在不同种类的加速设备之间构建二级物理拓扑;二级物理拓扑中各加速设备通过缓存一致性协议连接;按照一级物理拓扑通过scatter_reduce通信方式对加速设备中的待同步数据进行第一处理,按照二级物理对加速设备中第一处理后的数据进行第二处理;按照二级物理拓扑通过all_gather通信方式对加速设备中第二处理后的数据进行第三处理,并按照一级物理拓扑对加速设备中的第三处理后的数据进行第四处理。能够实现基于多种异构加速设备进行深度学习数据并行,提高硬件资源利用率和数据通信效率。

Description

一种数据同步方法、装置、设备及存储介质
技术领域
本发明涉及模型训练技术领域,特别涉及一种数据同步方法、装置、设备及存储介质。
背景技术
随着深度神经网络的广泛应用,其模型尺寸变得越来越大,这种增长使得高效的模型训练变得更加重要,分布式训练应运而生。目前的分布式模型训练方法有数据并行和模型并行两种。其中最常用且应用最广泛的是数据并行方法。数据并行方法将待训练的输入数据进行划分,每次训练迭代过程中在多块加速设备上同时训练多个batch数据。数据并行又分为同步数据并行和异步数据并行两种方法。其中同步数据并行方法,所有加速设备计算完batch数据梯度后,统一将多个梯度合在一起,更新共享模型参数。这种方法可以减少用于计算梯度的权重的陈旧性,使模型最终能够达到较高的收敛精度,具有较好的统计效率,因此应用广泛。在同步数据并行的分布式算法中,Allreduce集合通信算子发挥着重要作用,Allreduce是一个集合通信算子,它的目标是将不同计算节点中的数据整合之后再把结果分发给各个节点,最终使得各计算节点都拥有整合后的数据。
目前,在进行同步数据并行训练过程中使用的设备均被要求为同类设备,例如全部使用GPU设备或全部使用FPGA设备。使用同类设备的其中一个主要原因是,Allreduce的过程需要设备间通信交换数据,同类设备间通信通常拥有较高的带宽和较低的延迟,而异构设备间通信则通常要付出较大的代价。例如GPU设备间可通过NVLink进行高速互联通信,但GPU于FPGA间通信则往往需要CPU作为中间介质进行传输,效率很低。这样一来,若强行将各种异构设备放在同一集群中进行统一的同步数据并行训练,效率必然会很低。然而现代数据中心当中,GPU,FPGA等加速设备被广泛部署,若每次数据并行训练只能使用一类设备,那么必然造成资源的闲置与浪费。
因此,上述技术问题是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据同步方法、装置、设备及存储介质,能够实现基于多种异构加速设备进行深度学习数据并行,提高硬件资源利用率和数据通信效率。其具体方案如下:
本申请的第一方面提供了一种数据同步方法,包括:
在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;
按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;
按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。
可选的,各所述一级物理拓扑对应的加速设备相互独立,在执行第一处理和第四处理时,不同所述一级物理拓扑对应的加速设备并发执行;
各所述二级物理拓扑对应的加速设备相互独立,在执行第二处理和第三处理时,不同所述二级物理拓扑对应的加速设备并发执行。
可选的,所述数据同步方法,还包括:
当存在多个所述目标服务器,则在不同的所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器中相同种类的加速设备的数量一致的环形结构的三级物理拓扑;其中,每个所述三级物理拓扑中包含与所述目标服务器数量一致的加速设备且各加速设备位于不同的所述目标服务器;
所述按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理之后,还包括:
按照所述三级物理拓扑对不同所述目标服务器中的加速设备中第二处理后的数据进行规约操作并将规约操作后的数据分别广播至各加速设备,以将广播后的数据确定为各加速设备中第二处理后的数据。
可选的,所述按照所述三级物理拓扑对不同所述目标服务器中的加速设备中第二处理后的数据进行规约操作并将规约操作后的数据分别广播至各加速设备,包括:
利用可编程交换机接收不同所述目标服务器中的加速设备中第二处理后的数据并按照所述三级物理拓扑对接收到的数据进行规约操作,以及利用所述可编程交换机将规约操作后的数据分别广播至各加速设备;其中,每个所述目标服务器均与一个所述可编程交换机连接。
可选的,所述在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑,包括:
分别在每个所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器对应的所述一级物理拓扑,并在每个所述目标服务器的不同种类的加速设备之间构建与每个所述目标服务器对应的所述二级物理拓扑;
相应的,所述按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理,包括:
分别按照每个所述目标服务器对应的所述二级物理拓扑通过all_gather通信方式对每个所述目标服务器的不同种类的加速设备中第二处理后的数据进行第三处理,并分别按照每个所述目标服务器对应的所述一级物理拓扑通过all_gather通信方式对每个所述目标服务器的相同种类的加速设备中的第三处理后的数据进行第四处理。
可选的,各所述三级物理拓扑对应的加速设备相互独立,在执行规约操作时,不同所述三级物理拓扑对应的加速设备并发执行。
可选的,在相同种类的加速设备之间构建物理拓扑之前,还包括:
判断相同种类的加速设备之间通过其它可用连接方式进行数据传输的带宽是否高于通过缓存一致性协议连接进行数据传输的带宽,如果是,则在相同种类的加速设备之间以其它可用连接方式构建物理拓扑。
本申请的第二方面提供了一种数据同步装置,包括:
拓扑构建模块,用于在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;
第一同步模块,用于按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;
第二同步模块,用于按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述数据同步方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述数据同步方法。
本申请中,先在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;然后按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;最后按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。可见,本申请基于不同种类的加速设备之间的缓存一致性协议连接方式构建物理拓扑,同时结合由相同种类的加速设备构建的物理拓扑进行scatter_reduce通信和all_gather通信。能够对不同种类的加速设备也即异构加速设备进行数据同步,实现基于多种异构加速设备进行深度学习数据并行。同时提高硬件资源利用率,使得深度学习同步数据并行训练过程中的数据通信效率较高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种数据同步方法流程图;
图2为本申请提供的一种具体的数据同步方法示意图;
图3为本申请提供的一种CXL异构设备集群示意图;
图4为本申请提供的一种一级物理拓结构图;
图5为本申请提供的一种二级物理拓结构图;
图6为本申请提供的一种三级物理拓结构图;
图7为本申请提供的一种数据同步装置结构示意图;
图8为本申请提供的一种数据同步电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,同类设备间通信通常拥有较高的带宽和较低的延迟的优点,异构设备间通信则通常要付出较大的代价,为此在进行同步数据并行训练过程中使用的设备均被要求为同类设备。如果强行将各种异构设备放在同一集群中进行统一的同步数据并行训练,效率必然会很低。针对上述技术缺陷,本申请提供一种数据同步方案,能够实现基于多种异构加速设备进行深度学习数据并行,提高硬件资源利用率和数据通信效率。
图1为本申请实施例提供的一种数据同步方法流程图。参见图1所示,该数据同步方法包括:
S11:在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接。
本实施例中,首先对所述目标服务器及其搭载的加速设备进行约束,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,加速设备包括但不限于GPU、FPGA等设备。不同种类的加速设备的数量相同且至少为两个。在缓存一致性协议下加速设备也可称为CXL(Compute Express Link)设备,CXL全称是Intel提出的一种开放工业标准用于高带宽低延迟的设备互联,它可以用来连接CPU和Accelerator、Memory Buffer以及Smart NIC等类型的设备。CXL解决了异构设备间的低效通信问题,使得基于多种异构设备进行深度学习数据并行方法训练成为可能。
本实施例中,异构设备之间的物理连接方式有两种,分别是通过将CPU作为中间介质进行连接和通过缓存一致性协议连接。由于所述目标服务器中的加速设备都支持缓存一致性协议,且使用缓存一致性协议进行数据传输的带宽明显要高于将CPU作为中间介质的传输方式,因此此处选择使用CXL连接方式。从同一服务器节点中的不同类设备中依次获取一个CXL设备,将这些异构设备使用CXL相连接。也即异构设备之间通过缓存一致性协议进行连接也即所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接。
需要说明的是,虽然各个同类CXL设备间也可通过CXL相连,但CXL相连进行数据传输的带宽并一定是最优的。因此,在构建所述一级物理拓扑时,需要先判断相同种类的加速设备之间通过其它可用连接方式进行数据传输的带宽是否高于通过缓存一致性协议连接进行数据传输的带宽,如果是,则在相同种类的加速设备之间以其它可用连接方式构建物理拓扑。其它可用连接方式可以为其原有的连接方式,通过将同类设备间的CXL带宽和其原有的连接方式带宽对比,选出相对最优带宽连接方式,并使用此最优连接方式将同一所述目标服务器内的同类加速设备两两相连接。例如,经过比较各GPU设备间使用NVLink连接的数据传输带宽要优于使用CXL连接的带宽,则该拓扑中选用NVLink方式连接。
S12:按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理。
S13:按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。
本实施例中,由于AllReduce聚合操纵包括scatter_reduce阶段和all_gather阶段。关于每个阶段的具体执行逻辑与现有技术中的执行逻辑一致,本实施例对此不进行赘述。不同之处在于,本实施例的执行基础是构建好的以及物理拓扑和二级物理拓扑。具体来说,首先按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理。然后按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。至此所述目标服务器的每个加速设备上均均拥有了完整的全局数据聚合结果。
可以理解,本实施例各所述一级物理拓扑对应的加速设备相互独立,在执行第一处理和第四处理时,不同所述一级物理拓扑对应的加速设备并发执行。同时各所述二级物理拓扑对应的加速设备相互独立,在执行第二处理和第三处理时,不同所述二级物理拓扑对应的加速设备并发执行。
可见,本申请实施例先在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;然后按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;最后按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。本申请实施例基于不同种类的加速设备之间的缓存一致性协议连接方式构建物理拓扑,同时结合由相同种类的加速设备构建的物理拓扑进行scatter_reduce通信和all_gather通信。能够对不同种类的加速设备也即异构加速设备进行数据同步,实现基于多种异构加速设备进行深度学习数据并行。同时提高硬件资源利用率,使得深度学习同步数据并行训练过程中的数据通信效率较高。
图2为本申请实施例提供的一种具体的数据同步方法流程图。参见图2所示,该数据同步方法包括:
S21:当存在多个目标服务器,分别在每个所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器对应的一级物理拓扑,并在每个所述目标服务器的不同种类的加速设备之间构建与每个所述目标服务器对应的二级物理拓扑。
本实施例中,数据同步的基础设施为服务器集群,也即存在多个所述目标服务器,每个所述目标服务中包含相同数据及种类的加速设备,以得到部署了各种支持CXL协议的异构设备的用于深度神经网络训练的服务器集群。图3所示为本实施例自定义的CXL设备集群示意图。设定集群中包含m个服务器,每个服务器上的CXL设备分布均匀,即每个服务器上有相同数量的CXL异构设备,且每个服务器节点中各类异构设备的数量也相同。例如集群中共有n类共P个CXL异构设备,则每个服务器上均部署有这n类设备,且每个服务器节点上每类CXL设备的个数为P/(mn)。各个服务器节点之间通过可编程交换机相连接。
在此基础上,分别在每个所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器对应的一级物理拓扑,并在每个所述目标服务器的不同种类的加速设备之间构建与每个所述目标服务器对应的二级物理拓扑。可以理解,所述一级物理拓扑包括由{CXL_A01,CXL_A02,CXL_A03,…}组成的ring_1_1、由{CXL_B01,CXL_B02,CXL_B03,…}组成的ring_1_2等,如图4所示。所述二级物理拓扑包括由由{CXL_A01,CXL_B01,…}组成的ring_2_1,由{CXL_A02,CXL_B02,…}组成的ring_2_2等,如图5所示。
S22:在不同的所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器中相同种类的加速设备的数量一致的环形结构的三级物理拓扑;其中,每个所述三级物理拓扑中包含与所述目标服务器数量一致的加速设备且各加速设备位于不同的所述目标服务器。
本实施例中,由于不同的所述目标服务器中的加速设备上的数据也需参与同步,故还需要在不同的所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器中相同种类的加速设备的数量一致的环形结构的三级物理拓扑。其中,每个所述三级物理拓扑中包含与所述目标服务器数量一致的加速设备且各加速设备位于不同的所述目标服务器。每个所述三级物理拓扑包括由{CXL_A01,CXL_A11,…,CXL_AM1}组成的ring_3_1,由{CXL_A02,CXL_A12,…,CXL_AM2}组成的ring_3_2,由{CXL_B01,CXL_B11,…,CXL_BM1}组成的ring_3_3等,如图6所示。
S23:分别按照每个所述目标服务器对应的所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照每个所述目标服务器对应的所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理。
S24:按照所述三级物理拓扑对不同所述目标服务器中的加速设备中第二处理后的数据进行规约操作并将规约操作后的数据分别广播至各加速设备,以将广播后的数据确定为各加速设备中第二处理后的数据。
本实施例中,对于每个所述目标服务器,均执行相同scatter_reduce操作。具体参考前述实施例公开的内容,本申请对此不再进行赘述。第一处理完成之后,一级物理拓扑中的每个CXL设备都有一个不同于该拓扑中任何其他CXL设备的数据块的部分聚合结果。
在此之后,按照所述三级物理拓扑对不同所述目标服务器中的加速设备中第二处理后的数据进行规约操作并将规约(reduce)操作后的数据分别广播(broadcast)至各加速设备,以将广播后的数据确定为各加速设备中第二处理后的数据。不同所述目标服务器通过可编程交换机相连接。也即利用所述可编程交换机接收不同所述目标服务器中的加速设备中第二处理后的数据,并按照所述三级物理拓扑对接收到的数据进行规约操作,同时利用所述可编程交换机将规约操作后的数据分别广播至各加速设备。同样的,各所述三级物理拓扑对应的加速设备相互独立,在执行规约操作时,不同所述三级物理拓扑对应的加速设备并发执行。
S25:分别按照每个所述目标服务器对应的所述二级物理拓扑通过all_gather通信方式对每个所述目标服务器的不同种类的加速设备中第二处理后的数据进行第三处理,并分别按照每个所述目标服务器对应的所述一级物理拓扑通过all_gather通信方式对每个所述目标服务器的相同种类的加速设备中的第三处理后的数据进行第四处理。
本实施例中,在第二阶段,分别按照每个所述目标服务器对应的所述二级物理拓扑通过all_gather通信方式对每个所述目标服务器的不同种类的加速设备中第二处理后的数据进行第三处理,也即返回所述二级物理拓扑执行all_gather操作。然后分别按照每个所述目标服务器对应的所述一级物理拓扑通过all_gather通信方式对每个所述目标服务器的相同种类的加速设备中的第三处理后的数据进行第四处理,也即返回一级物理拓扑上面执行all_gather操作。至此所述目标服务器的每个加速设备上均均拥有了完整的全局数据聚合结果。
可见,本申请实施例首先对CXL异构设备集群进行了定义,即部署了各种支持CXL协议的异构设备的用于深度神经网络训练的服务器集群。然后基于所描述异构设备集群构建了分级物理拓扑,将物理拓扑分为三个级别,通过分别在每一级上进行特定的操作最终得到完整的Allreduce聚合结果,解决了CXL异构设备集群中同步数据并行训练中的Allreduce数据聚合问题,提高了数据中心中硬件资源的利用率。
参见图7所示,本申请实施例还相应公开了一种数据同步装置,包括:
拓扑构建模块11,用于在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;
第一同步模块12,用于按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;
第二同步模块13,用于按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。
可见,本申请实施例先在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;然后按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;最后按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。本申请实施例基于不同种类的加速设备之间的缓存一致性协议连接方式构建物理拓扑,同时结合由相同种类的加速设备构建的物理拓扑进行scatter_reduce通信和all_gather通信。能够对不同种类的加速设备也即异构加速设备进行数据同步,实现基于多种异构加速设备进行深度学习数据并行。同时提高硬件资源利用率,使得深度学习同步数据并行训练过程中的数据通信效率较高。
在一些具体实施例中,当存在多个所述目标服务器,所述数据同步装置还包括:
集群拓扑构建模块,用于在不同的所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器中相同种类的加速设备的数量一致的环形结构的三级物理拓扑;其中,每个所述三级物理拓扑中包含与所述目标服务器数量一致的加速设备且各加速设备位于不同的所述目标服务器;
规约及广播模块,用于按照所述三级物理拓扑对不同所述目标服务器中的加速设备中第二处理后的数据进行规约操作并将规约操作后的数据分别广播至各加速设备,以将规约操作后的数据确定为各加速设备中第二处理后的数据。
在一些具体实施例中,所述数据同步装置还包括:
判断模块,用于判断相同种类的加速设备之间通过其它可用连接方式进行数据传输的带宽是否高于通过缓存一致性协议连接进行数据传输的带宽,如果是,则在相同种类的加速设备之间以其它可用连接方式构建物理拓扑。
进一步的,本申请实施例还提供了一种电子设备。图8是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图8为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据同步方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据同步方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的拓扑数据等。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的数据同步方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的数据同步方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据同步方法,其特征在于,包括:
在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;
按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;
按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。
2.根据权利要求1所述的数据同步方法,其特征在于,各所述一级物理拓扑对应的加速设备相互独立,在执行第一处理和第四处理时,不同所述一级物理拓扑对应的加速设备并发执行;
各所述二级物理拓扑对应的加速设备相互独立,在执行第二处理和第三处理时,不同所述二级物理拓扑对应的加速设备并发执行。
3.根据权利要求1所述的数据同步方法,其特征在于,还包括:
当存在多个所述目标服务器,则在不同的所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器中相同种类的加速设备的数量一致的环形结构的三级物理拓扑;其中,每个所述三级物理拓扑中包含与所述目标服务器数量一致的加速设备且各加速设备位于不同的所述目标服务器;
所述按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理之后,还包括:
按照所述三级物理拓扑对不同所述目标服务器中的加速设备中第二处理后的数据进行规约操作并将规约操作后的数据分别广播至各加速设备,以将广播后的数据确定为各加速设备中第二处理后的数据。
4.根据权利要求3所述的数据同步方法,其特征在于,所述按照所述三级物理拓扑对不同所述目标服务器中的加速设备中第二处理后的数据进行规约操作并将规约操作后的数据分别广播至各加速设备,包括:
利用可编程交换机接收不同所述目标服务器中的加速设备中第二处理后的数据并按照所述三级物理拓扑对接收到的数据进行规约操作,以及利用所述可编程交换机将规约操作后的数据分别广播至各加速设备;其中,每个所述目标服务器均与一个所述可编程交换机连接。
5.根据权利要求3所述的数据同步方法,其特征在于,所述在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑,包括:
分别在每个所述目标服务器的相同种类的加速设备之间构建与每个所述目标服务器对应的所述一级物理拓扑,并在每个所述目标服务器的不同种类的加速设备之间构建与每个所述目标服务器对应的所述二级物理拓扑;
相应的,所述按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理,包括:
分别按照每个所述目标服务器对应的所述二级物理拓扑通过all_gather通信方式对每个所述目标服务器的不同种类的加速设备中第二处理后的数据进行第三处理,并分别按照每个所述目标服务器对应的所述一级物理拓扑通过all_gather通信方式对每个所述目标服务器的相同种类的加速设备中的第三处理后的数据进行第四处理。
6.根据权利要求3所述的数据同步方法,其特征在于,各所述三级物理拓扑对应的加速设备相互独立,在执行规约操作时,不同所述三级物理拓扑对应的加速设备并发执行。
7.根据权利要求1至6任一项所述的数据同步方法,其特征在于,在相同种类的加速设备之间构建物理拓扑之前,还包括:
判断相同种类的加速设备之间通过其它可用连接方式进行数据传输的带宽是否高于通过缓存一致性协议连接进行数据传输的带宽,如果是,则在相同种类的加速设备之间以其它可用连接方式构建物理拓扑。
8.一种数据同步装置,其特征在于,包括:
拓扑构建模块,用于在目标服务器的相同种类的加速设备之间构建与加速设备种类数量一致的环形结构的一级物理拓扑,并在所述目标服务器的不同种类的加速设备之间构建与相同种类的加速设备的数量一致的环形结构的二级物理拓扑;其中,所述目标服务器中设置有不同种类的支持缓存一致性协议的加速设备,不同种类的加速设备的数量相同且至少为两个,所述二级物理拓扑中各加速设备通过缓存一致性协议进行连接;
第一同步模块,用于按照所述一级物理拓扑通过scatter_reduce通信方式对相同种类的加速设备中与模型训练相关的待同步数据进行第一处理,并按照所述二级物理拓扑通过scatter_reduce通信方式对不同种类的加速设备中第一处理后的数据进行第二处理;
第二同步模块,用于按照所述二级物理拓扑通过all_gather通信方式对不同种类的加速设备中第二处理后的数据进行第三处理,并按照所述一级物理拓扑通过all_gather通信方式对相同种类的加速设备中的第三处理后的数据进行第四处理。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的数据同步方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的数据同步方法。
CN202210468218.4A 2022-04-29 2022-04-29 一种数据同步方法、装置、设备及存储介质 Active CN114884908B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210468218.4A CN114884908B (zh) 2022-04-29 2022-04-29 一种数据同步方法、装置、设备及存储介质
PCT/CN2022/132053 WO2023207035A1 (zh) 2022-04-29 2022-11-15 一种数据同步方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210468218.4A CN114884908B (zh) 2022-04-29 2022-04-29 一种数据同步方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114884908A true CN114884908A (zh) 2022-08-09
CN114884908B CN114884908B (zh) 2024-02-13

Family

ID=82673258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210468218.4A Active CN114884908B (zh) 2022-04-29 2022-04-29 一种数据同步方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114884908B (zh)
WO (1) WO2023207035A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962438A (zh) * 2023-09-21 2023-10-27 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、电子设备及可读存储介质
WO2023207035A1 (zh) * 2022-04-29 2023-11-02 浪潮电子信息产业股份有限公司 一种数据同步方法、装置、设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325343B1 (en) * 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
US20190312772A1 (en) * 2018-04-04 2019-10-10 EMC IP Holding Company LLC Topology-aware provisioning of hardware accelerator resources in a distributed environment
US20190332422A1 (en) * 2018-04-26 2019-10-31 International Business Machines Corporation Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster
CN110647999A (zh) * 2019-08-23 2020-01-03 苏州浪潮智能科技有限公司 一种基于拓扑结构提高深度学习训练速度的方法及装置
CN111105016A (zh) * 2019-12-06 2020-05-05 浪潮电子信息产业股份有限公司 一种数据处理方法、装置、电子设备及可读存储介质
CN111488987A (zh) * 2020-04-16 2020-08-04 苏州浪潮智能科技有限公司 一种深度学习大模型训练的方法、系统、设备及介质
CN111597139A (zh) * 2020-05-13 2020-08-28 苏州浪潮智能科技有限公司 一种gpu的通信方法、系统、设备以及介质
CN111880911A (zh) * 2020-06-19 2020-11-03 浪潮电子信息产业股份有限公司 一种任务负载调度方法、装置、设备及可读存储介质
CN112333011A (zh) * 2020-10-23 2021-02-05 苏州浪潮智能科技有限公司 一种网络拓扑图生成方法、装置及电子设备和存储介质
CN113568860A (zh) * 2021-07-23 2021-10-29 北京百度网讯科技有限公司 基于深度学习的拓扑映射方法、装置、介质及程序产品
CN114050975A (zh) * 2022-01-10 2022-02-15 苏州浪潮智能科技有限公司 一种异构多节点互联拓扑生成方法和存储介质
CN114202027A (zh) * 2021-12-10 2022-03-18 北京百度网讯科技有限公司 执行配置信息的生成方法、模型训练方法和装置
CN114281521A (zh) * 2021-11-21 2022-04-05 苏州浪潮智能科技有限公司 优化深度学习异构资源通信效率方法、系统、设备及介质
US20220129302A1 (en) * 2019-07-15 2022-04-28 Beijing Oneflow Technology Co., Ltd Data processing system and method for heterogeneous architecture

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908799A (zh) * 2019-11-08 2020-03-24 浪潮电子信息产业股份有限公司 一种分布式训练中的通信方法、装置、设备、介质
CN114884908B (zh) * 2022-04-29 2024-02-13 浪潮电子信息产业股份有限公司 一种数据同步方法、装置、设备及存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325343B1 (en) * 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
US20190312772A1 (en) * 2018-04-04 2019-10-10 EMC IP Holding Company LLC Topology-aware provisioning of hardware accelerator resources in a distributed environment
US20190332422A1 (en) * 2018-04-26 2019-10-31 International Business Machines Corporation Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster
US20220129302A1 (en) * 2019-07-15 2022-04-28 Beijing Oneflow Technology Co., Ltd Data processing system and method for heterogeneous architecture
CN110647999A (zh) * 2019-08-23 2020-01-03 苏州浪潮智能科技有限公司 一种基于拓扑结构提高深度学习训练速度的方法及装置
CN111105016A (zh) * 2019-12-06 2020-05-05 浪潮电子信息产业股份有限公司 一种数据处理方法、装置、电子设备及可读存储介质
CN111488987A (zh) * 2020-04-16 2020-08-04 苏州浪潮智能科技有限公司 一种深度学习大模型训练的方法、系统、设备及介质
CN111597139A (zh) * 2020-05-13 2020-08-28 苏州浪潮智能科技有限公司 一种gpu的通信方法、系统、设备以及介质
CN111880911A (zh) * 2020-06-19 2020-11-03 浪潮电子信息产业股份有限公司 一种任务负载调度方法、装置、设备及可读存储介质
CN112333011A (zh) * 2020-10-23 2021-02-05 苏州浪潮智能科技有限公司 一种网络拓扑图生成方法、装置及电子设备和存储介质
CN113568860A (zh) * 2021-07-23 2021-10-29 北京百度网讯科技有限公司 基于深度学习的拓扑映射方法、装置、介质及程序产品
CN114281521A (zh) * 2021-11-21 2022-04-05 苏州浪潮智能科技有限公司 优化深度学习异构资源通信效率方法、系统、设备及介质
CN114202027A (zh) * 2021-12-10 2022-03-18 北京百度网讯科技有限公司 执行配置信息的生成方法、模型训练方法和装置
CN114050975A (zh) * 2022-01-10 2022-02-15 苏州浪潮智能科技有限公司 一种异构多节点互联拓扑生成方法和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VÍCTOR CAMPOS: "Distributed training strategies for a computer vision deep learning algorithm on a distributed GPU cluster", 《PROCEDIA COMPUTER SCIENCE》 *
朱虎明;李佩;焦李成;杨淑媛;侯彪;: "深度神经网络并行化研究综述", 计算机学报, no. 08 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023207035A1 (zh) * 2022-04-29 2023-11-02 浪潮电子信息产业股份有限公司 一种数据同步方法、装置、设备及存储介质
CN116962438A (zh) * 2023-09-21 2023-10-27 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、电子设备及可读存储介质
CN116962438B (zh) * 2023-09-21 2024-01-23 浪潮电子信息产业股份有限公司 一种梯度数据同步方法、系统、电子设备及可读存储介质

Also Published As

Publication number Publication date
WO2023207035A1 (zh) 2023-11-02
CN114884908B (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
CN114884908B (zh) 一种数据同步方法、装置、设备及存储介质
Lin et al. Scalable graph traversal on sunway taihulight with ten million cores
CN104754008B (zh) 网络存储节点、网络存储系统以及用于网络存储节点的装置和方法
CN110798517A (zh) 去中心化集群负载均衡方法、系统、移动终端及存储介质
CN106201720B (zh) 虚拟对称多处理虚拟机创建方法、数据处理方法及系统
CN114090388A (zh) 信息获取方法、服务器集群、服务器及设备
Yuan et al. Topology-oriented virtual network embedding approach for data centers
Meng et al. Achieving energy efficiency through dynamic computing offloading in mobile edge-clouds
CN103297542A (zh) 一种支持构件在线伸缩的云操作系统总线及均衡方法
CN113760498A (zh) 消息消费方法、装置、电子设备和计算机可读介质
CN116467081A (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN114579311B (zh) 执行分布式计算任务的方法、装置、设备以及存储介质
CN115879543A (zh) 一种模型训练方法、装置、设备、介质及系统
CN114020454A (zh) 一种内存管理方法、装置、设备及介质
CN104125292A (zh) 一种数据处理装置、云服务器及其使用方法
Pu et al. Practical implementation of an OPC UA multi-server aggregation and management architecture for IIoT
Dias et al. Reducing Hadoop 3. x energy consumption through Energy Efficient Ethernet
Zakariae A lightweight blockchain framework for IoT integration in smart cities
CN112181605A (zh) 负载均衡方法、装置、电子设备和计算机可读介质
CN107370652B (zh) 一种计算机节点动态互联平台及平台组网方法
Zhang et al. Optimising data access latencies of virtual machine placement based on greedy algorithm in datacentre
CN113472565B (zh) 服务器功能的扩容方法、装置、设备和计算机可读介质
CN117217002B (zh) 一种基于多步长的电磁暂态并行仿真方法和系统
Ambalavanan et al. HYDRO: Hybrid Orchestration of In-Network Computations for the Internet of Things
CN110475271B (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