CN118041866A - 分布式任务动态服务发现方法、装置及任务训练系统 - Google Patents
分布式任务动态服务发现方法、装置及任务训练系统 Download PDFInfo
- Publication number
- CN118041866A CN118041866A CN202410438734.1A CN202410438734A CN118041866A CN 118041866 A CN118041866 A CN 118041866A CN 202410438734 A CN202410438734 A CN 202410438734A CN 118041866 A CN118041866 A CN 118041866A
- Authority
- CN
- China
- Prior art keywords
- training
- task
- service discovery
- dynamic service
- address information
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 170
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000007858 starting material Substances 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 239000003999 initiator Substances 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
本申请涉及容器化部署技术领域,特别涉及一种分布式任务动态服务发现方法,其中,方法包括:接收当前训练节点的任务启动器发起的信息同步请求;在接收到信息同步请求后,发送当前训练节点的地址信息至目标服务器,并从目标服务器同步同一训练任务的其他训练节点的地址信息;将同一训练任务的所有训练节点的地址信息存储至客户端的域名系统服务器,使得训练节点能够基于域名系统服务器实现任务动态服务发现。由此,解决了相关技术负载较大并且容易报错,无法有效保证训练任务的稳定运行等问题。
Description
技术领域
本申请涉及容器化部署技术领域,特别涉及一种分布式任务动态服务发现方法、装置及任务训练系统。
背景技术
Kubernetes作为现代应用部署和管理的核心工具,以其强大的容器化特性和智能的资源调度机制,已成为满足分布式人工智能(AI)训练(例如,大语言模型训练)需求的理想选择。Kubernetes支持分布式训练,可以将大模型的训练任务分散到多个节点上执行。这样可以加速训练过程,并处理更大规模的数据集。Kubernetes的弹性伸缩功能允许根据资源需求动态增加或减少训练任务的副本数量,这对于处理不同规模的大模型训练任务非常有用。随着应用规模的扩大,分布式训练任务需要在不同的训练节点之间进行数据交换、协同计算等操作,这就带来了一个关键的挑战:需要保障训练节点间能够稳定地完成互相发现的过程。
发明内容
本申请提供一种分布式任务动态服务发现方法、装置及任务训练系统,以解决相关技术负载较大并且容易报错,无法有效保证训练任务的稳定运行等问题。
本申请第一方面实施例提供一种分布式任务动态服务发现方法,该方法应用于训练节点的客户端,包括以下步骤:接收当前训练节点的任务启动器发起的信息同步请求;在接收到信息同步请求后,发送当前训练节点的地址信息至目标服务器,并从目标服务器同步同一训练任务的其他训练节点的地址信息;将同一训练任务的所有训练节点的地址信息存储至客户端的域名系统服务器,使得当前训练节点能够基于域名系统服务器实现动态服务发现。
可选地,在本申请的一个实施例中,地址信息包括主机名和IP信息,域名系统服务器支持缓存和自定义配置;将所有训练节点的地址信息存储至客户端的域名系统服务器,包括:将所有训练节点的主机名和IP信息加入自定义配置;并且基于域名系统实现动态服务发现,包括:基于主机名与其他训练节点互相访问各自服务。
可选地,在本申请的一个实施例中,在将所有训练节点的地址信息存储至客户端的域名系统服务器之后,还包括:从目标服务器获取更新的地址信息,并利用更新的地址信息来更新自定义配置。
可选地,在本申请的一个实施例中,同一训练任务的所有训练节点配置在同一域中。
可选地,在本申请的一个实施例中,训练节点部署于容器编排引擎上,其中,容器编排引擎上部署有相互隔离的主容器和边车容器,主容器内部署训练任务,边车容器内部署客户端。
可选地,在本申请的一个实施例中,在基于域名系统服务器实现动态服务发现之后,还包括:利用任务启动器启动训练任务。
本申请第二方面实施例提供一种分布式任务动态服务发现装置,该装置应用于训练节点的客户端,其中,装置包括:接收模块,用于接收当前训练节点的任务启动器发起的信息同步请求;发送模块,用于在接收到信息同步请求后,发送当前训练节点的地址信息至目标服务器,并从目标服务器同步同一训练任务的所有其他训练节点的地址信息;发现模块,用于将同一训练任务的所有训练节点的地址信息存储至客户端的域名系统服务器,使得当前训练节点能够基于域名系统服务器实现动态服务发现。
可选地,在本申请的一个实施例中,地址信息包括主机名和IP信息,域名系统服务器支持缓存和自定义配置;发现模块进一步用于:将所有训练节点的主机名和IP信息加入自定义配置;以及基于主机名与其他训练节点互相访问各自服务。
可选地,在本申请的一个实施例中,分布式任务动态服务发现装置还包括:更新模块,用于在将所有训练节点的地址信息存储至客户端的域名系统服务器之后,从目标服务器获取更新的地址信息,并利用更新的地址信息来更新自定义配置。
可选地,在本申请的一个实施例中,同一训练任务的所有训练节点配置在同一域中。
可选地,在本申请的一个实施例中,训练节点部署于容器编排引擎上,其中,容器编排引擎上部署有相互隔离的主容器和边车容器,主容器内部署训练任务,边车容器内部署客户端。
可选地,在本申请的一个实施例中,分布式任务动态服务发现装置还包括:启动模块,用于在基于域名系统服务器实现动态服务发现之后,利用任务启动器启动训练任务。
本申请第三方面实施例提供一种客户端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序,以实现如上述实施例的分布式任务动态服务发现方法。
本申请第四方面实施例提供一种任务训练系统,包括:服务器和多个训练节点,其中,多个训练节点配置在同一域中,每个训练节点包括如上述第三方面实施例所述的客户端和任务启动器。
本申请第五方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例的分布式任务动态服务发现方法。
由此,本申请至少具有如下有益效果:
本申请实施例可以在接收到当前训练节点的任务启动器发起的信息同步请求后,通过与目标服务器交互来完成信息的同步,确保各个训练节点的客户端之间能够获取到彼此的信息,并保证信息的一致性。并通过客户端的域名系统服务器来为任务启动器和用户的进程提供服务发现从而有效地支持训练任务的稳定运行和灵活扩展,解决了相关技术中负载较大并且容易报错,无法有效保证训练任务的稳定运行等问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的分布式任务动态服务发现方法的流程图;
图2为根据本申请一个实施例提供的任务启动器的运行时序图;
图3为根据本申请实施例提供的分布式任务动态服务发现装置的示例图;
图4为根据本申请实施例提供的客户端的结构示意图;
图5为根据本申请实施例提供的任务训练系统结构图。
附图标记说明:分布式任务动态服务发现装置-10、接收模块-100、发送模块-200、发现模块-300、存储器-401、处理器-402和通信接口-403。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
相关技术中为了在Kubernetes中解决运行分布式AI训练任务时训练节点互相发现的问题,主要存在以下方向:
通过管理训练任务创建的控制器来为训练任务配置训练节点的IP地址(Pod IP),由于在训练任务的Pod创建时,Pod IP是不确定的,因此控制器需要通过ConfigMap来向Pod内部动态告知IP地址。当所有训练任务Pod启动之后,控制器收集这Pod的IP,将其写入ConfigMap,而训练任务Pod内需要轮询读取相应的文件,直到读取到需要的IP地址信息,才可以开始训练;利用Kubernetes自身提供的服务发现机制,让训练任务Pod之间可以通过Kubernetes提供的域名来互相发现。然而,相关技术虽然能够为训练任务提供彼此之间互相发现的地址,但是仍然存在以下一些问题:
1. 随着AI训练任务需求的不断复杂化,支持训练任务Pod的动态变化也是一个重要的需求点,在第一个方法中,如果要支持Pod动态变化,就需要不断轮询读取记载IP地址的文件,效率较低,灵活性较差;
2. 对Kubernetes控制面资源有依赖性:以上两种机制分别依赖Kubernetes中的ConfigMap和DNS(Domain Name System,计算机域名系统)服务,同样在使用时也会给Kubernetes集群带来一定的负载,当集群规模不断扩张时,对Kubernetes控制面的性能和稳定性有更高的要求;
3. 基于Kubernetes提供的域名来进行服务发现,需要在节点的主机名的基础上再拼接一个后缀才能得到真正可用的域名,不符合用户的使用习惯;
4. 以上两种相关技术的方法只是提供了Pod互相发现的地址,但是并不能保证相应的训练服务已经准备就绪,尤其是在Kubernetes中,从Pod分配好IP到训练容器真正启动,中间还需要经历多个步骤,因此存在某一个Pod启动成功后,尝试访问其他Pod的服务失败,进而报错退出的情况。要解决这个问题,通常需要训练任务控制器根据不同的训练框架,来提供不同的任务启动控制机制。
下面参考附图描述本申请实施例的分布式任务动态服务发现方法、装置及客户端。针对上述背景技术中提到的问题,本申请提供了一种分布式任务动态服务发现方法,在该方法中,在接收到当前训练节点的任务启动器发起的信息同步请求后,会通过与目标服务器交互来完成信息的同步,确保各个训练节点的客户端之间能够获取到彼此的信息,并保证信息的一致性。并通过客户端的域名系统服务器来为任务启动器和用户的进程提供服务发现从而有效地支持训练任务的稳定运行和灵活扩展,解决了相关技术中负载较大并且容易报错,无法有效保证训练任务的稳定运行等问题。
具体而言,图1为本申请实施例所提供的一种分布式任务动态服务发现方法的流程示意图。
如图1所示,该分布式任务动态服务发现方法应用于训练节点的客户端,包括以下步骤:
在步骤S101中,接收当前训练节点的任务启动器发起的信息同步请求。
在本申请实施例中,每个训练节点(又称为Pod)都具有任务启动器和客户端。当任务的Pod启动之后,在每个任务Pod中都会启动一个客户端(又可以称为服务发现客户端,简称DC)以便进行服务发现。
本申请实施例中当前训练节点的任务启动器的运行流程主要分为三个步骤:如图2所示,首先,执行任务的一些初始化工作,例如启动训练任务所依赖的一些后台服务(例如消息传递接口(Message Passing Interface,MPI)任务可能会依赖安全外壳(SecureShell,SSH)服务);其次,任务启动器会与对应的DC建立连接并发起同步请求,直到所有DC都完成了Pod之间的信息同步,并确保成功建立所有Pod之间的服务发现;最后任务启动器会启动用户训练任务。
通过上述的启动流程,能够有效地确保,当用户训练任务启动时,所有Pod间服务发现已经完全构建完成,使得所有的Pod都能够进行互相访问。与此同时,经过了上述的同步阶段之后,几乎所有的Pod都能在较短(例如,秒级别的)时间偏差内同时启动训练任务,避免了Pod间因为拉取镜像或容器启动速度参差不齐导致任务未能同时启动、从而导致任务失败的问题。
在步骤S102中,在接收到信息同步请求后,发送当前训练节点的地址信息至目标服务器,并从目标服务器同步同一训练任务的其他训练节点的地址信息。
其中,地址信息包括主机名和IP信息,同一训练任务的所有训练节点配置在同一域中。
可以理解的是,如图2所示,当DC接收到任务启动器发起的同步请求时,将会采集自身Pod的信息(例如,主机名和IP信息),并向目标服务器(又可以称为服务发现服务器,简称DS)发送这些信息。同时,DC还会从DS收集同一个域内其他DC的信息,直到收集齐整个域内所有DC的信息。在实际执行过程中,域的规模为同一个训练任务的DC数量,本申请实施例可以根据域的规模来判断是否收集齐整个域内所有DC的信息。所有DC之间会通过与DS交互来完成信息的同步,确保各个DC之间能够获取到彼此的信息,并保证信息的一致性,解决了在控制器层面需要针对不同训练任务分别设计Pod调协逻辑的问题。
需要说明的是,本申请实施例的DS能够收集DC发来的信息,并且向同一个域内的DC广播自己所收集到的信息。通过自建服务来收集、广播训练节点的IP信息,避免了对Kubernetes服务的依赖,同时也完成了负载隔离,让服务能够更加稳定。
在步骤S103中,将所有训练节点的地址信息存储至客户端的域名系统服务器,使得当前训练节点能够基于域名系统服务器实现动态服务发现。
其中,域名系统服务器支持缓存和自定义配置。
可以理解的是,在收集到所有训练节点的地址信息后,本申请实施例可以启动一个支持缓存和自定义配置的域名系统服务器(简称为DNS服务器)。通过劫持容器的DNS服务,实现了训练节点域名和IP的解析,同时也能够通过DNS缓存机制来进一步降低Kubernetes DNS服务的负载。
进一步地,当DC收集到其他DC的信息之后,会将所有训练节点的主机名和IP信息加入到DNS服务器的自定义配置中,从而实现让训练任务能够通过主机名来互相访问彼此的服务。
在本申请的一个实施例中,在将所有训练节点的地址信息存储至客户端的域名系统服务器之后,还包括:从目标服务器获取更新的地址信息,并利用更新的地址信息来更新自定义配置。
可以理解的是,当收集齐整个域内的信息,并配置到DNS服务器之中后,同步过程就结束了,而DC将会继续和DS进行信息交换。每当有信息(例如,主机名和IP信息)发生变更时,DC都会从DS中获取到变更信息,并及时更新到DNS服务器的配置中,以适应任务服务的动态变化。
进一步地,在基于域名系统服务器实现动态服务发现之后,本申请实施例可以利用任务启动器启动训练任务。
需要说明的是,为了进一步保障DC和DS之间通讯的安全性,本申请实施例还可以将DC和训练任务进行隔离,以防止有恶意程序通过抓包或者劫持的手段通过DC来破坏DS中的数据。本申请实施例的训练节点可以部署于容器编排引擎上,其中,容器编排引擎上部署有相互隔离的主容器和边车容器,其中在主容器内部署训练任务,在边车容器内部署用于训练节点的客户端。以容器编排引擎是Kubernetes为例,由于在Kubernetes中,同一个Pod内的不同容器之间是共享同一个网络的,因此可以将DC放在区别于主容器的边车容器(Sidecar Container)中,使其作为一个辅助容器与主容器一起启动、关闭,以与训练任务所处的主容器进行隔离。由此,通过边车容器,来向用户隐藏平台内部的辅助服务,提高平台服务和用户训练任务之间的隔离性和平台服务的安全性。
根据本申请实施例提出的分布式任务动态服务发现方法,在接收到当前训练节点的任务启动器发起的信息同步请求后,会通过与目标服务器交互来完成信息的同步,确保各个训练节点的客户端之间能够获取到彼此的信息,并保证信息的一致性。并通过客户端的域名系统服务器来为任务启动器和用户的进程提供服务发现,从而有效地支持训练任务的稳定运行和灵活扩展,解决了相关技术中负载较大并且容易报错,无法有效保证训练任务的稳定运行等问题。
其次参照附图描述根据本申请实施例提出的分布式任务动态服务发现装置。
图3是本申请实施例的分布式任务动态服务发现装置的方框示意图。
如图3所示,该分布式任务动态服务发现装置10包括:接收模块100、发送模块200和发现模块300。
其中,接收模块100用于接收当前训练节点的任务启动器发起的信息同步请求;发送模块200用于在接收到信息同步请求后,发送当前训练节点的地址信息至目标服务器,并从目标服务器同步同一训练任务的所有其他训练节点的地址信息;发现模块300用于将同一训练任务的所有训练节点的地址信息存储至客户端的域名系统服务器,使得当前训练节点能够基于域名系统服务器实现动态服务发现。
在本申请的一个实施例中,地址信息包括主机名和IP信息,域名系统服务器支持缓存和自定义配置;发现模块300进一步用于:将所有训练节点的主机名和IP信息加入自定义配置;以及基于主机名与其他训练节点互相访问各自服务。
在本申请的一个实施例中,分布式任务动态服务发现装置10还包括:更新模块。
其中,更新模块用于在将所有训练节点的地址信息存储至客户端的域名系统服务器之后,从目标服务器获取更新的地址信息,并利用更新的地址信息来更新自定义配置。
在本申请的一个实施例中,同一训练任务的所有训练节点配置在同一域中。
在本申请的一个实施例中,训练节点部署于容器编排引擎上,其中,容器编排引擎上部署有相互隔离的主容器和边车容器,主容器内部署训练任务,边车容器内部署客户端。
在本申请的一个实施例中,分布式任务动态服务发现装置10还包括:启动模块。
其中,启动模块用于在基于域名系统服务器实现动态服务发现之后,利用任务启动器启动训练任务。
需要说明的是,前述对分布式任务动态服务发现方法实施例的解释说明也适用于该实施例的分布式任务动态服务发现装置,此处不再赘述。
根据本申请实施例提出的分布式任务动态服务发现装置,在接收到当前训练节点的任务启动器发起的信息同步请求后,会通过与目标服务器交互来完成信息的同步,确保各个训练节点的客户端之间能够获取到彼此的信息,并保证信息的一致性。并通过客户端的域名系统服务器来为任务启动器和用户的进程提供服务发现从而有效地支持训练任务的稳定运行和灵活扩展,解决了相关技术中负载较大并且容易报错,无法有效保证训练任务的稳定运行等问题。
图4为本申请实施例提供的客户端的结构示意图。该客户端可以包括:
存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序。
处理器402执行程序时实现上述实施例中提供的分布式任务动态服务发现方法。
进一步地,客户端还包括:
通信接口403,用于存储器401和处理器402之间的通信。
存储器401,用于存放可在处理器402上运行的计算机程序。
存储器401可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器401、处理器402和通信接口403独立实现,则通信接口403、存储器401和处理器402可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器401、处理器402及通信接口403,集成在一块芯片上实现,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
处理器402可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。
此外,本申请还提供一种任务训练系统,如图5所示,包括:服务器和多个训练节点Pod,其中,多个训练节点配置在同一域中,每个训练节点包括上述实施例的客户端和任务启动器。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的分布式任务动态服务发现方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,以用于实现如上的分布式任务动态服务发现方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种分布式任务动态服务发现方法,其特征在于,所述方法应用于训练节点的客户端,其中,所述方法包括以下步骤:
接收当前训练节点的任务启动器发起的信息同步请求;
在接收到所述信息同步请求后,发送所述当前训练节点的地址信息至目标服务器,并从所述目标服务器同步同一训练任务的其他训练节点的地址信息;
将所述同一训练任务的所有训练节点的地址信息存储至所述客户端的域名系统服务器,使得所述当前训练节点能够基于所述域名系统服务器实现动态服务发现。
2.根据权利要求1所述的分布式任务动态服务发现方法,其特征在于,所述地址信息包括主机名和IP信息,并且所述域名系统服务器支持缓存和自定义配置;
将所述所有训练节点的地址信息存储至所述客户端的域名系统服务器,包括:
将所述所有训练节点的主机名和IP信息加入所述自定义配置;并且
所述基于所述域名系统服务器实现动态服务发现,包括:
基于所述主机名与其他训练节点互相访问各自服务。
3.根据权利要求2所述的分布式任务动态服务发现方法,其特征在于,在将所述所有训练节点的地址信息存储至所述客户端的域名系统服务器之后,还包括:
从所述目标服务器获取更新的地址信息,并利用更新的地址信息来更新所述自定义配置。
4.根据权利要求1-3中任一项所述的分布式任务动态服务发现方法,其特征在于,所述同一训练任务的所有训练节点配置在同一域中。
5.根据权利要求1-3中任一项所述的分布式任务动态服务发现方法,其特征在于,所述训练节点部署于容器编排引擎上,其中,所述容器编排引擎上部署有相互隔离的主容器和边车容器,所述主容器内部署所述训练任务,所述边车容器内部署所述客户端。
6.根据权利要求1-3中任一项所述的分布式任务动态服务发现方法,其特征在于,在基于所述域名系统服务器实现动态服务发现之后,还包括:
利用所述任务启动器启动所述训练任务。
7.一种分布式任务动态服务发现装置,其特征在于,所述装置应用于训练节点的客户端,其中,所述装置包括:
接收模块,用接收当前训练节点的任务启动器发起的信息同步请求;
发送模块,用于在接收到所述信息同步请求后,发送所述当前训练节点的地址信息至目标服务器,并从所述目标服务器同步同一训练任务的其他训练节点的地址信息;
发现模块,用于将所述同一训练任务的所有训练节点的地址信息存储至所述客户端的域名系统服务器,使得所述当前训练节点能够基于所述域名系统服务器实现动态服务发现。
8.一种客户端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-6任一项所述的分布式任务动态服务发现方法。
9.一种任务训练系统,其特征在于,包括:
服务器和多个训练节点,其中,
所述多个训练节点配置在同一域中,每个训练节点包括如权利要求8所述的客户端和任务启动器。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-6任一项所述的分布式任务动态服务发现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410438734.1A CN118041866B (zh) | 2024-04-12 | 2024-04-12 | 分布式任务动态服务发现方法、装置及任务训练系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410438734.1A CN118041866B (zh) | 2024-04-12 | 2024-04-12 | 分布式任务动态服务发现方法、装置及任务训练系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118041866A true CN118041866A (zh) | 2024-05-14 |
CN118041866B CN118041866B (zh) | 2024-06-11 |
Family
ID=90997259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410438734.1A Active CN118041866B (zh) | 2024-04-12 | 2024-04-12 | 分布式任务动态服务发现方法、装置及任务训练系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118041866B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198364A (zh) * | 2019-05-17 | 2019-09-03 | 北京瀚海星云科技有限公司 | 基于指定dns解析的容器云上分布式训练数据通信的方法 |
US20220329654A1 (en) * | 2021-04-12 | 2022-10-13 | Hewlett Packard Enterprise Development Lp | Synchronizing user data between a sync client and a sync server on a customer computing system |
CN116074195A (zh) * | 2023-02-08 | 2023-05-05 | 恒生电子股份有限公司 | 域名同步方法、业务容器、集群、计算节点及存储介质 |
-
2024
- 2024-04-12 CN CN202410438734.1A patent/CN118041866B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198364A (zh) * | 2019-05-17 | 2019-09-03 | 北京瀚海星云科技有限公司 | 基于指定dns解析的容器云上分布式训练数据通信的方法 |
US20220329654A1 (en) * | 2021-04-12 | 2022-10-13 | Hewlett Packard Enterprise Development Lp | Synchronizing user data between a sync client and a sync server on a customer computing system |
CN116074195A (zh) * | 2023-02-08 | 2023-05-05 | 恒生电子股份有限公司 | 域名同步方法、业务容器、集群、计算节点及存储介质 |
Non-Patent Citations (1)
Title |
---|
白凡;: "基于DNS分析恶意行为检测的研究", 电信网技术, no. 08, 15 August 2017 (2017-08-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN118041866B (zh) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426439B (zh) | 一种元数据的处理方法和装置 | |
CN110262902B (zh) | 信息处理方法及系统、介质和计算设备 | |
CN111147588A (zh) | 企业级微服务平台中实现跨域跨中心通信的方法及系统 | |
KR20190113366A (ko) | 분산 클러스터 관리 시스템 및 그 방법 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
EP4369181A1 (en) | Node for running container group, and management system and method of container group | |
CN118041866B (zh) | 分布式任务动态服务发现方法、装置及任务训练系统 | |
CN101667910B (zh) | 一种快速网络数据同步方法及其系统 | |
CN116208600A (zh) | 文件传输协议请求处理方法、装置、设备及存储介质 | |
CN112804313B (zh) | 基于跨域边缘节点的数据同步方法、装置、设备及介质 | |
CN110110004B (zh) | 一种数据操作方法、装置和存储介质 | |
CN112615944A (zh) | 分布式dns主辅同步的方法和系统 | |
CN113364633A (zh) | 一种面向高机动环境的容器集群动态构建方法 | |
CN110290173A (zh) | 一种主备dns同步方法及装置 | |
WO2023119720A1 (ja) | 転送装置 | |
CN115766717B (zh) | 超融合分布式系统自动化部署方法、装置、设备及介质 | |
CN114244744B (zh) | 基于物联网设备的节点发现方法和装置 | |
CN114945023B (zh) | 一种网络连接复用方法、装置、设备及介质 | |
CN117544637A (zh) | 一种集群容器化部署支持外部服务访问方法及系统 | |
WO2017041667A1 (zh) | 安检终端设备、安检网络系统和安检数据传输方法 | |
CN117785224A (zh) | 模型部署方法、装置、电子设备及存储介质 | |
CN116455897A (zh) | 实现节点间协同作业的方法、协同服务引擎及协同系统 | |
CN117336293A (zh) | 一种边缘计算系统和边缘计算方法 | |
CN118631639A (zh) | 一种分布式文件系统及其通信方法、装置和客户端设备 | |
WO2024129061A1 (en) | Seamless nfs server pod addition |
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 |