CN115037747A - 数据通信方法及装置、分布式系统、设备和介质 - Google Patents
数据通信方法及装置、分布式系统、设备和介质 Download PDFInfo
- Publication number
- CN115037747A CN115037747A CN202210614958.4A CN202210614958A CN115037747A CN 115037747 A CN115037747 A CN 115037747A CN 202210614958 A CN202210614958 A CN 202210614958A CN 115037747 A CN115037747 A CN 115037747A
- Authority
- CN
- China
- Prior art keywords
- communication
- node
- unit
- data
- computing
- 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
Images
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种应用于分布式系统的数据通信方法及装置、设备和介质,涉及计算机技术领域,尤其涉及云计算技术领域。所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,方法包括:响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点包括与所述第二节点通信连接的第一通信单元,确定所述第一通信单元为目标通信单元;响应于确定所述目标通信单元与所述第一计算单元未处于通信连接状态,将数据转发至与所述目标通信单元通信连接的第二计算单元;以及经由所述目标通信单元,将数据从所述第二计算单元发送至所述第二节点。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及云计算技术领域,具体涉及一种应用于分布式系统的数据通信方法、装置、分布式系统、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
分布式系统中包含多个节点,为了提升系统的计算能力,每个节点内可以包括多个计算单元,为提升分布式系统中各个计算单元的协同性能,各个计算单元之间需要实现数据通信。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种应用于分布式系统的数据通信方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种应用于分布式系统的数据通信方法,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述方法包括:响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点包括与所述第二节点通信连接的第一通信单元,确定所述第一通信单元为目标通信单元;响应于确定所述目标通信单元与所述第一计算单元未处于通信连接状态,将所述数据转发至与所述目标通信单元通信连接的第二计算单元;以及经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点。
根据本公开的另一方面,还提供一种应用于分布式系统的数据通信方法,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述方法包括:响应于第二节点中的第三计算单元接收到数据,确定用于处理所述数据的目标计算单元;以及响应于所述目标计算单元与所述第三计算单元不同,并且所述第二节点包括所述目标计算单元,将所述数据转发至所述目标计算单元。
根据本公开的另一方面,提供了一种应用于分布式系统的数据通信装置,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述装置包括:第一确定单元,被配置用于响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点包括与所述第二节点通信连接的第一通信单元,确定所述第一通信单元为目标通信单元;第一转发单元,被配置用于响应于所述目标通信单元与所述第一计算单元未处于通信连接状态,将所述数据转发至与所述目标通信单元通信连接的第二计算单元;以及发送单元,被配置用于经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点,以使得所述第二节点能够接收所述数据。
根据本公开的另一方面,还提供一种应用于分布式系统的数据通信装置,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述装置包括:第二确定单元,被配置用于响应于第二节点中的第三计算单元接收到数据,确定用于处理所述数据的目标计算单元;以及第二转发单元,被配置用于响应于所述目标计算单元与所述第三计算单元不同,并且所述第二节点包括所述目标计算单元,将所述数据转发至所述目标计算单元。
根据本公开的另一方面,还提供一种分布式系统,包括多个节点,其中,所述多个节点中的每个节点包括:多个计算单元;与所述多个计算单元分别通信连接的多个通信单元,所述每个通信单元与其他节点所包括的至少一个通信单元通信连接;以及如上所述的任一种数据通信装置。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据通信方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述数据通信方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时能够实现上述数据通信方法。
根据本公开的一个或多个实施例,可以实现跨节点的数据通信,提升分布式系统中数据通信的灵活性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开示例性实施例的数据通信方法的流程图;
图2示出了根据本公开示例性实施例的数据通信方法的流程图;
图3示出了根据本公开示例性实施例的数据通信装置的结构框图;
图4示出了根据本公开示例性实施例的数据通信装置的结构框图;
图5A-图5B示出了根据本公开示例性实施例的分布式系统的结构框图;
图6示出了能够用于实现本公开实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
相关技术中,一种实现方案是利用交换机来实现分布式系统中各个节点的互连,每个交换机与其他交换机或节点所包括的通信单元相连,这种方案需要大量的交换机,硬件成本较高。另一种实现方案是将交换功能集成在分布式系统所包括的每个节点中,节点中的交换单元可以通过其所包括的多个通信接口与邻近的节点互连,从而实现系统中各个节点间的通信,但是,这种方案仅能实现节点层面的互连通信,当节点包括多个计算单元时,未能实现跨节点的不同计算单元间的数据通信。
基于此,本公开提供了一种应用于分布式系统的数据通信方法,通过在节点内部实现计算单元间的数据转发,进而能够在此基础上利用与计算单元连接的通信单元,使得节点中的每一计算单元能够直接向其他节点发送数据,实现跨节点的数据通信。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开示例性实施例的应用于分布式系统的数据通信方法100的流程图,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接。
所述分布式系统中的计算单元是用于执行各种计算操作,例如深度学习中的卷积操作和池化操作等,从而能够应用于大规模深度学习任务。示例性地,所述计算单元可以是图形处理器(GPU,Graphics Processing Unit)。
根据本公开示例性实施例所述的通信连接指两个单元之间建立有直连通信链路,从而能够实现二者间的数据通信。所述通信单元是用于实现节点间的通信连接。示例性地,所述通信连接可以是以各种形式实现的,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。例如利用USB、CAN总线、有线以太网、电力载波通信等方式实现有线通信连接。只要能够在连接的节点之间建立能够实现数据传输的通信链路,对具体的通信链路的形式不作限制。
在一个示例中,所述每个节点中的计算单元和通信单元可以是分别利用不同的芯片实现的,例如利用GPU芯片作为计算单元,利用以太网芯片作为通信单元,在这种情况下,二者间的通信连接可以是通过IO总线实现的,例如PCIe总线。在另一个示例中,所述每个节点中的计算单元和与其连接的通信单元可以被集成在同一块芯片上,二者分别对应的芯片电路模块例如可以通过AXI总线实现连接。
如图1所示,方法100包括:
步骤S101、响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点包括与所述第二节点通信连接的第一通信单元,确定所述第一通信单元为目标通信单元;
步骤S102、响应于确定所述目标通信单元与所述第一计算单元未处于通信连接状态,将所述数据转发至与所述目标通信单元通信连接的第二计算单元;以及
步骤S103、经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点。
根据本公开示例性实施例分布式系统的每个节点包括多个计算单元和与所述多个计算单元分别通信连接的多个通信单元,通过实现节点中的计算单元间的内部转发,进而能够在此基础上利用与计算单元连接的通信单元,使得节点中的每一计算单元能够直接向其他节点发送数据,实现跨节点的数据通信。由此,能够在免除交换单元的情况下构建分布式系统,在节省硬件成本的同时提升利用系统中各个计算单元进行协同计算的灵活性。
示例性地,所述多个计算单元可以是通过缓存一致性高速总线实现互连,例如NVLink、CCIX、CXL等,从而实现节点内部计算单元间的数据高速转发。
示例性地,所述数据在发送时可以同时携带元信息,所述元信息能够指示用于处理所述数据的目标计算单元,从而能够在数据通信过程中通过解析所述数据来控制数据转发过程,实现计算单元间的数据通信。
在一个示例中,不同的计算单元间的数据转发可以是由与计算单元通信连接的控制单元控制实现的,所述控制单元能够通过查询预先配置的路由信息来控制每个计算单元的数据发送,从而实现分布式系统中跨节点的计算单元间的数据通信。
在一些示例中,方法100还包括:响应于确定所述目标通信单元与所述第一计算单元通信连接,经由所述目标通信单元,将所述数据从所述第一计算单元发送至所述第二节点。由此,能够在第一计算单元与第二节点能够通过通信单元直接连接的情况下,实现二者间的数据通信。
根据一些实施例,方法100还包括:响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点所包括的任一通信单元均不与所述第二节点通信连接,确定与第三节点通信连接的第二通信单元为目标通信单元,其中,所述第三节点能够通过至少一个通信单元与所述第二节点通信连接;以及经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第三节点,以使得所述第三节点能够将所述数据转发给所述第二节点。由此,能够在第一节点与第二节点无法实现直接的通信连接的情况下,通过将数据发送给第三节点,由第三节点将数据转发给第二节点,从而实现第一计算单元与第二节点间的数据通信。
根据一些实施例,所述每个通信单元包括与所述多个计算单元分别对应的多个通信链路,并且其中,所述步骤S103中经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点包括:经由所述目标通信单元中与所述第一计算单元对应的通信链路,将所述数据从所述第二计算单元发送至所述第二节点。在这种情况下,每个节点所包括的多个计算单元能够同时利用各自对应的通信链路向其他节点发送数据,从而能够提升通信效率。
示例性地,所述通信单元可以是网络通信单元,每个网络通信单元可以包括多个以太网卡,从而能够利用所述多个以太网卡构建相邻节点的通信单元间的多个以太网通信链路。
根据一些实施例,所述多个节点构成N维环面结构,从而能够实现简单高效的网络互连。N维环面(N-dimension torus)结构中的每个节点都包含2N个通信单元,所述多个节点按照网格的方式排列,并且网格中两两相邻的节点通过各自所包括的通信单元实现通信连接。例如,当所述多个节点构成二维环面结构时,所述多个节点被排列成包括多个行和多个列的二维网格,每个行和每个列中的相邻节点均实现通信连接,从而使得每个行和每个列均构成环形拓扑,所述多个行和多个列即构成二维环面拓扑。应当理解,所述多个节点也可以是基于其他拓扑结构实现互连,例如环形拓扑、星形拓扑等,对此不作限定。
根据本公开的另一方面,还提供一种应用于分布式系统的数据通信方法。图2示出了根据本公开示例性实施例的应用于分布式系统的数据通信方法200的流程图,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接。如图2所示,方法200包括:
步骤S201、响应于第二节点中的第三计算单元接收到数据,确定用于处理所述数据的目标计算单元;以及
步骤S202、响应于确定所述目标计算单元与所述第三计算单元不同,并且确定所述第二节点包括所述目标计算单元,将所述数据转发至所述目标计算单元。
通过利用上述方法,能够利用节点中的计算单元间的内部转发功能,将所接收到的数据直接转发给相应的目标计算单元,使得目标计算单元能够接收其他节点所发送的数据,无需由其他单元进行数据处理,从而能够提升利用系统中各个计算单元进行协同计算的灵活性。
在一些实施例中,方法200还包括:响应于确定所述第三计算单元为所述目标计算单元,结束数据通信流程。
示例性地,所述确定用于处理所述数据的目标计算单元可以是通过解析所述数据来实现的。如前文所描述的,分布式系统中由计算单元所发出的数据在发送时可以同时携带元信息,所述元信息能够指示用于处理所述数据的目标计算单元。
根据一些实施例,方法100还包括:响应于确定所述第二节点不包括所述目标计算单元,并且确定所述第二节点包括与包括所述目标计算单元的第四节点通信连接的第三通信单元,确定所述第三通信单元为中转通信单元;将所述数据转发至与所述中转通信单元通信连接的第四计算单元;以及经由所述中转通信单元,将所述数据从所述第四计算单元发送至所述第四节点。由此,能够在发出数据的节点与接收数据的节点无法实现直接的通信连接的情况下,利用其他节点所包括的通信单元和计算单元进行中转,从而实现计算单元间的数据通信。
应当理解,上述实施例中仅描述了数据被发出后经由一个中转节点即可转发至接收数据的节点的情形,在实际应用过程中,也可能是经由多个中转节点的转发才能实现两个节点所分别包括的计算单元间的数据通信,本公开对此不作限定。
根据一些实施例,所述每个通信单元包括与所述多个计算单元分别对应的多个通信链路,并且其中,所述步骤S203中经由所述中转通信单元,将所述数据从所述第四计算单元发送至所述第四节点包括:经由所述目标通信单元中与所述第三计算单元对应的通信链路,将所述数据从所述第四计算单元发送至所述第四节点。在这种情况下,每个节点所包括的多个计算单元能够同时利用各自对应的通信链路向其他节点转发数据,从而能够提升通信效率。
根据一些实施例,所述多个节点构成N维环面结构,从而能够实现简单高效的网络互连。应当理解,所述多个节点也可以是基于其他拓扑结构实现互连,例如环形拓扑、星形拓扑等,对此不作限定。
根据本公开的另一方面,提供了一种应用于分布式系统的数据通信装置。图3示出了根据本公开示例性实施例的应用于分布式系统的数据通信装置300的结构框图,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接。如图3所示,装置300包括:
第一确定单元301,被配置用于响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点包括与所述第二节点通信连接的第一通信单元,确定所述第一通信单元为目标通信单元;
第一转发单元302,被配置用于响应于所述目标通信单元与所述第一计算单元未处于通信连接状态,将所述数据转发至与所述目标通信单元通信连接的第二计算单元;以及
发送单元303,被配置用于经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点,以使得所述第二节点能够接收所述数据。
数据通信装置300的单元301-单元303的操作与前面描述的步骤S101-步骤S103的操作类似,在此不作赘述。
根据本公开的另一方面,还提供一种应用于分布式系统的数据通信装置。图4示出了根据本公开示例性实施例的应用于分布式系统的数据通信装置400的结构框图,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接。如图4所示,装置400包括:
第二确定单元401,被配置用于响应于第二节点中的第三计算单元接收到数据,确定用于处理所述数据的目标计算单元;以及
第二转发单元402,被配置用于响应于所述目标计算单元与所述第三计算单元不同,并且所述第二节点包括所述目标计算单元,将所述数据转发至所述目标计算单元。
数据通信装置400的单元401-单元402的操作与前面描述的步骤S201-步骤S202的操作类似,在此不作赘述。
根据本公开的另一方面,还提供一种分布式系统,包括多个节点,其中,所述多个节点中的每个节点包括:多个计算单元;与所述多个计算单元分别通信连接的多个通信单元,所述每个通信单元与其他节点所包括的至少一个通信单元通信连接;以及如上所述的数据通信装置300或数据通信装置400。
图5A示出了根据本公开示例性实施例的分布式系统的结构框图。如图5所示,在这一示例中,分布式系统包括(1,1)、(1,2)、(2,1)和(2,2)四个节点,每个节点分别包括4个计算单元和与所述4个计算单元分别通信连接的4个通信单元,每个通信单元与其他节点所包括的一个通信单元通信连接,所述4个节点构成二维环面结构。每个节点中还包括数据通信装置,每个节点中的数据通信装置与该节点中的4个计算单元通信连接(图中未示出),从而能够通过执行如前文所描述的方法100或200来控制计算单元间的数据转发。
在一个示例中,节点(2,1)的计算单元A需要向节点(1,2)中的计算单元D发送数据。则节点(2,1)中的数据通信装置可以执行如下步骤:
步骤S1、响应于接收到节点(2,1)的计算单元A向节点(1,2)发送数据的数据发送请求,并且确定节点(2,1)包括的任一通信单元均不与节点(1,2)通信连接,确定与节点(2,2)通信连接的通信单元a为目标通信单元,节点(2,2)能够通过至少一个通信单元与节点(1,2)通信连接;
步骤S2、响应于确定目标通信单元a与计算单元A通信连接,经由目标通信单元a将所述数据发送至节点(2,2),以使得节点(2,2)能够将所述数据转发给节点(1,2)。
进一步地,节点(2,2)中的数据通信装置可以执行如下步骤:
步骤S3、响应于节点(2,2)中的计算单元B接收到数据,确定用于处理所述数据的目标计算单元D;
步骤S4、响应于确定节点(2,2)不包括目标计算单元D并且确定节点(2,2)包括与包括目标计算单元D的节点(1,2)通信连接的通信单元c,确定通信单元c为中转通信单元;
步骤S5、将所述数据转发至与中转通信单元c通信连接的计算单元C;
步骤S6、经由中转通信单元c,将所述数据从计算单元C发送至节点(1,2);
进一步地,节点(1,2)中的数据通信装置可以执行如下步骤:
步骤S7、响应于节点(1,2)中的计算单元D接收到数据,确定用于处理所述数据的目标计算单元;
步骤S8、响应于确定计算单元D为目标计算单元,结束数据通信流程。
由此,通过实现节点中的计算单元间的内部数据转发和节点间的数据中转,能够在免除交换单元的情况下实现跨节点的计算单元间的数据通信,提升利用系统中各个计算单元进行协同计算的灵活性。
应当理解,所述分布式系统所包括的多个节点也可以构成其他N维环面拓扑,例如三维环面拓扑。在所述多个节点构成三维环面拓扑的情况下,每个节点包括6个通信单元,所述多个节点被排列成三维网格,其中每个横轴、每个纵轴和每个竖轴方向上的行所包括的相邻节点均实现通信连接,从而使得横轴、纵轴和竖轴方向上的每一行均构成环形拓扑,进而组合成三维环面拓扑。
图5B示出了根据本公开另一示例性实施例的分布式系统的结构框图。如图5B所示,分布式系统能够在如图5A所示的系统结构的基础上进行扩展,每个通信单元可以连接更多的计算单元,从而能够实现系统计算能力的进一步提升。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据通信方法。
根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的数据通信方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序再被处理器执行时实现上述的数据通信方法。
参考图6,现将描述可以作为本公开的服务器或客户端的电子设备600的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606、输出单元607、存储单元608以及通信单元609。输入单元606可以是能向设备600输入信息的任何类型的设备,输入单元606可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元607可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元608可以包括但不限于磁盘、光盘。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据通信方法。例如,在一些实施例中,数据通信方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的数据通信方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据通信方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (14)
1.一种应用于分布式系统的数据通信方法,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述方法包括:
响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点包括与所述第二节点通信连接的第一通信单元,确定所述第一通信单元为目标通信单元;
响应于确定所述目标通信单元与所述第一计算单元未处于通信连接状态,将所述数据转发至与所述目标通信单元通信连接的第二计算单元;以及
经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点。
2.如权利要求1所述的方法,还包括:
响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点所包括的任一通信单元均不与所述第二节点通信连接,确定与第三节点通信连接的第二通信单元为目标通信单元,其中,所述第三节点能够通过至少一个通信单元与所述第二节点通信连接;以及
经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第三节点,以使得所述第三节点能够将所述数据转发给所述第二节点。
3.如权利要求1或2所述的方法,其中,所述每个通信单元包括与所述多个计算单元分别对应的多个通信链路,并且其中,所述经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点包括:
经由所述目标通信单元中与所述第一计算单元对应的通信链路,将所述数据从所述第二计算单元发送至所述第二节点。
4.如权利要求1-3中任一项所述的方法,其中,所述多个节点构成N维环面结构。
5.一种应用于分布式系统的数据通信方法,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述方法包括:
响应于第二节点中的第三计算单元接收到数据,确定用于处理所述数据的目标计算单元;以及
响应于确定所述目标计算单元与所述第三计算单元不同,并且确定所述第二节点包括所述目标计算单元,将所述数据转发至所述目标计算单元。
6.如权利要求5所述的方法,还包括:
响应于确定所述第二节点不包括所述目标计算单元,并且确定所述第二节点包括与包括所述目标计算单元的第四节点通信连接的第三通信单元,确定所述第三通信单元为中转通信单元;
将所述数据转发至与所述中转通信单元通信连接的第四计算单元;以及
经由所述中转通信单元,将所述数据从所述第四计算单元发送至所述第四节点。
7.如权利要求6所述的方法,其中,所述每个通信单元包括与所述多个计算单元分别对应的多个通信链路,并且其中,所述经由所述中转通信单元,将所述数据从所述第四计算单元发送至所述第四节点包括:
经由所述目标通信单元中与所述第三计算单元对应的通信链路,将所述数据从所述第四计算单元发送至所述第四节点。
8.如权利要求5-7中任一项所述的方法,其中,所述多个节点构成N维环面结构。
9.一种应用于分布式系统的数据通信装置,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述装置包括:
第一确定单元,被配置用于响应于接收到第一节点中的第一计算单元向第二节点发送数据的数据发送请求,并且响应于确定所述第一节点包括与所述第二节点通信连接的第一通信单元,确定所述第一通信单元为目标通信单元;
第一转发单元,被配置用于响应于所述目标通信单元与所述第一计算单元未处于通信连接状态,将所述数据转发至与所述目标通信单元通信连接的第二计算单元;以及
发送单元,被配置用于经由所述目标通信单元,将所述数据从所述第二计算单元发送至所述第二节点,以使得所述第二节点能够接收所述数据。
10.一种应用于分布式系统的数据通信装置,所述分布式系统包括多个节点,每个节点包括多个计算单元和多个通信单元,所述多个通信单元与所述多个计算单元分别通信连接,所述多个通信单元中的每个通信单元与其他节点所包括的至少一个通信单元通信连接,所述装置包括:
第二确定单元,被配置用于响应于第二节点中的第三计算单元接收到数据,确定用于处理所述数据的目标计算单元;以及
第二转发单元,被配置用于响应于所述目标计算单元与所述第三计算单元不同,并且所述第二节点包括所述目标计算单元,将所述数据转发至所述目标计算单元。
11.一种分布式系统,包括多个节点,其中,所述多个节点中的每个节点包括:
多个计算单元;
与所述多个计算单元分别通信连接的多个通信单元,所述每个通信单元与其他节点所包括的至少一个通信单元通信连接;以及
如权利要求9所述的数据通信装置或如权利要求10所述的数据通信装置。
12.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-8中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210614958.4A CN115037747A (zh) | 2022-05-31 | 2022-05-31 | 数据通信方法及装置、分布式系统、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210614958.4A CN115037747A (zh) | 2022-05-31 | 2022-05-31 | 数据通信方法及装置、分布式系统、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115037747A true CN115037747A (zh) | 2022-09-09 |
Family
ID=83122714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210614958.4A Pending CN115037747A (zh) | 2022-05-31 | 2022-05-31 | 数据通信方法及装置、分布式系统、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037747A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072160A (zh) * | 2007-06-14 | 2007-11-14 | 华为技术有限公司 | 分布式虚拟环境的管理方法、系统及节点 |
CN101499052A (zh) * | 2008-01-31 | 2009-08-05 | 中国科学院过程工程研究所 | 一种面向粒子模型的多层直连集群并行计算系统中的节点 |
US20170300807A1 (en) * | 2016-02-22 | 2017-10-19 | Aivitae LLC | Neural net computer system with wireless or optical connections between neural net computing nodes |
CN112835695A (zh) * | 2021-01-28 | 2021-05-25 | 北京市商汤科技开发有限公司 | Pod间通信的方法和分布式计算系统 |
CN113377520A (zh) * | 2021-07-07 | 2021-09-10 | 北京百度网讯科技有限公司 | 资源调度方法、装置、设备以及存储介质 |
CN113535630A (zh) * | 2021-09-14 | 2021-10-22 | 苏州浪潮智能科技有限公司 | 一种跨节点通信方法、装置、设备及可读存储介质 |
CN113760499A (zh) * | 2021-01-27 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 调度计算单元的方法、装置、计算设备及介质 |
CN114024858A (zh) * | 2021-11-03 | 2022-02-08 | 北京百度网讯科技有限公司 | 一种任务执行方法、装置、设备及存储介质 |
CN114359015A (zh) * | 2021-12-08 | 2022-04-15 | 北京百度网讯科技有限公司 | 数据传输方法、装置和图形处理服务器 |
-
2022
- 2022-05-31 CN CN202210614958.4A patent/CN115037747A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072160A (zh) * | 2007-06-14 | 2007-11-14 | 华为技术有限公司 | 分布式虚拟环境的管理方法、系统及节点 |
CN101499052A (zh) * | 2008-01-31 | 2009-08-05 | 中国科学院过程工程研究所 | 一种面向粒子模型的多层直连集群并行计算系统中的节点 |
US20170300807A1 (en) * | 2016-02-22 | 2017-10-19 | Aivitae LLC | Neural net computer system with wireless or optical connections between neural net computing nodes |
CN113760499A (zh) * | 2021-01-27 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 调度计算单元的方法、装置、计算设备及介质 |
CN112835695A (zh) * | 2021-01-28 | 2021-05-25 | 北京市商汤科技开发有限公司 | Pod间通信的方法和分布式计算系统 |
CN113377520A (zh) * | 2021-07-07 | 2021-09-10 | 北京百度网讯科技有限公司 | 资源调度方法、装置、设备以及存储介质 |
CN113535630A (zh) * | 2021-09-14 | 2021-10-22 | 苏州浪潮智能科技有限公司 | 一种跨节点通信方法、装置、设备及可读存储介质 |
CN114024858A (zh) * | 2021-11-03 | 2022-02-08 | 北京百度网讯科技有限公司 | 一种任务执行方法、装置、设备及存储介质 |
CN114359015A (zh) * | 2021-12-08 | 2022-04-15 | 北京百度网讯科技有限公司 | 数据传输方法、装置和图形处理服务器 |
Non-Patent Citations (1)
Title |
---|
王春凯;孟小峰;: "应对倾斜数据流在线连接方法", 软件学报, no. 03 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI803663B (zh) | 一種運算裝置和運算方法 | |
JP6385593B2 (ja) | ネットワーク発見および同期のためのシステム | |
CN113377520B (zh) | 资源调度方法、装置、设备以及存储介质 | |
JP2022008781A (ja) | 分散型トレーニング方法、システム、デバイス、記憶媒体、及びプログラム | |
JP2022511716A (ja) | 非集中的な分散型深層学習 | |
CN115880132B (zh) | 图形处理器、矩阵乘法任务处理方法、装置及存储介质 | |
CN112889032B (zh) | 使用光网络的可重新配置的计算平台 | |
US20220121928A1 (en) | Enhanced reconfigurable interconnect network | |
CN110766089A (zh) | 超网络的模型结构采样方法、装置以及电子设备 | |
CN112188325A (zh) | 使用具有一对多光交换机的光网络的可重新配置的计算平台 | |
CN113364603B (zh) | 环形网络的故障恢复方法及物理节点 | |
CN114840339A (zh) | Gpu服务器、数据计算方法及电子设备 | |
JP7081014B2 (ja) | インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN115037747A (zh) | 数据通信方法及装置、分布式系统、设备和介质 | |
CN115865701B (zh) | 基于菊花链网络的节点控制方法、装置及系统 | |
CN111078286B (zh) | 数据通信方法、计算系统和存储介质 | |
TW201640361A (zh) | 擴升轉接器矩陣 | |
WO2022228224A1 (zh) | 量子计算任务执行方法、装置及量子计算机操作系统 | |
US20150288596A1 (en) | Systems and methods for selecting a router to connect a bridge in the network on chip (noc) | |
CN104090650A (zh) | 在单机中实现多人操作的控制系统与方法 | |
CN114205414A (zh) | 基于服务网格的数据处理方法、装置、电子设备和介质 | |
JP2022117451A (ja) | 変更タスクを実行する方法、装置、電子機器、及び読み取り可能な記憶媒体 | |
KR20240077474A (ko) | 데이터 전송 방법, 장치, 기기 및 매체 | |
CN116599895A (zh) | 数据传输方法及装置、设备和介质 | |
CN104049915A (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 |