Dynamic multicast and dynamic in-network computing system and method
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-10
- Publication Date
- 2026-08-11
AI Technical Summary
但该架构的设计核心是适配“静态数据流向、固定计算任务”的早期AI训练/推理场景,存在天然局限性:一是通信拓扑静态化,采用预配置的链路连接模式,无法随任务学习动态调整连接关系,需重新配置链路资源重新初始化,无法实现实时响应;二是NvSwitch虽支持在网计算,但是参与在网计算的GPU必须在初始化时完成注册,并且通信过程中不运行动态添加和删除参与通信计算的GPU,动态性匮乏;三是NCCL集合通信库专为早期AI训练推理场景设计,缺乏动态可实时配置的动态集合通信原语接口,无法满足即时动态需求
Smart Images

Figure CN122547740A_ABST
Abstract
Description
Technical Field
[0001] This document relates to the field of communication interconnection technology, and in particular to a dynamic multicast and dynamic on-network computing system and method. Background Technology
[0002] While multicast and on-network computing communication technologies have achieved a certain scale of application, they still face significant bottlenecks in terms of dynamic requirements.
[0003] MPI (Message Passing Interface) and OpenMPI define message passing API specifications for core functions such as point-to-point and aggregate communication, enabling efficient data exchange and collaboration between multiple nodes / processes. However, MPI / OpenMPI's message passing mechanism is rigid, and its communication performance needs improvement. With the development of artificial intelligence, high-performance aggregate communication libraries are further evolving.
[0004] NVIDIA's NCCL (Collective Communication Library), NvLink (NVIDIA Link) high-speed interconnect technology, and NvSwitch (NVIDIA Switch) switching architecture are currently the mainstream communication solutions for AI computing clusters. They achieve high-bandwidth, low-latency data transmission through point-to-point direct connections and multi-level switching networks, demonstrating significant performance advantages in parallel training scenarios for deep learning models. However, the core design of this architecture is adapted to early AI training / inference scenarios with "static data flow and fixed computational tasks," which has inherent limitations: First, the communication topology is static, using a pre-configured link connection mode, making it impossible to dynamically adjust connection relationships as tasks learn, requiring reconfiguration and reinitialization of link resources, thus failing to achieve real-time response; second, although NvSwitch supports on-network computing, GPUs participating in on-network computing must be registered during initialization, and the dynamic addition and removal of GPUs participating in communication computation does not occur during communication, resulting in a lack of dynamism; third, the NCCL Collective Communication Library is designed specifically for early AI training and inference scenarios and lacks dynamically configurable, real-time dynamic collective communication primitive interfaces, failing to meet immediate dynamic needs.
[0005] Therefore, the existing technology has the following problems: existing group communication devices do not support dynamic group communication domain construction; existing group communication devices do not support dynamic on-network computing; existing group communication driver software does not support dynamic group communication configuration; existing group communication libraries do not support dynamic group communication primitives. Summary of the Invention
[0006] The purpose of this invention is to provide a dynamic multicast and dynamic on-network computing system and method, which aims to solve the above-mentioned problems in the prior art.
[0007] This invention provides a dynamic multicast and dynamic on-network computing system, comprising: Dynamic communication hardware is used to directly respond to dynamic aggregate communication commands, execute multicast data distribution, realize dynamic multicast, build multiple multicast groups and multiple on-net computing groups, configure and control the communication entities participating in multicast and on-net computing in real time, and close or enable the communication links of multicast groups and on-net computing groups in real time. The dynamic communication driver software, connected to the dynamic communication hardware, is used to initialize the dynamic communication hardware. In response to the task instructions, dynamic communication adjustment instructions and / or dynamic collective communication instructions issued by the dynamic collective communication library, it completes the initialization configuration of dynamic multicast and dynamic on-network computing, initializes the initial communication entities and initial calculation precision for participating in multicast or on-network computing, and provides the dynamic communication hardware with interfaces for establishing multicast groups and on-network computing groups, configuring and controlling communication entities, and controlling communication links. A dynamic aggregated communication library, connected to the dynamic communication driver software and the dynamic communication hardware, is used to identify the physical topology of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and to construct a logical topology. Based on whether dynamic communication is supported as marked in the logical topology, the current working mode is configured; the communication entities participating in aggregated communication are directly used as primitive inputs, and the communication entities participating in aggregated communication are adjusted in real time through the CPU or GPU; aggregated communication task instructions and / or dynamic communication adjustment instructions are issued, wherein the working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode.
[0008] This invention provides a dynamic multicast and dynamic on-network computing method for the aforementioned dynamic multicast and dynamic on-network computing system. The method includes: Dynamic multicast is achieved by directly responding to dynamic aggregate communication commands through dynamic communication hardware, executing multicast data distribution, constructing multiple multicast groups and multiple on-network computing groups, configuring and controlling the communication entities participating in multicast and on-network computing in real time, and closing or enabling the communication links of multicast groups and on-network computing groups in real time. The dynamic communication hardware is initialized through dynamic communication driver software. In response to the task instructions, dynamic communication adjustment instructions and / or dynamic collective communication instructions issued by the dynamic collective communication library, the initial configuration of dynamic multicast and dynamic on-network computing is completed. The initial configuration of the initial communication entities and initial calculation precision for participating in multicast or on-network computing is initialized, and the dynamic communication hardware is provided with an interface for establishing multicast groups and on-network computing groups, configuring and controlling communication entities and controlling communication links. The system identifies the physical topologies of communication hardware that supports dynamic communication and those that do not by using a dynamic aggregated communication library, and constructs a logical topology. Based on whether dynamic communication is supported as indicated in the logical topology, the system configures the current working mode. The communication entities participating in aggregated communication are directly used as primitive inputs, and the CPU or GPU adjusts the communication entities participating in aggregated communication in real time. The system issues aggregated communication task instructions and / or dynamic communication adjustment instructions. The working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode.
[0009] This invention also provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the steps of the above-described dynamic multicast and dynamic on-network computing methods.
[0010] This invention also provides a computer-readable storage medium storing an information transmission implementation program, which, when executed by a processor, implements the steps of the above-described dynamic multicast and dynamic on-network computing methods.
[0011] The embodiments of this invention enable real-time adjustment of communication entities participating in multicast communication without re-initialization, offering convenience, flexibility, and no performance loss. It supports real-time adjustment of communication entities participating in on-network computing without re-initialization, providing convenience, flexibility, and no performance loss. It also allows users to adjust and configure communication entities participating in on-network computing in real time. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in one or more embodiments of this specification or in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a schematic diagram of the dynamic multicast and dynamic on-network computing system according to an embodiment of the present invention; Figure 2 This is a schematic diagram illustrating the detailed architecture of the dynamic multicast and dynamic on-network computing system according to an embodiment of the present invention; Figure 3 This is a schematic diagram of the structure of the dynamic communication hardware according to an embodiment of the present invention; Figure 4 This is a schematic diagram illustrating the dynamic adjustment of communication entities participating in group communication according to an embodiment of the present invention; Figure 5 This is a flowchart illustrating the operation of the dynamic collection communication library according to an embodiment of the present invention. Figure 6 This is a flowchart of the dynamic multicast and dynamic on-network calculation method according to an embodiment of the present invention; Figure 7 This is a schematic diagram of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0014] To enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the technical solutions in one or more embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of the embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of this document.
[0015] System Implementation Examples According to embodiments of the present invention, a dynamic multicast and dynamic on-network computing system is provided. Figure 1 This is a schematic diagram of the dynamic multicast and dynamic on-network computing system according to an embodiment of the present invention, such as... Figure 1 As shown, the dynamic multicast and dynamic on-network computing system according to an embodiment of the present invention specifically includes: Dynamic communication hardware 10 is used to directly respond to dynamic aggregated communication commands, execute multicast data distribution, realize dynamic multicast, construct multiple multicast groups and multiple on-network computing groups, configure and control the communication entities participating in multicast and on-network computing in real time, and close or enable the communication links of multicast groups and on-network computing groups in real time; specifically including: The multicast data distribution unit is used to complete multicast data distribution and realize dynamic multicast. A dynamic multicast configuration register, connected to the multicast data distribution unit, is used to configure all communication entities participating in the multicast and to construct one or more multicast groups marked by a multicast group identifier. A communication entity may belong to one or more multicast groups or may not belong to any multicast group. The dynamic multicast control unit, connected to the dynamic multicast configuration register, is used to control the communication entities participating in multicast in real time, record the communication entities in the multicast group in the group identifier, close or enable the communication links in the multicast group in real time, and add or delete communication entities in the group identifier. A dedicated computing unit for communications, used to enable on-network computing; A dynamic on-network computing configuration register, connected to the dedicated communication computing unit, is used to support the configuration of one or more on-network computing groups marked by an on-network computing group identifier, wherein a communication entity belongs to one or more on-network computing groups, or does not belong to any on-network computing group; A dynamic on-network computing control unit, connected to the dynamic on-network computing configuration register, is used to control the communication entities participating in on-network computing in real time. The on-network computing group identifier records the communication entities involved in on-network computing, and can close or enable communication links within the on-network computing group in real time. It also supports adding or deleting communication entities from the on-network computing group identifier. A single communication group supports both multicast and on-network computing. The dynamic multicast configuration register and the dynamic on-network computing configuration register are combined into a single configuration register. The dynamic multicast control unit and the dynamic on-network computing control unit are combined into a single unit, supporting simultaneous multicast and on-network computing control.
[0016] Dynamic communication driver software 12, connected to the dynamic communication hardware, is used to initialize the dynamic communication hardware. Responding to task instructions, dynamic communication adjustment instructions, and / or dynamic collective communication instructions issued by the dynamic collective communication library, it completes the initial configuration of dynamic multicast and dynamic on-network computing. It initializes the initial communication entities and initial computation precision participating in multicast or on-network computing, and provides the dynamic communication hardware with interfaces for establishing multicast groups and on-network computing groups, configuring and controlling communication entities, and controlling communication links. Specifically, it includes: The dynamic multicast initialization configuration module is used to complete the dynamic multicast initialization configuration, which initializes the initial communication entities participating in the multicast. The dynamic on-network computing initialization configuration module is used to complete the dynamic on-network computing initialization configuration, which initializes the initial communication entity and initial calculation precision involved in on-network computing. The dynamic multicast communication link construction module provides an interface for establishing dynamic multicast links, completes the establishment of multicast communication links, provides an interface for controlling the deletion or addition of multicast groups, provides an interface for controlling the addition and deletion of communication entities in multicast groups, and provides an interface for controlling the enabling and disabling of communication links in multicast groups. The Dynamic On-Network Computing Communication Link Construction Module provides an interface for establishing links in dynamic on-network computing, completes the establishment of communication links in on-network computing, provides an interface for controlling the deletion or addition of on-network computing groups, provides an interface for controlling the addition and deletion of communication entities in dynamic on-network computing groups, and provides an interface for controlling the enabling and disabling of communication links in on-network computing groups.
[0017] The dynamic aggregate communication library 14, connected to the dynamic communication driver software and the dynamic communication hardware, is used to identify the physical topologies of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and to construct a logical topology. Based on whether dynamic communication is supported as indicated in the logical topology, it configures the current working mode; it directly uses the communication entities participating in aggregate communication as primitive inputs, and adjusts the communication entities participating in aggregate communication in real time through the CPU or GPU (NPU, TPU, XPU, FPGA, etc. computing cards); it issues aggregate communication task instructions and / or dynamic communication adjustment instructions, wherein the working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode. Specifically, it includes: The dynamic communication mode topology awareness module is used to perform topology awareness of dynamic communication modes, identify the physical topology of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and construct a logical topology, wherein the logical topology identifies communication hardware that supports and does not support dynamic communication. The dynamic communication coordination module is used to determine the current working mode based on the logical topology. The working modes specifically include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode. Specifically, when topology sensing detects that the communication hardware does not support dynamic features, the working mode is set to non-dynamic mode. When topology sensing detects that the communication hardware supports dynamic features, or that some hardware supports dynamic features, the dynamic mode is disabled according to user instructions, and the system enters non-dynamic mode, without dynamic multicast or dynamic on-network computation. When topology sensing detects that all communication hardware supports dynamic features, the working mode is set to dynamic mode according to user instructions. In this dynamic mode, the entire communication domain performs dynamic multicast and dynamic on-network computation. When topology sensing detects that some communication hardware supports dynamic features while others do not, the working mode is set to dynamic-non-dynamic compatible mode according to user instructions. In this dynamic-non-dynamic compatible mode, the entire communication domain supports non-dynamic communication. Based on the logical topology, the communication hardware supporting dynamic communication in the communication domain is divided into dynamic communication sub-domains. Dynamic multicast and dynamic on-network computation are performed within the dynamic communication sub-domains, while non-dynamic communication is used between sub-domains. The dynamic communication command issuing module is used to issue task commands for aggregated communication and / or dynamic communication adjustment commands. If only aggregated communication task commands are issued, the number and objects of communication entities participating in multicast or on-network computing remain unchanged, and only the corresponding communication tasks are performed. If only dynamic communication commands are issued, only the communication entities participating in multicast or on-network computing are changed. If aggregated communication task commands with dynamic communication adjustments are issued, the communication entities participating in multicast or on-network computing are changed in real time, and the aggregated communication tasks are completed simultaneously. The dynamic set communication primitive module includes a simplified dynamic communication primitive, a communication entity adjustment primitive, and a dynamic communication primitive. The simplified dynamic communication primitive does not require any input of participating entities and uses the default participating entities for set communication. The communication entity adjustment primitive adjusts the communication entities participating in set communication. The dynamic communication primitive directly uses the communication entities participating in set communication as primitive input to achieve real-time adjustment of the communication entities participating in set communication.
[0018] The collective communication instructions specifically include: simplified dynamic collective communication instructions, communication entity adjustment instructions, and dynamic collective communication instructions; Among them, the simplified dynamic aggregate communication command is used for aggregate communication using the default multicast group / on-the-net computing group, where all communication entities participate in aggregate communication by default; the communication entity adjustment command is used to adjust the communication entities participating in the communication; the dynamic aggregate communication command is used to send the communication entities and communication methods participating in the communication directly to the dynamic communication hardware through the command, so as to dynamically adjust the entities participating in the aggregate communication in real time and perform dynamic aggregate communication. The CPU adjusts the communication entities participating in the ensemble communication in real time by issuing communication commands through the dynamic communication driver software; the GPU computing card directly sends communication commands to the dynamic communication hardware to adjust the communication entities participating in the ensemble communication in real time.
[0019] In summary, the aggregate communication device of this invention supports dynamic group communication domain construction, dynamic on-network computing, dynamic aggregate communication configuration, and the aggregate communication library supports dynamic aggregate communication primitives.
[0020] The technical solutions of the embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0021] This invention proposes a system that supports dynamic multicast and dynamic on-network computing, such as... Figure 2 As shown, it consists of three main parts: dynamic communication hardware, dynamic communication driver software, and a dynamic aggregated communication library. The dynamic communication hardware includes: a multicast data distribution unit, a dedicated communication computing unit, dynamic multicast and dynamic on-network computing configuration registers, and a dynamic multicast and dynamic on-network computing control unit. The dynamic communication driver software includes: dynamic multicast initialization configuration, dynamic on-network computing initialization configuration, dynamic multicast communication path construction, and dynamic on-network computing communication path construction. The dynamic aggregated communication library includes dynamic communication mode topology awareness, dynamic communication coordination, dynamic communication command issuance, and dynamic aggregated communication primitives.
[0022] The dynamic communication hardware of this invention embodiment is as follows: Figure 3As shown, the multicast data distribution unit completes multicast data distribution, realizing dynamic multicast. The dynamic multicast configuration register supports configuring all communication entities participating in the multicast and supports building multiple multicast groups, marked by group identifiers. A communication entity can belong to one or more multicast groups, or it can not belong to any group. The dynamic multicast control unit controls the communication entities participating in the multicast in real time. It records the communication entities in the group in the group identifier, and enables or disables communication paths in the group in real time. It also supports adding or deleting communication entities in the group identifier. The dynamic adjustment of communication entities participating in group communication is as follows: Figure 4 As shown.
[0023] The dynamic communication hardware of this invention supports not only dynamic multicast but also dynamic on-network computing. The hardware has a built-in dedicated communication computing unit supporting on-network computing. A dynamic on-network computing configuration register supports configuring multiple on-network computing groups, which are identified by on-network computing group identifiers. A communication entity may belong to one or more on-network computing groups, or it may not belong to any. The dynamic on-network computing control unit controls the communication entities participating in on-network computing in real time. The on-network computing group identifier records the communication entities in the on-network computing, and it can close or enable communication paths (i.e., the aforementioned communication links) within the group in real time. It also supports adding or deleting communication entities from the group identifier. Furthermore, multicast groups and on-network computing groups can use a single group identifier, meaning that the group supports both dynamic multicast and dynamic on-network computing.
[0024] The dynamic communication driver software of this invention completes dynamic multicast initialization configuration and dynamic on-network computation initialization configuration. It supports initial configuration of the initial communication entities participating in multicast or on-network computation, and the initial computation precision. It provides a dynamic multicast link establishment interface to complete the establishment of communication links for multicast or on-network computation. The communication driver software provides interfaces for controlling the deletion or addition of multicast and on-network computation groups, interfaces for controlling the addition and deletion of communication entities, and interfaces for controlling the enabling and disabling of communication paths.
[0025] like Figure 5 As shown, the dynamic collection communication library of this invention supports dynamic communication mode topology awareness, identifies the physical topology of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and constructs a logical topology, in which hardware that supports and does not support dynamic communication is identified.
[0026] The dynamic aggregated communication library of this invention supports dynamic communication collaboration. Based on the logical topology constructed using topology awareness of the dynamic communication mode, it supports three modes: non-dynamic mode, dynamic mode, and a dynamic-non-dynamic compatible mode. For non-dynamic mode: when topology awareness detects that the communication hardware does not support dynamic features, non-dynamic mode is directly enabled; when topology awareness detects that the communication hardware supports dynamic features, or that some hardware supports dynamic features, the user can configure the aggregated communication library to disable dynamic mode, entering non-dynamic mode, and thus not performing dynamic multicast or dynamic on-network computation. For dynamic mode: when topology awareness detects that all communication hardware supports dynamic features, and the user configures dynamic mode to be enabled, dynamic mode is entered. In dynamic mode, the entire communication domain controlled by the aggregated communication library performs dynamic multicast and dynamic on-network computation. When topology awareness detects that some communication hardware supports dynamic features and some does not, the user can choose to enable a compatible mode. The communication domain is grouped according to the topology awareness detection results. The entire communication domain supports non-dynamic communication. Within the entire communication domain, for hardware supporting dynamic communication, dynamic communication subdomains are defined. Dynamic multicast and dynamic on-network computation are performed within each subdomain, while non-dynamic communication is used between subdomains.
[0027] The dynamic set communication library of this invention provides dynamic set communication primitives. These primitives directly input the participating communication entities as primitives, thereby enabling real-time adjustment of the participating entities. Furthermore, the dynamic set communication primitives support CPU-initiated adjustments, allowing the CPU to adjust the participating entities in real-time. They also support direct adjustments by GPUs or other computing cards, without CPU intervention or the need to call driver software.
[0028] In this embodiment of the invention, the dynamic collective communication library issues dynamic communication commands. The collective communication task command and the dynamic communication adjustment command can be sent separately or together. If only the collective communication task command is issued, the number and objects of the communication entities participating in multicast or on-network computation remain unchanged; only the corresponding communication task is performed. If the dynamic communication command is issued, only the communication entity objects participating in multicast or on-network computation are changed. The collective communication task and the dynamic communication adjustment command, i.e., a single command, change the communication entity objects participating in multicast or on-network computation in real time and simultaneously complete the collective communication task.
[0029] The beneficial effects of the embodiments of the present invention are as follows: It supports real-time adjustment of communication entities participating in multicast communication without re-initialization, offering convenience, flexibility, and no performance penalty. It also supports real-time adjustment of communication entities participating in on-network computing without re-initialization, offering convenience, flexibility, and no performance penalty. Furthermore, it allows users to adjust and configure communication entities participating in on-network computing in real time.
[0030] Method Implementation Examples According to embodiments of the present invention, a dynamic multicast and dynamic on-network computing method is provided for use in the aforementioned dynamic multicast and dynamic on-network computing system. Figure 6 This is a flowchart of the dynamic multicast and dynamic on-network calculation method according to an embodiment of the present invention, such as... Figure 6 As shown, the dynamic multicast and dynamic on-network calculation method according to an embodiment of the present invention specifically includes: Step S601 involves directly responding to dynamic aggregated communication commands through dynamic communication hardware, executing multicast data distribution to achieve dynamic multicast, constructing multiple multicast groups and multiple on-network computing groups, configuring and controlling the communication entities participating in multicast and on-network computing in real time, and closing or enabling the communication links of multicast groups and on-network computing groups in real time; specifically including: Multicast data distribution is accomplished through a multicast data distribution unit, enabling dynamic multicast. Configure all communication entities participating in the multicast by using the dynamic multicast configuration register, and construct one or more multicast groups marked by multicast group identifiers, wherein a communication entity belongs to one or more multicast groups, or does not belong to any multicast group; The dynamic multicast control unit controls the communication entities participating in the multicast in real time, records the communication entities in the multicast group in the group identifier, closes or enables the communication links in the multicast group in real time, and adds or deletes communication entities in the group identifier. On-network computing is achieved through a dedicated communication computing unit; The dynamic on-network computing configuration register supports configuring one or more on-network computing groups marked by an on-network computing group identifier, wherein a communication entity belongs to one or more on-network computing groups, or does not belong to any on-network computing group; The dynamic on-network computing control unit controls the communication entities participating in on-network computing in real time. The on-network computing group identifier records these communication entities, allowing for real-time closing or enabling of communication links within the on-network computing group. It also supports adding or deleting communication entities from the on-network computing group identifier. The dynamic multicast configuration register and the dynamic on-network computing configuration register are used together, as are the dynamic multicast control unit and the dynamic on-network computing control unit, supporting simultaneous multicast and on-network computing control.
[0031] Step S602 involves initializing the dynamic communication hardware via the dynamic communication driver software. Responding to task instructions, dynamic communication adjustment instructions, and / or dynamic collective communication instructions issued by the dynamic collective communication library, the initial configuration for dynamic multicast and dynamic on-network computing is completed. This initial configuration includes the initial communication entities and initial computation precision participating in multicast or on-network computing, providing the dynamic communication hardware with interfaces for establishing multicast groups and on-network computing groups, configuring and controlling communication entities, and controlling communication links. Specifically, this includes: The dynamic multicast initialization configuration is completed through the dynamic multicast initialization configuration module, which initializes the initial communication entities participating in the multicast. The dynamic on-network computing initialization configuration is completed through the dynamic on-network computing initialization configuration module. The initialization configuration participates in the initial communication entity and initial calculation precision of the on-network computing. The dynamic multicast communication link building module completes the establishment of multicast communication links, provides interfaces for controlling the deletion or addition of multicast groups, interfaces for controlling the addition and deletion of communication entities in multicast groups, and interfaces for controlling the enabling and disabling of communication links in multicast groups. The dynamic on-network computing communication link construction module provides an interface for establishing on-network computing links, enabling the establishment of on-network computing communication links. It also provides interfaces for controlling the deletion or addition of on-network computing groups, adding and deleting communication entities in dynamic on-network computing groups, and enabling and disabling communication links in on-network computing groups.
[0032] Step S603: Identify the physical topologies of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication through the dynamic aggregated communication library, and construct a logical topology. Based on whether dynamic communication is supported as marked in the logical topology, configure the current working mode; directly use the communication entities participating in aggregated communication as primitive inputs, and adjust the communication entities participating in aggregated communication in real time through the CPU or GPU (NPU, TPU, XPU, FPGA, etc. computing cards); issue aggregated communication task instructions and / or dynamic communication adjustment instructions, wherein the working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode. Specifically, this includes: The dynamic communication mode topology perception module performs topology perception of dynamic communication mode, identifies the physical topology of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and constructs a logical topology, wherein the logical topology identifies communication hardware that supports and does not support dynamic communication. The dynamic communication coordination module determines the current working mode based on the logical topology. Specifically, the working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode. When topology sensing detects that the communication hardware does not support dynamic features, the working mode is set to non-dynamic mode. When topology sensing detects that the communication hardware supports dynamic features, or that some hardware supports dynamic features, the dynamic mode is disabled according to user instructions, and the system enters non-dynamic mode, without dynamic multicast or dynamic on-network computation. When topology sensing detects that all communication hardware supports dynamic features, the working mode is set to dynamic mode according to user instructions. In this dynamic mode, the entire communication domain performs dynamic multicast and dynamic on-network computation. When topology sensing detects that some communication hardware supports dynamic features while others do not, the working mode is set to dynamic-non-dynamic compatible mode according to user instructions. In this dynamic-non-dynamic compatible mode, the entire communication domain supports non-dynamic communication. Based on the logical topology, the communication hardware supporting dynamic communication in the communication domain is divided into dynamic communication sub-domains. Dynamic multicast and dynamic on-network computation are performed within the dynamic communication sub-domains, while non-dynamic communication is used between sub-domains. The system issues task instructions and / or dynamic communication adjustment instructions for aggregated communication through the dynamic communication instruction issuing module. If only aggregated communication task instructions are issued, the number and objects of communication entities participating in multicast or on-network computing remain unchanged, and only the corresponding communication tasks are performed. If only dynamic communication instructions are issued, only the communication entities participating in multicast or on-network computing are changed. If aggregated communication task instructions with dynamic communication adjustment are issued, the communication entities participating in multicast or on-network computing are changed in real time, and the aggregated communication task is completed simultaneously. The dynamic set communication primitive module directly uses the communication entities participating in set communication as primitive inputs to achieve real-time adjustment of these entities: adjustment is achieved through the CPU, the dynamic communication driver software, and by the GPU computing card directly initiating real-time adjustments to the dynamic communication hardware. Simplified dynamic communication primitives are supported, allowing set communication to use default participating entities without inputting any. Communication entity adjustment primitives are also supported to adjust the communication entities participating in set communication. The dynamic communication primitives directly use the communication entities participating in set communication as primitive inputs to achieve real-time adjustment of these entities.
[0033] Dynamic set communication primitives schedule set communication instructions; set communication primitives support direct calls from CPU or GPU; set communication instructions are initiated and issued through CPU or GPU (NPU, TPU, XPU, FPGA, etc. computing cards); the CPU adjusts the communication entities participating in set communication in real time, and the dynamic communication driver software adjusts the communication entities; the GPU computing card directly initiates real-time adjustments to the communication entities participating in set communication to the dynamic communication hardware, and directly issues dynamic set communication instructions to the dynamic communication hardware; simplified dynamic communication primitives issue simplified dynamic set communication instructions; communication entity adjustment primitives issue communication entity adjustment instructions; dynamic communication primitives issue dynamic set communication instructions or set communication instructions.
[0034] The above processing procedure can be referred to Figure 5 To understand.
[0035] Device Example 1 This invention provides an electronic device, such as... Figure 7 As shown, it includes: a memory 70, a processor 72, and a computer program stored in the memory 70 and executable on the processor 72, wherein the computer program, when executed by the processor 72, performs the steps as described in the method embodiment.
[0036] Device Example 2 This invention provides a computer-readable storage medium storing an information transmission implementation program, which, when executed by a processor 72, performs the steps described in the method embodiment.
[0037] The computer-readable storage media described in this embodiment include, but are not limited to, ROM, RAM, disk, or optical disk.
[0038] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A dynamic multicast and dynamic in-network computing system, characterized by, include: Dynamic communication hardware is used to directly respond to dynamic aggregate communication commands, execute multicast data distribution, realize dynamic multicast, build multiple multicast groups and multiple on-net computing groups, configure and control the communication entities participating in multicast and on-net computing in real time, and close or enable the communication links of multicast groups and on-net computing groups in real time. The dynamic communication driver software, connected to the dynamic communication hardware, is used to initialize the dynamic communication hardware. In response to the task instructions, dynamic communication adjustment instructions and / or dynamic collective communication instructions issued by the dynamic collective communication library, it completes the initialization configuration of dynamic multicast and dynamic on-network computing, initializes the initial communication entities and initial calculation precision for participating in multicast or on-network computing, and provides the dynamic communication hardware with interfaces for establishing multicast groups and on-network computing groups, configuring and controlling communication entities, and controlling communication links. A dynamic aggregated communication library, connected to the dynamic communication driver software and the dynamic communication hardware, is used to identify the physical topology of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and to construct a logical topology. Based on whether dynamic communication is supported as marked in the logical topology, the current working mode is configured; the communication entities participating in aggregated communication are directly used as primitive inputs, and the communication entities participating in aggregated communication are adjusted in real time through the CPU or GPU; aggregated communication task instructions and / or dynamic communication adjustment instructions are issued, wherein the working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode.
2. The system of claim 1, wherein, The dynamic communication hardware specifically includes: The multicast data distribution unit is used to complete multicast data distribution and realize dynamic multicast. A dynamic multicast configuration register, connected to the multicast data distribution unit, is used to configure all communication entities participating in the multicast and to construct one or more multicast groups marked by a multicast group identifier. A communication entity may belong to one or more multicast groups or may not belong to any multicast group. The dynamic multicast control unit, connected to the dynamic multicast configuration register, is used to control the communication entities participating in multicast in real time, record the communication entities in the multicast group in the group identifier, close or enable the communication links in the multicast group in real time, and add or delete communication entities in the group identifier. A dedicated computing unit for communications, used to enable on-network computing; A dynamic on-network computing configuration register, connected to the dedicated communication computing unit, is used to support the configuration of one or more on-network computing groups marked by an on-network computing group identifier, wherein a communication entity belongs to one or more on-network computing groups, or does not belong to any on-network computing group; The dynamic on-network computing control unit, connected to the dynamic on-network computing configuration register, is used to control the communication entities participating in on-network computing in real time. It records the communication entities participating in on-network computing in the on-network computing group identifier, and can close or enable communication links in the on-network computing group in real time. It also supports adding or deleting communication entities from the on-network computing group identifier. A communication group simultaneously supports multicast and on-network computing. The dynamic multicast configuration register and the dynamic on-network computing configuration register are combined into the same configuration register. The dynamic multicast control unit and the dynamic on-network computing control unit are combined into the same unit, supporting simultaneous multicast and on-network computing control.
3. The system of claim 1, wherein, The dynamic communication driver software specifically includes: The dynamic multicast initialization configuration module is used to complete the dynamic multicast initialization configuration, which initializes the initial communication entities participating in the multicast. The dynamic on-network computing initialization configuration module is used to complete the dynamic on-network computing initialization configuration, which initializes the initial communication entity and initial calculation precision involved in on-network computing. The dynamic multicast communication link construction module provides an interface for establishing dynamic multicast links, completes the establishment of multicast communication links, provides an interface for controlling the deletion or addition of multicast groups, provides an interface for controlling the addition and deletion of communication entities in multicast groups, and provides an interface for controlling the enabling and disabling of communication links in multicast groups. The Dynamic On-Network Computing Communication Link Construction Module provides an interface for establishing links in dynamic on-network computing, completes the establishment of communication links in on-network computing, provides an interface for controlling the deletion or addition of on-network computing groups, provides an interface for controlling the addition and deletion of communication entities in dynamic on-network computing groups, and provides an interface for controlling the enabling and disabling of communication links in on-network computing groups.
4. The system of claim 1, wherein, The dynamic collection communication library specifically includes: The dynamic communication mode topology awareness module is used to perform topology awareness of dynamic communication modes, identify the physical topology of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and construct a logical topology, wherein the logical topology identifies communication hardware that supports and does not support dynamic communication. The dynamic communication coordination module is used to determine the current working mode based on the logical topology. The working modes specifically include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode. Specifically, when topology sensing detects that the communication hardware does not support dynamic features, the working mode is set to non-dynamic mode. When topology sensing detects that the communication hardware supports dynamic features, or that some hardware supports dynamic features, the dynamic mode is disabled according to user instructions, and the system enters non-dynamic mode, without dynamic multicast or dynamic on-network computation. When topology sensing detects that all communication hardware supports dynamic features, the working mode is set to dynamic mode according to user instructions. In this dynamic mode, the entire communication domain performs dynamic multicast and dynamic on-network computation. When topology sensing detects that some communication hardware supports dynamic features while others do not, the working mode is set to dynamic-non-dynamic compatible mode according to user instructions. In this dynamic-non-dynamic compatible mode, the entire communication domain supports non-dynamic communication. Based on the logical topology, the communication hardware supporting dynamic communication in the communication domain is divided into dynamic communication sub-domains. Dynamic multicast and dynamic on-network computation are performed within the dynamic communication sub-domains, while non-dynamic communication is used between sub-domains. The dynamic communication command issuing module is used to issue task commands for aggregated communication and / or dynamic communication adjustment commands. If only aggregated communication task commands are issued, the number and objects of communication entities participating in multicast or on-network computing remain unchanged, and only the corresponding communication tasks are performed. If only dynamic communication commands are issued, only the communication entities participating in multicast or on-network computing are changed. If aggregated communication task commands with dynamic communication adjustments are issued, the communication entities participating in multicast or on-network computing are changed in real time, and the aggregated communication tasks are completed simultaneously. The dynamic set communication primitive module includes a simplified dynamic communication primitive, a communication entity adjustment primitive, and a dynamic communication primitive. The simplified dynamic communication primitive does not require any input of participating entities and uses the default participating entities for set communication. The communication entity adjustment primitive adjusts the communication entities participating in set communication. The dynamic communication primitive directly uses the communication entities participating in set communication as primitive input to achieve real-time adjustment of the communication entities participating in set communication.
5. The system of claim 1, wherein, The collective communication instructions specifically include: simplified dynamic collective communication instructions, communication entity adjustment instructions, and dynamic collective communication instructions; Among them, the simplified dynamic aggregate communication command is used for aggregate communication using the default multicast group / on-the-net computing group, where all communication entities participate in aggregate communication by default; the communication entity adjustment command is used to adjust the communication entities participating in the communication; the dynamic aggregate communication command is used to send the communication entities and communication methods participating in the communication directly to the dynamic communication hardware through the command, so as to dynamically adjust the entities participating in the aggregate communication in real time and perform dynamic aggregate communication. The CPU adjusts the communication entities participating in the ensemble communication in real time by issuing communication commands through the dynamic communication driver software; the GPU computing card directly sends communication commands to the dynamic communication hardware to adjust the communication entities participating in the ensemble communication in real time.
6. A method for dynamic multicast and dynamic in-network computing, characterized in that, The method for the dynamic multicast and dynamic on-network computing system according to any one of claims 1 to 5 specifically includes: Dynamic multicast is achieved by directly responding to dynamic aggregate communication commands through dynamic communication hardware, executing multicast data distribution, constructing multiple multicast groups and multiple on-network computing groups, configuring and controlling the communication entities participating in multicast and on-network computing in real time, and closing or enabling the communication links of multicast groups and on-network computing groups in real time. The dynamic communication hardware is initialized through dynamic communication driver software. In response to the task instructions, dynamic communication adjustment instructions and / or dynamic collective communication instructions issued by the dynamic collective communication library, the initial configuration of dynamic multicast and dynamic on-network computing is completed. The initial configuration of the initial communication entities and initial calculation precision for participating in multicast or on-network computing is initialized, and the dynamic communication hardware is provided with an interface for establishing multicast groups and on-network computing groups, configuring and controlling communication entities and controlling communication links. The system identifies the physical topologies of communication hardware that supports dynamic communication and those that do not by using a dynamic aggregated communication library, and constructs a logical topology. Based on whether dynamic communication is supported as indicated in the logical topology, the system configures the current working mode. The communication entities participating in aggregated communication are directly used as primitive inputs, and the CPU or GPU adjusts the communication entities participating in aggregated communication in real time. The system issues aggregated communication task instructions and / or dynamic communication adjustment instructions. The working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode.
7. The method of claim 6, wherein, Dynamic multicast is achieved by distributing multicast data through dynamic communication hardware, constructing multiple multicast groups and multiple on-network computing groups, configuring and controlling the communication entities participating in multicast and on-network computing in real time, and closing or enabling the communication links of multicast groups and on-network computing groups in real time. Specifically, this includes: Multicast data distribution is accomplished through a multicast data distribution unit, enabling dynamic multicast. Configure all communication entities participating in the multicast by using the dynamic multicast configuration register, and construct one or more multicast groups marked by multicast group identifiers, wherein a communication entity belongs to one or more multicast groups, or does not belong to any multicast group; The dynamic multicast control unit controls the communication entities participating in the multicast in real time, records the communication entities in the multicast group in the group identifier, closes or enables the communication links in the multicast group in real time, and adds or deletes communication entities in the group identifier. On-network computing is achieved through a dedicated communication computing unit; The dynamic on-network computing configuration register supports configuring one or more on-network computing groups marked by an on-network computing group identifier, wherein a communication entity belongs to one or more on-network computing groups, or does not belong to any on-network computing group; The dynamic on-network computing control unit controls the communication entities participating in on-network computing in real time, records the communication entities in the on-network computing group identifier, and closes or enables the communication links in the on-network computing group in real time. It also supports adding or deleting communication entities in the on-network computing group identifier. The dynamic multicast configuration register and the dynamic on-network computing configuration register are used together, and the dynamic multicast control unit and the dynamic on-network computing control unit are used together, supporting simultaneous multicast and on-network computing control.
8. The method of claim 6, wherein, The dynamic communication hardware is initialized through dynamic communication driver software. Responding to task instructions, dynamic communication adjustment instructions, and / or dynamic collective communication instructions issued by the dynamic collective communication library, it completes the initial configuration of dynamic multicast and dynamic on-network computing. This initial configuration includes setting the initial communication entities and initial computation precision for participating in multicast or on-network computing, and providing the dynamic communication hardware with interfaces for establishing multicast groups and on-network computing groups, configuring and controlling communication entities, and controlling communication links. Specifically, this includes: The dynamic multicast initialization configuration is completed through the dynamic multicast initialization configuration module, which initializes the initial communication entities participating in the multicast. The dynamic on-network computing initialization configuration is completed through the dynamic on-network computing initialization configuration module. The initialization configuration participates in the initial communication entity and initial calculation precision of the on-network computing. The dynamic multicast communication link building module completes the establishment of multicast communication links, provides interfaces for controlling the deletion or addition of multicast groups, interfaces for controlling the addition and deletion of communication entities in multicast groups, and interfaces for controlling the enabling and disabling of communication links in multicast groups. The dynamic on-network computing communication link construction module provides an interface for establishing on-network computing links, enabling the establishment of on-network computing communication links. It also provides interfaces for controlling the deletion or addition of on-network computing groups, adding and deleting communication entities in dynamic on-network computing groups, and enabling and disabling communication links in on-network computing groups.
9. The method of claim 6, wherein, The system identifies the physical topologies of communication hardware that supports and does not support dynamic communication through a dynamic ensemble communication library, and constructs a logical topology. Based on whether dynamic communication is supported as indicated in the logical topology, the system configures the current operating mode. The communication entities participating in ensemble communication are directly used as primitive inputs, and the CPU or GPU adjusts the participating communication entities in real time. The system issues ensemble communication task instructions and / or dynamic communication adjustment instructions, specifically including: The dynamic communication mode topology perception module performs topology perception of dynamic communication mode, identifies the physical topology of communication hardware that supports dynamic communication and communication hardware that does not support dynamic communication, and constructs a logical topology, wherein the logical topology identifies communication hardware that supports and does not support dynamic communication. The dynamic communication coordination module determines the current working mode based on the logical topology. Specifically, the working modes include: non-dynamic mode, dynamic mode, and dynamic-non-dynamic compatible mode. When topology sensing detects that the communication hardware does not support dynamic features, the working mode is set to non-dynamic mode. When topology sensing detects that the communication hardware supports dynamic features, or that some hardware supports dynamic features, the dynamic mode is disabled according to user instructions, and the system enters non-dynamic mode, without dynamic multicast or dynamic on-network computation. When topology sensing detects that all communication hardware supports dynamic features, the working mode is set to dynamic mode according to user instructions. In this dynamic mode, the entire communication domain performs dynamic multicast and dynamic on-network computation. When topology sensing detects that some communication hardware supports dynamic features while others do not, the working mode is set to dynamic-non-dynamic compatible mode according to user instructions. In this dynamic-non-dynamic compatible mode, the entire communication domain supports non-dynamic communication. Based on the logical topology, the communication hardware supporting dynamic communication in the communication domain is divided into dynamic communication sub-domains. Dynamic multicast and dynamic on-network computation are performed within the dynamic communication sub-domains, while non-dynamic communication is used between sub-domains. The system issues task instructions and / or dynamic communication adjustment instructions for aggregated communication through the dynamic communication instruction issuing module. If only aggregated communication task instructions are issued, the number and objects of communication entities participating in multicast or on-network computing remain unchanged, and only the corresponding communication tasks are performed. If only dynamic communication instructions are issued, only the communication entities participating in multicast or on-network computing are changed. If aggregated communication task instructions with dynamic communication adjustment are issued, the communication entities participating in multicast or on-network computing are changed in real time, and the aggregated communication task is completed simultaneously. The dynamic set communication primitive module allows the participating communication entities to be directly used as primitive inputs, enabling real-time adjustment of these entities. It supports simplified dynamic communication primitives, allowing the use of default participating entities without inputting any. It also supports communication entity adjustment primitives to modify the participating communication entities. The dynamic communication primitives allow for real-time adjustment of the participating communication entities by directly using them as primitive inputs.
10. The method of claim 9, wherein, Dynamic set communication primitives schedule set communication instructions; set communication primitives support direct calls from CPU or GPU; set communication instructions are initiated and issued through CPU or GPU; the CPU adjusts the communication entities participating in set communication in real time, and the dynamic communication driver software adjusts the communication entities; the GPU computing card directly initiates real-time adjustments to the communication entities participating in set communication to the dynamic communication hardware, and directly issues dynamic set communication instructions to the dynamic communication hardware; simplified dynamic communication primitives issue simplified dynamic set communication instructions; communication entity adjustment primitives issue communication entity adjustment instructions; dynamic communication primitives issue dynamic set communication instructions or set communication instructions.