A communication path scheduling method and apparatus based on communication ports
By acquiring the port topology of the communication network and mapping it to a preset coordinate system, and combining it with the communication port orientation vector, the problem of limited communication path retrieval and scheduling in the existing technology is solved, and efficient communication path optimization and latency reduction are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING TANWEIXINLIAN TECHNOLOGY CO LTD
- Filing Date
- 2026-02-13
- Publication Date
- 2026-06-02
AI Technical Summary
The existing communication library NCCL cannot accurately identify port connections between communication entities, which limits the optimization of communication path retrieval algorithms and port scheduling. The communication logical topology lacks port information and cannot meet high bandwidth requirements.
By acquiring the port topology relationships of all communication entities in the communication network, a topology description file is formed, mapped to a preset coordinate system, and the coordinates of the communication entities are determined. Combined with the orientation vector of the communication port, the communication path is determined and a routing strategy is generated, enabling fast port-level retrieval and scheduling.
It enables a detailed description of the connection relationships between communication entities, optimizes the retrieval of communication paths and the generation of routing strategies, and reduces communication latency.
Smart Images

Figure CN122137811A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication interconnection technology, and in particular to a communication path scheduling method and apparatus based on communication ports, and a communication network. Background Technology
[0002] With the development of artificial intelligence, the demand for communication interconnection is increasing, especially after the emergence of large models. A single GPU cannot accommodate such large models, necessitating training large models in multi-GPU, multi-machine environments. This requires extensive inter-GPU communication for model parameters, gradients, and other data, placing increasingly higher demands on communication bandwidth. A single port on a GPU or other computing card is no longer sufficient to meet these bandwidth requirements, leading to the development of multi-port computing cards, such as Nvidia's H100 with 18 ports. Subsequently, multi-port switch chips have emerged, such as Nvidia's NVSwitch3 with 64 ports. As the number of communication ports increases, the awareness, scheduling, and optimization of these ports become increasingly important for aggregated communication. While the existing aggregated communication library NCCL performs topology awareness, it only identifies whether there is a communication connection between entities, failing to pinpoint the exact port(s) used for the connection. This limitation in topology recognition and awareness accuracy further results in the constructed communication logic topology lacking port information, thus restricting communication path retrieval algorithms and port scheduling optimization. Summary of the Invention
[0003] The purpose of this disclosure is to provide a communication path scheduling method and apparatus, and a communication network based on communication ports, in order to solve the problems existing in the prior art.
[0004] The embodiments of this disclosure adopt the following technical solution: a communication path scheduling method based on communication ports, comprising: acquiring the communication port topology relationship between all communication entities in a communication network to form a topology description file; mapping all communication entities to a preset coordinate system according to the topology description file, and determining the coordinates of each communication entity in the preset coordinate system; mapping all communication port topology relationships to the communication port orientation vector of each communication entity according to the topology description file and the coordinates of the communication entities; taking any one communication entity in the communication network as a communication initiating entity and another communication entity as a communication target entity, determining the entity orientation vector between the communication initiating entity and the communication target entity; determining the target communication port of the communication initiating entity according to the communication port orientation vector of the communication initiating entity and the entity orientation vector, and taking the next communication entity connected to the target communication port as a new communication initiating entity, determining a new target communication port, until the next communication entity of the target communication port is the communication target entity; arranging all the target communication ports in sequence to obtain the communication path between the current communication initiating entity and the current communication target entity; traversing the communication path between any two communication entities in the communication network to obtain the communication route of the communication network.
[0005] This disclosure also provides a communication path scheduling device based on communication ports, comprising: a communication port sensor, configured to acquire the communication port topology relationships between all communication entities in a communication network and form a topology description file; a path retrieval device, configured to map all communication entities to a preset coordinate system according to the topology description file and determine the coordinates of each communication entity in the preset coordinate system; map all communication port topology relationships to the communication port orientation vector of each communication entity according to the topology description file and the coordinates of the communication entities; and determine the communication port orientation vector of each communication entity by taking any one communication entity in the communication network as the communication initiating entity and another communication entity as the communication target entity. The entity orientation vector between the initiating entity and the target entity; based on the communication port orientation vector of the initiating entity and the entity orientation vector, the target communication port of the initiating entity is determined, and the next communication entity connected to the target communication port is used as the new initiating entity to determine a new target communication port, until the next communication entity of the target communication port is the target entity; all the target communication ports are arranged in order to obtain the communication path between the current initiating entity and the current target entity; a routing policy generator is used to traverse the communication path between any two communication entities in the communication network to obtain the communication route of the communication network.
[0006] The beneficial effects of the embodiments of this disclosure are as follows: by providing a fine topology of the communication ports of the communication entities, the connection relationship between the communication entities can be described more accurately. By combining the mapping between the communication entities and spatial coordinates, and the mapping between the communication channels and azimuth vectors, the fast retrieval of communication paths at the port level can be achieved. The generation and scheduling of port-level routing strategies within the communication network can be clarified, thereby optimizing the aggregated communication process and reducing communication latency. Attached Figure Description
[0007] To more clearly illustrate the technical solutions in one or more embodiments of this specification or in the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying 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.
[0008] Figure 1 This is a flowchart of the communication path scheduling method based on communication ports in the first embodiment of this disclosure; Figure 2 This is a schematic diagram of a fine-grained topology for a single server in the first embodiment of this disclosure; Figure 3 This is a schematic diagram of a fine-grained cross-server topology in the first embodiment of this disclosure; Figure 4 This is a schematic diagram of the three-dimensional spatial mapping between the communication entity and the communication port in the first embodiment of this disclosure; Figure 5 This is a schematic diagram of the communication path scheduling device based on the communication port in the second embodiment of this disclosure. Detailed Implementation
[0009] 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.
[0010] To address the aforementioned issues, the first embodiment of this disclosure provides a communication path scheduling method based on communication ports. This method is primarily applicable to any communication network and can be deployed within network scheduling devices within the network. These network scheduling devices include, but are not limited to, network controllers, core switches, and dedicated scheduling servers with routing calculation and resource scheduling functions. Their core components must possess data storage, vector calculation, and topology information processing capabilities to support the entire path scheduling process. Specifically, they can be deployed on core nodes of the network control plane, supporting centralized or distributed deployment modes. Centralized deployment facilitates global topology management, while distributed deployment improves the scheduling fault tolerance of large-scale networks. This communication network enables data communication within and across servers. Each server includes at least two communication entities, which communicate with each other through different communication ports. The communication entities in this embodiment include, but are not limited to, CPUs, switching chips, network interface cards (NICs), and computing cards. Communication connections include, but are not limited to, PCIe, NvLink, and UALink. Figure 1 A flowchart of the communication path scheduling method of this embodiment is shown, which mainly includes steps S10 to S70: S10: Obtain the communication port topology relationship between all communication entities in the communication network and form a topology description file.
[0011] For each communication entity, it can learn about the communication entities and communication ports connected to its own communication ports by sending test messages, etc. Test messages typically use a preset format probe packet, containing information such as the sender entity identifier, port identifier, and timestamp. Upon receiving the packet, the receiver returns a response packet containing its own entity identifier and port identifier. The sender can identify the port connection relationship by parsing the response packet. If a response packet is not received within a preset timeout period (e.g., 100ms), the port connection is considered abnormal, marked as disconnected, and logged for subsequent troubleshooting. By integrating the test message feedback results from each communication entity, it is possible to determine which port of which specific communication entity is connected to which port of another specific communication entity in the communication network. The communication port awareness function in this embodiment supports intra-server and cross-server port awareness, such as... Figure 2 and Figure 3 As shown, the topology relationships of all the communication ports obtained are then used to form a topology description file.
[0012] The topology description file in this embodiment records specific information for each communication connection, including: the initiating end's cluster number, server group number / supernode number, server number, device type, device number, and connection port number; the receiving end's cluster number, server group number / supernode number, server number, device type, device number, and connection port number; the connection type, bandwidth, latency, and number of links. Furthermore, a globally unique identifier for each communication connection can be generated based on the above information, facilitating rapid location of the corresponding communication connection during subsequent route generation. The globally unique identifier can be generated using a combined encoding method, for example, by concatenating "cluster number - server number - device number - port number - receiving end cluster number - receiving end server number - receiving end device number - receiving end port number," ensuring that each identifier corresponds one-to-one with a unique communication connection and improving route retrieval efficiency.
[0013] When constructing the topology description file, it supports both fine-grained topology construction within servers and fine-grained topology construction across servers. When constructing only fine-grained topology within servers, it collects detailed information on each communication port of each communication entity within the server and constructs a topology connection diagram between communication entities down to the port number. When constructing fine-grained topology across servers, it first completes the collection of topology information down to the port number within each server, then completes the collection of topology information down to the port number of adjacent cross-servers with direct communication connections, and finally aggregates all information to construct a topology diagram down to the port number of the entire cross-server network. Finally, the topology diagram is stored as a topology description file. The storage format of the topology description file can adopt a structured data format, such as XML, JSON, or Protocol Buffers. Among them, the XML format is easy for backend administrators to read and edit, while the Protocol Buffers format has higher serialization and deserialization efficiency and is suitable for the rapid transmission and storage of large-scale network topologies. In addition, during the topology aggregation process, a consistency verification mechanism is required to remove duplicate or conflicting topology information to ensure the accuracy of the topology description file. The consistency verification mechanism can be implemented by comparing the same connection relationship information reported by different nodes. If there are differences, the correction is based on the baseline topology information pre-stored by the central node. If there is no baseline information, the probe process of that connection is retried to ensure the reliability of the verification results.
[0014] S20, based on the topology description file, map all communication entities to a preset coordinate system and determine the coordinates of each communication entity in the preset coordinate system.
[0015] The communication connections recorded in the topology description file can also be used as the connection relationships between communication entities. In this embodiment, based on the connection relationships between communication entities, the corresponding communication entities are mapped in a preset coordinate system. The mapping process must follow the principle of "similar connections, similar coordinates," that is, the spatial distance between communication entities with direct communication connections in the coordinate system should be less than that between entities without direct connections, to ensure that the coordinate distance can truly reflect the physical or logical distance of the communication path. Based on the mapping results, the coordinates of each communication entity in the preset coordinate system are determined, and the distance between the coordinates reflects the length of the communication path between communication entities. For scenarios using physical coordinate mapping, the coordinate values can be converted from the physical layout drawings of the computer room, for example, using the upper left corner of the computer room as the reference origin and setting the coordinate scale in meters. For logical coordinate mapping scenarios, an equidistant distribution principle can be adopted to ensure that the coordinate intervals of entities at the same level are uniform, simplifying subsequent vector calculations.
[0016] The preset coordinate system in this embodiment can be a two-dimensional coordinate system, a three-dimensional coordinate system, or a higher-dimensional coordinate system, without specific limitations. The choice of a higher-dimensional coordinate system is generally suitable for complex communication networks with multi-level topologies, such as networks containing a four-level structure of "cluster-server-board-chip". The position information of each level of the structure can be represented by a four-dimensional coordinate system, which can further improve the accuracy of coordinate mapping. Taking a three-dimensional coordinate system as an example... Figure 4 A schematic diagram of the mapping of a communication entity in a three-dimensional coordinate system is shown, wherein each circular pattern represents a communication entity, and the three-dimensional coordinates marked inside the pattern correspond to the coordinates of that communication entity.
[0017] S30: Based on the topology description file and the coordinates of the communication entities, map all communication port topology relationships to the communication port orientation vector of each communication entity.
[0018] Once the position of a communication entity in the coordinate system is determined, all communication port topological relationships can be mapped to the communication port orientation vector of each communication entity based on the specific location of the communication entity and the connection relationships of the communication ports recorded in the topology description file. This represents the directional positional relationship between two connected communication ports. It is important to note that the communication port orientation vector is also based on a preset coordinate system and represented by a spatial vector of the corresponding dimension. The communication port orientation vector should point from its parent communication entity to another communication entity it connects to. If the coordinates of the current communication entity are... The coordinates of the other communication entity are Then, the orientation vector P of the communication port of the current communication entity should be represented as: The orientation vector Q of the communication port of another communication entity is represented as... Furthermore, since the positions of two communication ports within the same connection are relative, the sum of their port orientation vectors is 0. In some embodiments, the coordinate values of each vector during the calculation process need to retain a preset precision, such as retaining two decimal places, to avoid deviations in the orientation vector direction due to insufficient coordinate precision, which would affect the accuracy of subsequent path selection. Alternatively, the coordinate precision can be flexibly set according to the complexity requirements of the actual topology. When a communication entity has multiple communication ports connecting to the same target entity, the orientation vector directions of each port are consistent, and they only need to be distinguished by port identifiers to ensure accurate location of the specific port during subsequent path selection.
[0019] like Figure 4 As shown, communication entity With communication entity There is a connection between them, and they are communication entities. Communication port orientation vector Pointing to the communication entity Communication entity Communication port vector Pointing to the communication entity Explain the communication entity Located in the communication entity In the x-direction, while the communication entity Then located in the communication entity In the -x direction.
[0020] It is important to note that the three-dimensional vector representation of the communication port azimuth vector in this embodiment is only used to characterize the directional features of the vector. For its vector length, all communication port azimuth vectors can be normalized based on their length to ensure they have the same length, focusing only on directional features. In actual processing, normalization typically employs either min-max normalization or Z-score normalization algorithms. Min-max normalization maps the vector length to the [0,1] interval, suitable for scenarios with specific requirements on the vector length range. Z-score normalization, on the other hand, processes the vector length based on its mean and standard deviation, suitable for scenarios with a more dispersed vector length distribution. The specific algorithm choice depends on the scale and characteristics of the network topology. For example, for small-scale networks, where the vector length distribution is relatively concentrated, min-max normalization is sufficient. For large-scale networks, where the vector length distribution varies significantly, Z-score normalization can better eliminate the influence of extreme values.
[0021] In some embodiments, the vector length of the communication port orientation vector can be linearly mapped based on the bandwidth or latency of the actual communication port. This allows the difference in bandwidth or latency between communication ports to be represented by different vector lengths. Generally, a longer vector length indicates a wider bandwidth for the communication port, potentially leading to better communication performance. However, when performing a linear mapping between bandwidth and vector length, the vector length should be mapped to a specific numerical range to avoid large bandwidth differences causing vector length overflow and affecting subsequent calculations. When performing a latency-based mapping, the port latency is inversely proportional to the corresponding vector length; higher latency corresponds to a shorter vector length, and lower latency to a longer vector length. The specific length range of the vector length can be determined based on the accuracy requirements of subsequent angle calculations. For example, it can be set to [0.5, 2.0] to ensure significant differences in vector lengths for different bandwidths / latencies while avoiding calculation errors due to excessively large or small lengths. The specific coefficients of the linear mapping can be calibrated using network measurement data to ensure that the mapping relationship truly reflects the correlation between bandwidth / latency and communication quality.
[0022] S40, using any one communication entity in the communication network as the communication initiating entity and another communication entity as the communication target entity, determine the entity orientation vector between the communication initiating entity and the communication target entity.
[0023] For any two communication entities in a communication network, a communication connection can be established by forming different communication paths based on their own communication ports and other entities in the network. One entity is designated as the communication initiator, and the other as the communication target entity. The coordinate difference between them serves as the entity orientation vector, representing the orientation relationship of the target entity relative to the initiator. The calculation logic of the entity orientation vector is consistent with that of the communication port orientation vector, both based on coordinate differences in the coordinate system. The core difference lies in that the entity orientation vector represents the overall orientation relationship between the two communication entities, while the communication port orientation vector represents the connection orientation of a specific port. Both provide directional guidance for path selection.
[0024] S50, based on the communication port orientation vector and entity orientation vector of the communication initiating entity, determine the target communication port of the communication initiating entity, and take the next communication entity connected to the target communication port as the new communication initiating entity, determine the new target communication port, until the next communication entity of the target communication port is the communication target entity.
[0025] S60, arrange all target communication ports in order to obtain the communication path between the current communication initiating entity and the current communication target entity.
[0026] The entity orientation vector represents the orientation relationship between the target entity and the initiating entity, while the communication port orientation vector of the communication entity represents the next communication entity that the current communication entity points to. Based on the comparison between the entity orientation vector and the communication port orientation vector of the initiating entity, the communication port and communication entity along the way can be determined sequentially by taking the initiating entity as the starting point, thus achieving the shortest communication path.
[0027] Specifically, after the communication port orientation vectors are normalized based on vector length, during communication path planning, the angles between all communication port orientation vectors of the current communication initiating entity and the entity orientation vector are first compared. The communication port orientation vector with the smallest angle with the entity orientation vector is determined as the target communication port of the communication initiating entity, meaning that the distance between the current communication initiating entity and the target entity is shortest when conducting data communication through this communication port. Then, the next communication entity connected to the target communication port of the current communication initiating entity is taken as the new communication initiating entity, and a new entity orientation is determined between the new communication initiating entity and the target entity. A vector represents the next communication entity to which data has flowed from the target communication port of the first initiating entity. This next communication entity is then used as the initiating entity. The new target communication port is determined based on the angle between the new initiating entity's communication port orientation vector and the new entity's orientation vector. The shortest communication distance between the target and the target entity is then determined again. This process is repeated until the next communication entity after the target communication port of an initiating entity becomes the target entity. At this point, the target communication port's orientation vector coincides with the entity's orientation vector, and the target and target entity's communication ports are directly connected. In some embodiments, the cosine of the angle can be calculated using the vector dot product formula. The size of the angle is indirectly determined by the magnitude of the cosine; a larger cosine value indicates a smaller angle. This method requires less computation than directly calculating the angle and is more suitable for fast path planning in large-scale networks. When multiple ports have the same angle, the optimal port can be selected by combining historical communication success rates, bit error rates, and other indicators to improve the reliability of the communication path.
[0028] For example, with Figure 4 Communication entities in As the entity that initiates communication, with the communication entity As the target entities in communication, the entity orientation vector between the two is For communication entities For all communication port orientation vectors, the communication port orientation vector With entity orientation vector If the included angle between them is the smallest, then the orientation vector of the communication port is determined. For communication entities The target communication port; then the communication port orientation vector The next entity connected is the communication entity. Then calculate the communication entity With communication entity The entity orientation vector between them is At this time, for the communication entity For all communication port orientation vectors, the communication port orientation vector With entity orientation vector If the included angle between them is the smallest, then the orientation vector of the communication port is determined. For communication entities The target communication port; then based on the communication entity Communication port orientation vector The next entity to be connected to is the communication entity. Communication entity With communication entity The entity orientation vector between them is Just like the communication entity One of the communication port orientation vectors Overlapping, and the orientation vector of the communication port The next entity connected is the target entity for communication. At this point, the communication entity... To the communication entity The communication path has been constructed.
[0029] In some embodiments, for communication port orientation vectors whose vector length represents bandwidth or delay, the impact of bandwidth and delay on communication performance should also be considered when performing communication path retrieval. In this case, the cosine of the angle between the communication port orientation vector and the entity orientation vector can be used as a basis for determining the target communication port. The larger the cosine value, the higher the consistency between the communication direction of the communication port and the entity orientation vector. Specifically, the cosine of the angle between each communication port orientation vector and the entity orientation vector of the communication initiating entity is calculated, and the communication port orientation vector corresponding to the one with the largest cosine value is determined as the target communication port of the communication initiating entity. Then, the next communication entity connected to the target communication port is taken as the new communication initiating entity, and a new entity orientation vector is determined between the new communication initiating entity and the communication target entity. A new target communication port is then determined based on the cosine of the angle between the new communication port orientation vector of the new communication initiating entity and the new entity orientation vector, until the next communication entity connected to the target communication port is the communication target entity. Cosine value calculation is also based on the vector dot product formula. Its core advantage is that it can take into account both directional consistency and communication quality corresponding to vector length. When the directional consistency of two ports is similar, the port with a longer vector length (i.e., wider bandwidth and lower latency) will correspond to a larger cosine value and will be preferentially selected as the target port, thus achieving the synergy of optimal direction and optimal quality.
[0030] In some embodiments, both bandwidth and latency can be considered when representing the vector length, for example, calculated using the following formula:
[0031] in, Represents the orientation vector of the communication port The length of the vector. Indicates the bandwidth of the communication port. Indicates the delay status. and These are coefficients for bandwidth and latency, respectively. , , and The value can be defined by the user according to the scenario. A larger value indicates that bandwidth is considered more during communication. A value of 0 indicates that bandwidth is not considered. A larger value indicates that more consideration is given to latency during communication. A value of 0 indicates that latency is not considered. and If both are 0, then the vector length is not considered when determining the communication path; only the vector direction is considered. In actual implementation, the values of coefficients a and b can be determined through scenario-based testing. For example, in bandwidth-sensitive scenarios such as high-definition video transmission, a=0.7 and b=0.3 can be set; in latency-sensitive scenarios such as real-time control signal transmission, a=0.3 and b=0.7 can be set; for general data transmission scenarios, a=0.5 and b=0.5 can be set to ensure that the vector length accurately matches the scenario's communication requirements.
[0032] S70: Traverse the communication paths between any two communication entities in the communication network to obtain the communication routes of the communication network.
[0033] The communication path between any two communication entities in a communication network can be determined through the above steps. After traversing the communication paths between any two communication entities in the network, the optimal communication path between them can be obtained, forming the communication route of the network. During actual communication task execution, the optimal communication path can be quickly located based on the communication route, enabling rapid retrieval of port-level communication paths and reducing communication latency. The traversal process can employ either Depth-First Search (DFS) or Breadth-First Search (BFS) algorithms. The BFS algorithm is more suitable for finding the shortest path and has a more stable search process, making it suitable for most communication network scenarios. The DFS algorithm is more efficient in networks with simpler topologies. The specific algorithm choice can be determined based on the complexity of the network topology. After traversal, the communication route can be stored in the form of a routing table, containing information such as the initiating entity, the target entity, the sequence of ports traversed, the path bandwidth, and the path latency, facilitating rapid invocation of communication tasks.
[0034] In some embodiments, for a retrieved and determined communication path, a path detector can be used to check whether the path is unobstructed. If an obstructed communication path exists, a new communication path is re-determined between the communication initiating entity and the communication target entity corresponding to the original communication path, until the new communication path is unobstructed. It should be noted that when re-determining the communication path between two entities, the rules for determining the target communication port can be adjusted, such as changing the original minimum included angle to the second smallest included angle, or changing the original maximum cosine value to the second largest cosine value, to ensure that the re-determined communication path is different from the previous one, until the re-determined communication path is unobstructed. Finally, all unobstructed communication paths are formed into the communication routes of the communication network. The path detector's detection methods include, but are not limited to, sending probe data packets, monitoring port link status indicator lights, and reading the link status registers of network devices. Detection metrics include packet loss rate, link connectivity, and port response time. Typically, a packet loss rate ≤1% and a response time ≤50μs are set as the criteria for determining a smooth path. When re-determining a path, in addition to adjusting the selection rules for the included angle or cosine value, path diversity constraints can be introduced to ensure that the number of overlapping ports between the candidate path and the original path does not exceed a preset threshold, thereby improving the fault tolerance of the communication network. The preset threshold can be set according to network redundancy requirements, for example, set to 30% of the number of ports in the original path. If the original path contains 10 ports, then the number of overlapping ports between the candidate path and the original path should not exceed 3, ensuring the path's fault tolerance redundancy effect. The detection results can be synchronized to the routing table in real time, marking unsuccessful paths to prevent subsequent communication tasks from selecting faulty paths.
[0035] In actual communication, a communication link is constructed between the initiating and receiving entities based on actual communication needs and routing to achieve data transmission. During communication, the data transmission volume of each communication port is adjusted according to the congestion status of all communication ports along the communication link. For example, the bandwidth, throughput, or latency of each communication port can be used to determine if it is congested. If a port is congested, the data transmission volume is reduced; if a port is idle, the data transmission volume can be increased. Furthermore, if multiple communication links exist between two entities, the data transmission volume on different links can be dynamically adjusted based on the congestion status of different ports to fully utilize the bandwidth of multiple links, optimize data transmission efficiency, and reduce communication latency.
[0036] This disclosure describes the connection relationships between communication entities more accurately by providing a detailed topology of their communication ports, making it easier for communication algorithms to search for more explicit and optimized communication paths. By combining the mapping between communication entities and spatial coordinates, and the mapping between communication channels and azimuth vectors, it enables rapid retrieval of port-level communication paths, clarifies the generation and scheduling of port-level routing strategies within the communication network, optimizes the aggregate communication process, and reduces communication latency.
[0037] Based on the same inventive concept, the second embodiment of this disclosure provides a communication path scheduling device based on a communication port, the structural schematic of which is shown below. Figure 5 As shown, it mainly includes: a communication port sensor 10, used to acquire the communication port topology relationship between all communication entities in the communication network and form a topology description file; a path retrieval unit 20, used to map all communication entities to a preset coordinate system according to the topology description file and determine the coordinates of each communication entity in the preset coordinate system; based on the topology description file and the coordinates of the communication entities, it maps all communication port topology relationships to the communication port orientation vector of each communication entity; taking any one communication entity in the communication network as the communication initiating entity and another communication entity as the communication target entity, it determines the entity orientation vector between the communication initiating entity and the communication target entity; based on the communication port orientation vector of the communication initiating entity and the entity orientation vector, it determines the target communication port of the communication initiating entity, and takes the next communication entity connected to the target communication port as the new communication initiating entity, determines the new target communication port, until the next communication entity of the target communication port is the communication target entity; it arranges all target communication ports in order to obtain the communication path between the current communication initiating entity and the current communication target entity; and a routing policy generator 30, used to traverse the communication path between any two communication entities in the communication network to obtain the communication route of the communication network.
[0038] The specific construction process of the communication path and communication route implemented by the above-mentioned communication path scheduling device has been described in detail in the first embodiment of this disclosure, and will not be repeated here.
[0039] In some embodiments, the communication path scheduling device further includes a path detector, a communication channel establisher, a congestion sensor, and a port selector. Based on the port communication path topology, it establishes port communication links between communication entities. During data transmission, the port sensor detects port congestion and adjusts the amount of data transmitted through each port, reducing data transmission during congestion and increasing data transmission during idle periods. When multiple communication links exist between communication entities, the port sensor simultaneously detects the congestion of multiple ports, adjusting the amount of data transmitted through each port, reducing data transmission through congested ports, increasing data transmission through idle ports, and optimizing multi-port data transmission.
[0040] This disclosure describes the connection relationships between communication entities more accurately by providing a detailed topology of their communication ports, making it easier for communication algorithms to search for more explicit and optimized communication paths. By combining the mapping between communication entities and spatial coordinates, and the mapping between communication channels and azimuth vectors, it enables rapid retrieval of port-level communication paths, clarifies the generation and scheduling of port-level routing strategies within the communication network, optimizes the aggregate communication process, and reduces communication latency.
[0041] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit them. Although this disclosure 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 therein. Such 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 this disclosure.
Claims
1. A communication path scheduling method based on a communication port, characterized in that, include: Obtain the communication port topology relationships between all communication entities in the communication network and form a topology description file; According to the topology description file, all communication entities are mapped to a preset coordinate system, and the coordinates of each communication entity in the preset coordinate system are determined; Based on the topology description file and the coordinates of the communication entities, map all communication port topology relationships to the communication port orientation vector of each communication entity; Using any one communication entity in the communication network as the communication initiating entity and another communication entity as the communication target entity, determine the entity orientation vector between the communication initiating entity and the communication target entity; Based on the communication port orientation vector of the communication initiating entity and the entity orientation vector, the target communication port of the communication initiating entity is determined, and the next communication entity connected to the target communication port is used as the new communication initiating entity to determine a new target communication port, until the next communication entity of the target communication port is the communication target entity. Arrange all the target communication ports in order to obtain the communication path between the current communication initiating entity and the current communication target entity; The communication routes of the communication network are obtained by traversing the communication paths between any two communication entities in the communication network.
2. The communication path scheduling method according to claim 1, characterized in that, The topology description file is used to record the following information about the topology relationship of each communication port: The initiating end contains the cluster number, server group number / supernode number, server number, device type, device number, and connection port number; the receiving end contains the cluster number, server group number / supernode number, server number, device type, device number, connection port number, connection type, bandwidth, latency, and number of links.
3. The communication path scheduling method according to claim 2, characterized in that, The step of obtaining the communication port topology relationships between all communication entities in the communication network and forming a topology description file includes: Collect the topology information of each communication port of all communication entities within each server, and construct a topology connection diagram of the communication ports between communication entities within each server; Collect topology information of communication ports between communication entities that have direct communication connections within different servers; The topology connection diagrams within all servers and the topology information of communication ports between communication entities across servers are aggregated to form the topology description file of the communication network.
4. The communication path scheduling method according to claim 1, characterized in that, After mapping all communication port topology relationships to the communication port orientation vector of each communication entity based on the topology description file and the coordinates of the communication entities, the method further includes: The orientation vectors of all the communication ports are normalized based on the vector length.
5. The communication path scheduling method according to claim 4, characterized in that, The step of determining the target communication port of the communication initiating entity based on the communication port orientation vector of the communication initiating entity and the entity orientation vector, and determining a new target communication port by using the next communication entity connected to the target communication port as a new communication initiating entity, until the next communication entity of the target communication port is the communication target entity, includes: The normalized orientation vectors of all communication ports of the communication initiating entity are compared with the orientation vector of the entity, and the orientation vector of the communication port with the smallest angle with the orientation vector of the entity is determined as the target communication port of the communication initiating entity. The next communication entity connected to the target communication port is taken as the new communication initiating entity. A new entity orientation vector between the new communication initiating entity and the communication target entity is determined. The new target communication port is determined according to the angle between the communication port orientation vector of the new communication initiating entity and the new entity orientation vector, until the next communication entity of the target communication port is the communication target entity.
6. The communication path scheduling method according to claim 1, characterized in that, After mapping all communication port topology relationships to the communication port orientation vector of each communication entity based on the topology description file and the coordinates of the communication entities, the method further includes: A linear mapping is performed on the length of the communication port's orientation vector based on the bandwidth of the communication port, wherein the bandwidth is proportional to the vector length; or... The length of the orientation vector of the communication port is linearly mapped based on the delay of the communication port, wherein the magnitude of the delay is inversely proportional to the length of the vector.
7. The communication path scheduling method according to claim 6, characterized in that, The step of determining the target communication port of the communication initiating entity based on the communication port orientation vector of the communication initiating entity and the entity orientation vector, and determining a new target communication port by using the next communication entity connected to the target communication port as a new communication initiating entity, until the next communication entity of the target communication port is the communication target entity, includes: Calculate the cosine of the angle between each communication port azimuth vector of the communication initiating entity and the entity azimuth vector, and determine the communication port azimuth vector corresponding to the communication port azimuth vector with the largest cosine value as the target communication port of the communication initiating entity. The next communication entity connected to the target communication port is taken as the new communication initiating entity. A new entity orientation vector between the new communication initiating entity and the communication target entity is determined. The new target communication port is determined based on the cosine of the angle between the communication port orientation vector of the new communication initiating entity and the new entity orientation vector, until the next communication entity of the target communication port is the communication target entity.
8. The communication path scheduling method according to claim 1, characterized in that, After mapping all communication port topology relationships to the communication port orientation vector of each communication entity based on the topology description file and the coordinates of the communication entities, the method further includes: The vector length of the communication port's azimuth vector is determined based on the bandwidth and delay of the communication port: in, Represents the orientation vector of the communication port The length of the vector. Indicates the bandwidth of the communication port. Indicates the delay status. and These are coefficients for bandwidth and latency, respectively. , .
9. The communication path scheduling method according to any one of claims 1 to 8, characterized in that, The step of traversing the communication path between any two communication entities in the communication network to obtain the communication route of the communication network includes: Check whether each communication path is unobstructed; In the event of a non-functional communication path, a new communication path is determined between the communication initiating entity and the communication target entity corresponding to the non-functional communication path, until the new communication path is functional. All unobstructed communication paths are used to form the communication routes of the communication network; Based on communication requirements and the communication route, establish communication links between communication entities; sense the congestion status of communication ports and adjust the amount of data transmitted by the communication ports.
10. A communication path scheduling device based on a communication port, characterized in that, include: A communication port sensor is used to acquire the communication port topology relationships between all communication entities in a communication network and form a topology description file. A path finder is used to map all communication entities to a preset coordinate system according to the topology description file, and determine the coordinates of each communication entity in the preset coordinate system; based on the topology description file and the coordinates of the communication entities, map all communication port topology relationships to the communication port orientation vector of each communication entity; taking any one communication entity in the communication network as the communication initiating entity and another communication entity as the communication target entity, determine the entity orientation vector between the communication initiating entity and the communication target entity; based on the communication port orientation vector of the communication initiating entity and the entity orientation vector, determine the target communication port of the communication initiating entity, and take the next communication entity connected to the target communication port as a new communication initiating entity, determine a new target communication port, until the next communication entity of the target communication port is the communication target entity; and arrange all the target communication ports in sequence to obtain the communication path between the current communication initiating entity and the current communication target entity. A routing strategy generator is used to traverse the communication paths between any two communication entities in the communication network to obtain the communication routes of the communication network.