CN113626331A - 通信算法的选择方法、装置、计算机设备及存储介质 - Google Patents
通信算法的选择方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113626331A CN113626331A CN202110923382.5A CN202110923382A CN113626331A CN 113626331 A CN113626331 A CN 113626331A CN 202110923382 A CN202110923382 A CN 202110923382A CN 113626331 A CN113626331 A CN 113626331A
- Authority
- CN
- China
- Prior art keywords
- communication algorithm
- alternative
- algorithm
- nodes
- alternative communication
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 330
- 238000010187 selection method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 102
- 238000012360 testing method Methods 0.000 claims abstract description 91
- 230000005540 biological transmission Effects 0.000 claims description 64
- 238000013135 deep learning Methods 0.000 claims description 57
- 238000012216 screening Methods 0.000 claims description 8
- 230000001133 acceleration Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明公开了一种通信算法的选择方法、装置、计算机设备及存储介质。该方法包括:根据节点的拓扑关系确定备选通信算法;根据备选通信算法对节点进行通信测试,得到测试结果;根据测试结果从备选通信算法中确定目标通信算法。能够实现由计算机自动的根据节点的拓扑关系确定备选通信算法,并对备选通信算法进行测试,无需人工参与,能够快速的对多个备选通信算法进行测试。根据测试结果能够准确的从备选通信算法中确定优选的目标通信算法,相对于根据人工经验确定目标通信算法,能够更加准确的确定目标通信算法,提高目标通信算法选择的准确性。
Description
技术领域
本发明实施例涉及人工智能技术,尤其涉及一种通信算法的选择方法、装置、计算机设备及存储介质。
背景技术
随着人工智能的推广,深度学习得到迅速发展。深度学习作为人工智能的一个细分技术,其使用的深度学习网络的规模以及训练数据的数据量在不断增大。在一个节点上对深度学习网络进行训练和使用,其处理能力逐渐无法满足使用需求。
为了更快的完成深度学习网络的训练,深度学习的训练从单节点向分布式运行的多节点方向转变。当多节点分布式的深度学习训练场景中,多节点之间的数据传输可以选择多种不同的算法。
目前有人工根据经验选择某中节点间的通信算法完整多节点之间的通信。然而,人工选择出的通信方式往往无法达到最佳的通信效率。如何快速准确的选择合适的通信算法成为亟待解决的问题。
发明内容
本发明提供一种通信算法的选择方法、装置、计算机设备及存储介质,以实现提高通信算法的选择速度及选择的准确性。
第一方面,本发明实施例提供了一种通信算法的选择方法,包括:
根据节点的拓扑关系确定备选通信算法;
根据备选通信算法对节点进行通信测试,得到测试结果;
根据测试结果从备选通信算法中确定目标通信算法。
在上述实施方式的基础上,根据备选通信算法对节点进行通信测试,得到测试结果,包括:
根据备选通信算法进行节点的数据传输,获取数据传输的时间信息;
相应的,根据测试结果从备选通信算法中确定目标通信算法,包括:
根据时间信息从备选通信算法中确定目标通信算法。
上述实施方式能够对应用备选通信算法的节点的数据传输的时间信息进行检测,并根据时间信息确定目标通信算法。可以根据时间信息确定通信时间最短的备选通信算法,将该备选通信算法作为目标通信算法,能够实现快速准确的确定通信时间最短的目标通信算法。
在上述实施方式的基础上,根据备选通信算法进行节点的数据传输,获取数据传输的时间信息,包括:
根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代;
获取深度学习的数据包在节点上进行传输的时间信息。
上述实施方式能够在深度学习网络的多次迭代后,获取数据包在节点上进行传输的时间信息。深度学习网络进经过多次迭代后,网络参数趋于稳定,在进行多次迭代后得到的时间信息能够更加准确的体现节点应用备选通信算法的数据传输速度,提高目标通信算法选择的准确性。
在上述实施方式的基础上,在根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代之前,还包括:
根据节点的拓扑关系确定多个分层,每个分层包括多个节点;
针对每个分层配置进程数量和分层内的数据包数据量;
相应的,根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代,包括:
根据配置的进程数量、数据包数据量以及备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代。
上述实施方式能够在节点被划分为多个分层时,针对每个分层使用的进程数量和分层内的数据包数据量进行配置,进而能够在具有多个分层的节点拓扑关系中,确定适用于具有多个分层的节点拓扑关系的优选的目标通信算法。此外,还可以通过目标通信算法查找进程数量和分层内的数据包数据量,进而为深度学习网络的优化提供参考。
在上述实施方式的基础上,在根据节点的拓扑关系确定备选通信算法之前,还包括:
若拓扑关系中包含分层,对分层的组内的节点拓扑关系进行调整,使分层的层内的节点拓扑关系相同。
上述实施方式能够在拓扑关系包括分层时,多每个分层内的节点拓扑关系进行调整,当分层具有相同的拓扑关系时,能够确保不同分层具有相同的拓扑关系,进而能够同步的进行数据传输,实现并行的进行备选通信算法的测试。
在上述实施方式的基础上,针对每个分层配置进程数量和分层内的数据包数据量,包括:
为每个分层配置固定的进程数量,为分层内的数据包数据量配置固定数值;
或者;
分别为每个分层配置多个不同的备选进程数量,为每个分层内的数据包数据量配置多个备选数值。
在上述实施方式能够为分层配置固定的进程数量和固定的数据包数据量,可以根据节点以及软件层面需求对进程数量和数据包数据量进行配置,实现在进程数量以及数据包数据量固定不变的情况下,选择优选的目标通信算法,提高通信算法选择的易用性。
在上述实施方式还可以为分层配置不同的备选进程数量,为数据包数据量配置不同的备选数值,进而能够得到采用不同进程数量以及数据包数量时,备选通信算法的多种实现方式。通过对备选通信算法进行测试,能够得到优选的进程数量、数据包数据量以及目标通信算法。
上述实施方式的基础上,在根据节点的拓扑关系确定备选通信算法之后,还包括:
根据节点包含的加速卡类型对备选通信算法进行筛选。
上述实施方式能够根据节点包含的加速卡类型确定适于加速卡使用的备选通信算法,进而避免使用与加速卡不适配的备选通信算法进行测试,提高目标通信算法的选择速度。
第二方面,本发明实施例还提供了一种通信算法的选择装置,包括:
备选通信算法确定模块,用于根据节点的拓扑关系确定备选通信算法;
测试模块,用于根据备选通信算法对节点进行通信测试,得到测试结果;
目标通信算法确定模块,用于根据测试结果从备选通信算法中确定目标通信算法。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现如本申请实施例所示的通信算法的选择方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本申请实施例所示的通信算法的选择方法。
本发明实施例提供的通信算法的选择方法,根据节点的拓扑关系确定备选通信算法;根据备选通信算法对节点进行通信测试,得到测试结果;根据测试结果从备选通信算法中确定目标通信算法。相对于目前通过人工选择通信算法,本发明实施例能够根据节点的拓扑关系初步确定出备选通信算法,分别对每个备选通信算法进行通信测试,根据得到的测试结果从备选通信算法中确定优选的目标通信算法。实现由计算机自动的根据节点的拓扑关系确定备选通信算法,并对备选通信算法进行测试,无需人工参与,能够快速的对多个备选通信算法进行测试。根据测试结果能够准确的从备选通信算法中确定优选的目标通信算法,相对于根据人工经验确定目标通信算法,能够更加准确的确定目标通信算法,提高目标通信算法选择的准确性。
附图说明
图1是本发明实施例一中的通信算法的选择方法的流程图;
图2是本发明实施例二中的通信算法的选择方法的流程图;
图3是本发明实施例三中的通信算法的选择方法的流程图;
图4是本发明实施例四中的通信算法的选择装置的结构示意图;
图5是本发明实施例五中的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的通信算法的选择方法的流程图,本实施例可适用于为执行人工智能技术的节点选择通信算法的情况,尤其是为执行深度学习算法的节点选择通信算法的情况,该方法可以由计算机设备来执行,计算机设备可以为个人电脑、服务器等。该方法具体包括如下步骤:
步骤110、根据节点的拓扑关系确定备选通信算法。
机器学习通过多个节点组成的节点拓扑运行机器学习模型。各节点之间存在拓扑关系,拓扑关系用于表示节点之间的连接关系。可以根据拓扑关系选择拓扑关系适用的多个备选通信算法。
备选通信算法包括非分层allreduce通信算法和分层allreduce通信算法。其中,非分层allreduce通信算法包括:Nccl/Rccl的allreduce算法、MPI的CPU allreduce算法、MPI的GPUDirect allreduce算法以及Gloo算法。分层allreduce通信算法包括多种分层的allreduce算法。
可选的,在根据节点的拓扑关系确定备选通信算法之后,还包括:
根据节点包含的加速卡类型对备选通信算法进行筛选。
节点可以包括多个加速卡,加速卡可以为指图形处理器(graphics processingunit,GPU)。根据加速卡类型选择与加速卡类型对多个备选通信算法进行筛选,筛选出与加速卡类型适配的备选通信算法。
上述实施方式能够根据节点包含的加速卡类型确定适于加速卡使用的备选通信算法,进而避免使用与加速卡不适配的备选通信算法进行测试,提高目标通信算法的选择速度。
步骤120、根据备选通信算法对节点进行通信测试,得到测试结果。
备选通信算法用于控制节点之间的通信传输。节点用于运行机器学习网络,节点进行数据处理后,将数据包发送到拓扑关系中的相邻节点。通信测试用于测试数据包在节点拓扑中的通信速度,通信速度可以以数据包的传输时间表示。将传输时间作为测试结果。通信测试的测试目标除了以传输时间作为测试结果,还可以以节点性能等要素作为测试结果进行测试。在节点拓扑中应用多个备选通信算法,得到多个测试结果。
步骤130、根据测试结果从备选通信算法中确定目标通信算法。
从多个测试结果中确定优选测试结果,将该优选测试结果对应对备选通信算法确定为目标通信算法。可选的,基于性能进行测试得到测试结果,将测试结果中性能指标最高的备选通信算法确定为目标通信算法。可选的,基于传输时间进行测试得到测试结果,将测试结果中传输时间最短的备选通信算法确定为目标通信算法。
本发明实施例提供的通信算法的选择方法,根据节点的拓扑关系确定备选通信算法;根据备选通信算法对节点进行通信测试,得到测试结果;根据测试结果从备选通信算法中确定目标通信算法。相对于目前通过人工选择通信算法,本发明实施例能够根据节点的拓扑关系初步确定出备选通信算法,分别对每个备选通信算法进行通信测试,根据得到的测试结果从备选通信算法中确定优选的目标通信算法。实现由计算机自动的根据节点的拓扑关系确定备选通信算法,并对备选通信算法进行测试,无需人工参与,能够快速的对多个备选通信算法进行测试。根据测试结果能够准确的从备选通信算法中确定优选的目标通信算法,相对于根据人工经验确定目标通信算法,能够更加准确的确定目标通信算法,提高目标通信算法选择的准确性。
实施例二
图2为本发明实施例二提供的通信算法的选择的流程图,作为对上述实施例的进一步说明,根据备选通信算法对节点进行通信测试,得到测试结果,包括:根据备选通信算法进行节点的数据传输,获取数据传输的时间信息。根据测试结果从备选通信算法中确定目标通信算法,包括:根据时间信息从备选通信算法中确定目标通信算法。此时,上述可通过下述方式实施:
步骤210、根据节点的拓扑关系确定备选通信算法。
可选的,在步骤210、根据节点的拓扑关系确定备选通信算法之前,还包括:
若拓扑关系中包含分层,对分层的组内的节点拓扑关系进行调整,使分层的层内的节点拓扑关系相同。
节点拓扑中可以包含多个分层,每个分层中包含多个节点。可以根据机器学习网络的计算需求对节点进行分层。获取每个分层的拓扑关系,调整多个分层的拓扑关系,使多个分层具有相同的节点拓扑关系。
上述实施方式能够在拓扑关系包括分层时,多每个分层内的节点拓扑关系进行调整,当分层具有相同的拓扑关系时,能够确保不同分层具有相同的拓扑关系,进而能够同步的进行数据传输,实现并行的进行备选通信算法的测试。
步骤220、根据备选通信算法进行节点的数据传输,获取数据传输的时间信息。
将备选通信算法应用于节点拓扑,以控制节点之间的数据传输。获取数据包在节点拓扑中传输的时间信息。示例性的,时间信息可以为数据包从节点拓扑的跟节点至末端节点的传输时间。
示例性的,步骤220,根据备选通信算法进行节点的数据传输,获取数据传输的时间信息,可通过下述方式实施:
根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代;获取深度学习的数据包在节点上进行传输的时间信息。
可选的,深度学习网络经过多次迭代后,深度学习网络中的网络参数数值趋于稳定,此时网络运行趋于稳定。在执行多次迭代后,对深度学习网络的数据包在节点拓扑上的传输的时间信息进行统计。
可选的,为了在深度学习初期尽早的确定适用于深度学习网络的通信算法,可以在深度学习启示的迭代周期中,获取深度学习的数据包在节点拓扑上进行传输的时间信息。
上述实施方式能够在深度学习网络的多次迭代后,获取数据包在节点上进行传输的时间信息。深度学习网络进经过多次迭代后,网络参数趋于稳定,在进行多次迭代后得到的时间信息能够更加准确的体现节点应用备选通信算法的数据传输速度,提高目标通信算法选择的准确性。
进一步的,在根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代之前,还包括:
根据节点的拓扑关系确定多个分层,每个分层包括多个节点;针对每个分层配置进程数量和分层内的数据包数据量。
相应的,根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代,可实施为:根据配置的进程数量、数据包数据量以及备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代。
对于具有分层的节点拓扑,对每个分层中的进程数量和分层内的数据包数量进行配置。根据配置的进程数量进行分层内的深度学习网络的数据处理。还可以配置分层内节点见传输的数据包数据量。
根据配置的进程数量执行分层内的深度学习网络的数据处理。在配置的进程数量以及数据包数据量的情况下,对数据包在节点拓扑内的传输进行测试。
上述实施方式能够在深度学习网络的多次迭代后,获取数据包在节点上进行传输的时间信息。深度学习网络进经过多次迭代后,网络参数趋于稳定,在进行多次迭代后得到的时间信息能够更加准确的体现节点应用备选通信算法的数据传输速度,提高目标通信算法选择的准确性。
其中,针对每个分层配置进程数量和分层内的数据包数据量,可实施为:
为每个分层配置固定的进程数量,为分层内的数据包数据量配置固定数值。
可以根据实用需求配置需要对进程数量和适于深度学习网络对数据包数据量。在配置了固定的进程数量和数据包数据量的情况下,对数据包对传输时间进行检测。
在上述实施方式能够为分层配置固定的进程数量和固定的数据包数据量,可以根据节点以及软件层面需求对进程数量和数据包数据量进行配置,实现在进程数量以及数据包数据量固定不变的情况下,选择优选的目标通信算法,提高通信算法选择的易用性。
针对每个分层配置进程数量和分层内的数据包数据量,还可实施为:
分别为每个分层配置多个不同的备选进程数量,为每个分层内的数据包数据量配置多个备选数值。
当用户无法确定备选进程数量以及数据包的备选数值时,需要配置多个不同的备选进程数量和多个数据包的备选数值,采用不同的备选进程数量和数据包的备选数值执行深度学习网络,并在每种备选进程数量和数据包的备选数值的情况下,对数据包的传输进行测试。
在上述实施方式能够为分层配置固定的进程数量和固定的数据包数据量,可以根据节点以及软件层面需求对进程数量和数据包数据量进行配置,实现在进程数量以及数据包数据量固定不变的情况下,选择优选的目标通信算法,提高通信算法选择的易用性。
在上述实施方式还可以为分层配置不同的备选进程数量,为数据包数据量配置不同的备选数值,进而能够得到采用不同进程数量以及数据包数量时,备选通信算法的多种实现方式。通过对备选通信算法进行测试,能够得到优选的进程数量、数据包数据量以及目标通信算法。
步骤230、根据时间信息从备选通信算法中确定目标通信算法。
从多个时间信息中确定数值最小的目标时间信息。将目标时间信息对应的备选通信算法确定为目标通信算法。
上述实施方式能够对应用备选通信算法的节点的数据传输的时间信息进行检测,并根据时间信息确定目标通信算法。可以根据时间信息确定通信时间最短的备选通信算法,将该备选通信算法作为目标通信算法,能够实现快速准确的确定通信时间最短的目标通信算法。
实施例三
图3为本发明实施例三提供的通信算法的选择方法的流程图,作为上述实施例的进一步说明,包括:
步骤310、若拓扑关系中包含分层,对分层的组内的节点拓扑关系进行调整,使分层的层内的节点拓扑关系相同。
步骤320、根据节点的拓扑关系确定备选通信算法。
步骤330、根据节点包含的加速卡类型对以确定的备选通信算法进行筛选。
步骤340、根据节点的拓扑关系确定多个分层,每个分层包括多个节点;针对每个分层配置进程数量和分层内的数据包数据量。
示例性的,为每个分层配置固定的进程数量,为分层内的数据包数据量配置固定数值。或者,分别为每个分层配置多个不同的备选进程数量,为每个分层内的数据包数据量配置多个备选数值。
步骤350、根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代;获取深度学习的数据包在节点上进行传输的时间信息。
步骤360、根据时间信息从备选通信算法中确定目标通信算法。
实施例四
图4为本发明实施例四提供的通信算法的选择装置的结构示意图,本实施例可适用于为执行人工智能技术的节点选择通信算法的情况,尤其是为执行深度学习算法的节点选择通信算法的情况,该装置可以由计算机设备来执行,计算机设备可以为个人电脑、服务器等。该装置包括:备选通信算法确定模块410、测试模块420和目标通信算法确定模块430。
备选通信算法确定模块410,用于根据节点的拓扑关系确定备选通信算法;
测试模块420,用于根据备选通信算法对节点进行通信测试,得到测试结果;
目标通信算法确定模块430,用于根据测试结果从备选通信算法中确定目标通信算法。
在上述实施方式的基础上,测试模块420用于:
根据备选通信算法进行节点的数据传输,获取数据传输的时间信息;
目标通信算法确定模块430用于:
根据时间信息从备选通信算法中确定目标通信算法。
上述实施方式测试模块420用于能够对应用备选通信算法的节点的数据传输的时间信息进行检测,目标通信算法确定模块430根据时间信息确定目标通信算法。可以根据时间信息确定通信时间最短的备选通信算法,将该备选通信算法作为目标通信算法,能够实现快速准确的确定通信时间最短的目标通信算法。
在上述实施方式的基础上,测试模块420用于:
根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代;
获取深度学习的数据包在节点上进行传输的时间信息。
上述实施方式中,测试模块420能够在深度学习网络的多次迭代后,获取数据包在节点上进行传输的时间信息。深度学习网络进经过多次迭代后,网络参数趋于稳定,在进行多次迭代后得到的时间信息能够更加准确的体现节点应用备选通信算法的数据传输速度,提高目标通信算法选择的准确性。
在上述实施方式的基础上,还包括配置模块。配置模块用于:
根据节点的拓扑关系确定多个分层,每个分层包括多个节点;
针对每个分层配置进程数量和分层内的数据包数据量;
测试模块420用于:根据配置的进程数量、数据包数据量以及备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代。
上述实施方式中,配置模块能够在节点被划分为多个分层时,针对每个分层使用的进程数量和分层内的数据包数据量进行配置,进而能够在具有多个分层的节点拓扑关系中,确定适用于具有多个分层的节点拓扑关系的优选的目标通信算法。此外,还可以通过目标通信算法查找进程数量和分层内的数据包数据量,进而为深度学习网络的优化提供参考
在上述实施方式的基础上,备选通信算法确定模块410用于:
若拓扑关系中包含分层,对分层的组内的节点拓扑关系进行调整,使分层的层内的节点拓扑关系相同。
上述实施方式中,备选通信算法确定模块410能够在拓扑关系包括分层时,多每个分层内的节点拓扑关系进行调整,当分层具有相同的拓扑关系时,能够确保不同分层具有相同的拓扑关系,进而能够同步的进行数据传输,实现并行的进行备选通信算法的测试
在上述实施方式的基础上,配置模块用于:
为每个分层配置固定的进程数量,为分层内的数据包数据量配置固定数值;
分别为每个分层配置多个不同的备选进程数量,为每个分层内的数据包数据量配置多个备选数值。
在上述实施方式中,配置模块能够为分层配置固定的进程数量和固定的数据包数据量,可以根据节点以及软件层面需求对进程数量和数据包数据量进行配置,实现在进程数量以及数据包数据量固定不变的情况下,选择优选的目标通信算法,提高通信算法选择的易用性。
在上述实施方式中,配置模块还可以为分层配置不同的备选进程数量,为数据包数据量配置不同的备选数值,进而能够得到采用不同进程数量以及数据包数量时,备选通信算法的多种实现方式。通过对备选通信算法进行测试,能够得到优选的进程数量、数据包数据量以及目标通信算法。
在上述实施方式的基础上,备选通信算法确定模块410用于:
根据节点包含的加速卡类型对备选通信算法进行筛选。
上述实施方式中,备选通信算法确定模块410能够根据节点包含的加速卡类型确定适于加速卡使用的备选通信算法,进而避免使用与加速卡不适配的备选通信算法进行测试,提高目标通信算法的选择速度。
本发明实施例提供的通信算法的选择装置,备选通信算法确定模块410根据节点的拓扑关系确定备选通信算法;测试模块420根据备选通信算法对节点进行通信测试,得到测试结果;目标通信算法确定模块430根据测试结果从备选通信算法中确定目标通信算法。相对于目前通过人工选择通信算法,本发明实施例能够根据节点的拓扑关系初步确定出备选通信算法,分别对每个备选通信算法进行通信测试,根据得到的测试结果从备选通信算法中确定优选的目标通信算法。实现由计算机自动的根据节点的拓扑关系确定备选通信算法,并对备选通信算法进行测试,无需人工参与,能够快速的对多个备选通信算法进行测试。根据测试结果能够准确的从备选通信算法中确定优选的目标通信算法,相对于根据人工经验确定目标通信算法,能够更加准确的确定目标通信算法,提高目标通信算法选择的准确性。
本发明实施例所提供的通信算法的选择装置可执行本发明任意实施例所提供的通信算法的选择方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器50、存储器51、输入装置52和输出装置53;计算机设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;计算机设备中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的通信算法的选择方法对应的程序指令/模块(例如,通信算法的选择装置中的备选通信算法确定模块410、测试模块420、目标通信算法确定模块430和配置模块)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的通信算法的选择方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置53可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种通信算法的选择方法,该方法包括:
根据节点的拓扑关系确定备选通信算法;
根据备选通信算法对节点进行通信测试,得到测试结果;
根据测试结果从备选通信算法中确定目标通信算法。
在上述实施方式的基础上,根据备选通信算法对节点进行通信测试,得到测试结果,包括:
根据备选通信算法进行节点的数据传输,获取数据传输的时间信息;
相应的,根据测试结果从备选通信算法中确定目标通信算法,包括:
根据时间信息从备选通信算法中确定目标通信算法。
在上述实施方式的基础上,根据备选通信算法进行节点的数据传输,获取数据传输的时间信息,包括:
根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代;
获取深度学习的数据包在节点上进行传输的时间信息。
在上述实施方式的基础上,在根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代之前,还包括:
根据节点的拓扑关系确定多个分层,每个分层包括多个节点;
针对每个分层配置进程数量和分层内的数据包数据量;
相应的,根据备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代,包括:
根据配置的进程数量、数据包数据量以及备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代。
在上述实施方式的基础上,在根据节点的拓扑关系确定备选通信算法之前,还包括:
若拓扑关系中包含分层,对分层的组内的节点拓扑关系进行调整,使分层的层内的节点拓扑关系相同。
在上述实施方式的基础上,针对每个分层配置进程数量和分层内的数据包数据量,包括:
为每个分层配置固定的进程数量,为分层内的数据包数据量配置固定数值;
或者;
分别为每个分层配置多个不同的备选进程数量,为每个分层内的数据包数据量配置多个备选数值。
在上述实施方式的基础上,在根据节点的拓扑关系确定备选通信算法之后,还包括:
根据节点包含的加速卡类型对备选通信算法进行筛选。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的通信算法的选择方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述通信算法的选择装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种通信算法的选择方法,其特征在于,包括:
根据节点的拓扑关系确定备选通信算法;
根据所述备选通信算法对所述节点进行通信测试,得到测试结果;
根据所述测试结果从所述备选通信算法中确定目标通信算法。
2.根据权利要求1所述的方法,其特征在于,所述根据所述备选通信算法对所述节点进行通信测试,得到测试结果,包括:
根据所述备选通信算法进行节点的数据传输,获取数据传输的时间信息;
相应的,根据所述测试结果从所述备选通信算法中确定目标通信算法,包括:
根据所述时间信息从所述备选通信算法中确定目标通信算法。
3.根据权利要求2所述的方法,其特征在于,所述根据所述备选通信算法进行节点的数据传输,获取数据传输的时间信息,包括:
根据所述备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代;
获取深度学习的数据包在所述节点上进行传输的时间信息。
4.根据权利要求3所述的方法,其特征在于,在根据所述备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代之前,还包括:
根据所述节点的拓扑关系确定多个分层,每个分层包括多个节点;
针对每个分层配置进程数量和分层内的数据包数据量;
相应的,所述根据所述备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代,包括:
根据配置的所述进程数量、所述数据包数据量以及所述备选通信算法进行节点的数据传输,执行深度学习网络的多次迭代。
5.根据权利要求4所述的方法,其特征在于,在根据节点的拓扑关系确定备选通信算法之前,还包括:
若所述拓扑关系中包含分层,对所述分层的组内的节点拓扑关系进行调整,使所述分层的层内的节点拓扑关系相同。
6.根据权利要求4所述的方法,其特征在于,所述针对每个分层配置进程数量和分层内的数据包数据量,包括:
为每个分层配置固定的进程数量,为分层内的数据包数据量配置固定数值;
或者;
分别为每个分层配置多个不同的备选进程数量,为每个分层内的数据包数据量配置多个备选数值。
7.根据权利要求1所述的方法,其特征在于,在所述根据节点的拓扑关系确定备选通信算法之后,还包括:
根据节点包含的加速卡类型对所述备选通信算法进行筛选。
8.一种通信算法的选择装置,其特征在于,包括:
备选通信算法确定模块,用于根据节点的拓扑关系确定备选通信算法;
测试模块,用于根据所述备选通信算法对所述节点进行通信测试,得到测试结果;
目标通信算法确定模块,用于根据所述测试结果从所述备选通信算法中确定目标通信算法。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的通信算法的选择方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的通信算法的选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110923382.5A CN113626331A (zh) | 2021-08-12 | 2021-08-12 | 通信算法的选择方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110923382.5A CN113626331A (zh) | 2021-08-12 | 2021-08-12 | 通信算法的选择方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113626331A true CN113626331A (zh) | 2021-11-09 |
Family
ID=78384791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110923382.5A Pending CN113626331A (zh) | 2021-08-12 | 2021-08-12 | 通信算法的选择方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626331A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025053A (zh) * | 2011-11-08 | 2014-09-03 | 英特尔公司 | 使用集体操作建模的消息传递接口调谐 |
CN108009643A (zh) * | 2017-12-15 | 2018-05-08 | 清华大学 | 一种机器学习算法自动选择方法和系统 |
CN112395272A (zh) * | 2021-01-20 | 2021-02-23 | 鹏城实验室 | 通信算法数据库构建方法、分布式机器装置和存储介质 |
CN112434817A (zh) * | 2021-01-26 | 2021-03-02 | 鹏城实验室 | 构建通信算法数据库的方法、装置和计算机存储介质 |
CN112738055A (zh) * | 2020-12-24 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种mpi消息通信算法的优化方法、装置、设备及可读介质 |
CN112766402A (zh) * | 2021-01-28 | 2021-05-07 | 维沃移动通信有限公司 | 算法选择方法、装置和电子设备 |
CN112966438A (zh) * | 2021-03-05 | 2021-06-15 | 北京金山云网络技术有限公司 | 机器学习算法选择方法、分布式计算系统 |
-
2021
- 2021-08-12 CN CN202110923382.5A patent/CN113626331A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025053A (zh) * | 2011-11-08 | 2014-09-03 | 英特尔公司 | 使用集体操作建模的消息传递接口调谐 |
CN108009643A (zh) * | 2017-12-15 | 2018-05-08 | 清华大学 | 一种机器学习算法自动选择方法和系统 |
CN112738055A (zh) * | 2020-12-24 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种mpi消息通信算法的优化方法、装置、设备及可读介质 |
CN112395272A (zh) * | 2021-01-20 | 2021-02-23 | 鹏城实验室 | 通信算法数据库构建方法、分布式机器装置和存储介质 |
CN112434817A (zh) * | 2021-01-26 | 2021-03-02 | 鹏城实验室 | 构建通信算法数据库的方法、装置和计算机存储介质 |
CN112766402A (zh) * | 2021-01-28 | 2021-05-07 | 维沃移动通信有限公司 | 算法选择方法、装置和电子设备 |
CN112966438A (zh) * | 2021-03-05 | 2021-06-15 | 北京金山云网络技术有限公司 | 机器学习算法选择方法、分布式计算系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340237B (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
CN112101562B (zh) | 机器学习建模过程的实现方法和系统 | |
EP3369045B1 (en) | Determining orders of execution of a neural network | |
CN113568860B (zh) | 基于深度学习的多机集群拓扑映射方法、装置及程序产品 | |
CN109902002B (zh) | 组合测试用例的生成方法及装置、存储介质、计算机设备 | |
CN108021982A (zh) | 数据传输方法和系统、电子设备 | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN109840533A (zh) | 一种应用拓扑图识别方法及装置 | |
CN106709503A (zh) | 一种基于密度的大型空间数据聚类算法k‑dbscan | |
CN114327844A (zh) | 内存分配方法、相关设备及计算机可读存储介质 | |
CN111708641A (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN112433853B (zh) | 一种面向超级计算机数据并行应用的异构感知数据划分方法 | |
CN113821332B (zh) | 自动机器学习系统效能调优方法、装置、设备及介质 | |
CN111143039A (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN115048254B (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
CN113726545B (zh) | 基于知识增强生成对抗网络的网络流量生成方法及装置 | |
CN111935005B (zh) | 数据传输方法、装置、处理设备及介质 | |
CN109144498A (zh) | 一种面向对象实例化任务的api自动推荐方法及装置 | |
CN113626331A (zh) | 通信算法的选择方法、装置、计算机设备及存储介质 | |
CN113992520B (zh) | 一种虚拟网络资源的部署方法和系统 | |
CN113342500B (zh) | 任务执行方法、装置、设备及存储介质 | |
CN116361153A (zh) | 固件代码的测试方法、装置、电子设备、存储介质 | |
CN116933841A (zh) | 算子融合方法及装置、电子设备、计算机可读介质 | |
CN111949530B (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 |