CN117061423B - Multi-machine routing method, device and system of fat tree network and storage medium - Google Patents

Multi-machine routing method, device and system of fat tree network and storage medium Download PDF

Info

Publication number
CN117061423B
CN117061423B CN202311296631.8A CN202311296631A CN117061423B CN 117061423 B CN117061423 B CN 117061423B CN 202311296631 A CN202311296631 A CN 202311296631A CN 117061423 B CN117061423 B CN 117061423B
Authority
CN
China
Prior art keywords
routing
node
target
data
routing node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311296631.8A
Other languages
Chinese (zh)
Other versions
CN117061423A (en
Inventor
陈静静
李树青
孙华锦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311296631.8A priority Critical patent/CN117061423B/en
Publication of CN117061423A publication Critical patent/CN117061423A/en
Application granted granted Critical
Publication of CN117061423B publication Critical patent/CN117061423B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation

Abstract

The invention relates to the technical field of communication and discloses a multi-machine routing method, device and system of a fat tree network and a storage medium. The method is applied to the current host, the current host controls the current subnet, and the method comprises the following steps: determining a source node and a destination node of a data transmission task; when one side of the source node is provided with a first adjacent subnet adjacent to the current subnet, adding a first routing algorithm as an execution algorithm of a data transmission task; when one side of the destination node is provided with a second adjacent subnet adjacent to the current subnet, adding a second routing algorithm as an execution algorithm of a data transmission task; the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm. The invention solves the problem of mutual interference among the subnetworks of the fat tree network.

Description

Multi-machine routing method, device and system of fat tree network and storage medium
Technical Field
The invention relates to the technical field of communication, in particular to a multi-machine routing method, device and system of a fat tree network and a storage medium.
Background
Aiming at the defects of the system on chip in time delay, clock synchronization, expandability, energy consumption, reusability and the like, the network on chip is proposed at the end of century, overcomes various limitations brought by a bus structure, fully references related network technology in the existing computer network, and introduces the related network technology into the system on chip for development and utilization, thereby having good development prospect. Fat tree networks are an emerging network on chip, where network bandwidth is not converged, and can support non-blocking communications. When one terminal node of the fat tree network transmits data to another terminal node, some technologies widely adopt a shortest path routing algorithm, namely, a closest routing node F of a source node s (a terminal node for transmitting data) and a destination node d (a terminal node for receiving data) is randomly selected, and the data is firstly from s to F and then from F to d. When supporting multi-host functionality, i.e. linking multiple hosts on a network topology, each host controls part of the end nodes and part of the routing nodes, i.e. the network is divided into multiple subnets, each host controlling one subnet. In more cases, the end nodes inside one sub-network transmit data packets more frequently, and the related art routing algorithm may generate sub-network interference, so that one sub-network uses the routing resources of another sub-network, which may seriously affect the communication task of the other sub-network.
Disclosure of Invention
In view of the above, the present invention provides a multi-machine routing method, device, system and storage medium for fat tree network, so as to solve the problem of mutual interference between subnetworks of fat tree network.
In a first aspect, the present invention provides a multi-machine routing method of a fat tree network, applied to a current host, the current host controlling a current subnet, the method comprising: determining a source node and a destination node of a data transmission task; when one side of the source node is provided with a first adjacent subnet adjacent to the current subnet, adding a first routing algorithm as an execution algorithm of a data transmission task; the first routing algorithm is used for limiting a first boundary and controlling data to be transmitted through a first boundary range node, and the first boundary range node comprises a routing node on the first boundary and a routing node on one side of the first boundary far away from a first adjacent subnet; the first boundary consists of first target routing nodes and routing nodes of each layer, wherein the routing nodes correspond to the first target routing nodes in position, and the first target routing nodes are first layer routing nodes corresponding to source nodes; when one side of the destination node is provided with a second adjacent subnet adjacent to the current subnet, adding a second routing algorithm as an execution algorithm of a data transmission task, wherein the second routing algorithm is used for defining a second boundary and controlling data to be transmitted through a second boundary range node, and the second boundary range node comprises a routing node on the second boundary and a routing node of which the second boundary is far away from one side of the second adjacent subnet; the second boundary consists of second target routing nodes and routing nodes of each layer, wherein each routing node corresponds to the position of each second target routing node, and each second target routing node is a first layer routing node corresponding to the destination node; the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm.
When one side of the source node and one side of the destination node are respectively provided with other adjacent subnets, the technical proposal provided by the embodiment of the invention respectively takes the first target routing node and the second target routing node of the source node and the destination node which belong to the access layer as standard establishment boundaries, and the routing nodes selected at higher layers such as the convergence layer and the like can not exceed the positions corresponding to the first target routing node or the positions corresponding to the second target routing node in the directions of the other adjacent subnets, thereby enabling the positions of the first target routing node or the second target routing node to serve as boundary lines, limiting the routing path to exceed the current subnets, avoiding the data transmission of the current subnets to other subnets, and solving the problem of mutual interference among the subnets of the fat-tree network.
In an alternative embodiment, the fat tree network is managed by two hosts, the fat tree network being divided into a first subnet and a second subnet, when one of the first subnet or the second subnet is the current subnet, the other subnet is the first adjacent subnet or the second adjacent subnet.
The technical scheme provided by the embodiment of the invention particularly uses the dual-host controlled dual-host network to realize the routing method of the sub-networks without mutual interference, and the dual-host can divide the fat-tree network at will, thereby improving the flexibility of network management and avoiding occupying excessive computing resources of the host.
In an alternative embodiment, the first routing algorithm comprises: the control data reaches a first target routing node from the source node; the control data reaches a first preset routing node from a first target routing node in a direct upward jump mode, wherein the direct upward jump indicates that the data transmitted by each routing node of a lower layer reaches the routing node of the same number of the higher layer; the control data reaches a second target routing node from a first preset routing node in a downward routing mode, wherein the downward routing means that the data transmitted by each routing node of a higher layer reaches routing nodes of different numbers or the same numbers of a lower layer; the control data arrives at the destination node from the second destination routing node.
In an alternative embodiment, the second routing algorithm comprises: the control data reaches a first target routing node from the source node; the control data arrives at a second preset routing node from a first target routing node in an upward routing mode, wherein the upward routing means that the data transmitted by each routing node of a lower layer arrives at routing nodes with different numbers or the same numbers of the higher layer; the control data reaches a second target routing node from a second preset routing node in a direct downward jump mode, wherein the direct downward jump indicates that the data transmitted by each routing node of the higher layer reach the routing node of the same number of the lower layer downwards; the control data arrives at the destination node from the second destination routing node.
In the technical scheme provided by the embodiment of the invention, two routing methods are respectively provided under a double-machine scene, wherein a first routing algorithm is that a source node vertically transmits data upwards (namely, directly jumps upwards) to a certain first preset routing node, then the data flexibly arrives at a destination node from the first preset routing node in a vertical or direction-changing mode (namely, downwards routes), so that a boundary is formed at one side of the source node, the data is prevented from being output to other subnets adjacent to one side of the source node, in addition, the data transmission path can be flexibly adjusted at one side of the source node facing the destination node, and the reliability of the data from the source node to the destination node is ensured under the condition that the subnets are not mutually interfered. The second routing algorithm is that the source node flexibly sends data (i.e. routes upwards) to a certain second preset routing node in a vertical or direction-changing mode, then the data arrives at the destination node from the second preset routing node in a vertical downward mode (i.e. directly hops downwards), so that a boundary is formed at one side of the destination node, the data is prevented from being output to other subnets adjacent to one side of the destination node, in addition, the data transmission path can be flexibly adjusted at one side of the destination node facing the source node, and the reliability of the data from the source node to the destination node is ensured under the condition that the subnets are not interfered with each other.
In an alternative embodiment, the numbers of the terminal nodes and the numbers of the routing nodes in the sub-network managed by each host are continuous, when the fat-tree network is a binary fat-tree network, the control data arrives at the first preset routing node from the first target routing node in a direct upward jump manner, including: converting the numbers of the routing nodes in the sub-network managed by each host into binary; performing exclusive OR operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive OR result; determining a valid bit from the exclusive-or result, wherein the valid bit is a number from the highest bit of 1 in the exclusive-or result to the lowest bit in the exclusive-or result; the control data is transmitted from the first target routing node to reach the first preset routing node according to the direct upward jump mode, and the target number of times is equal to the bit number of the valid bit.
In an alternative embodiment, the method further comprises: when the exclusive or result is all 0, the control data directly reaches the destination node through the first destination routing node.
In an alternative embodiment, the control data arrives at the second target routing node from the first preset routing node in a downward routing manner, including: when data is transmitted from a first preset routing node to a second target routing node, each layer of routing nodes passing through selects a routing node one layer lower than the corresponding sequential bit number value from the most significant bit to the least significant bit; when the corresponding sequential bit value is 1, the data is transmitted to a lower layer of routing nodes with different numbers from the current layer of routing nodes, and when the corresponding sequential bit value is 0, the data is transmitted to the lower layer of routing nodes with the same numbers as the current layer of routing nodes until the data reaches a second target routing node from a first preset routing node to stop selecting.
The embodiment of the invention further enables the routing algorithm to be fully automatic, thereby automatically calculating proper preset routing nodes and realizing the mechanisms of direct upward jump, downward route, direct downward jump and upward route. Firstly, the serial numbers of the terminal nodes and the serial numbers of the routing nodes in the sub-network managed by each host are ensured to be continuous, and the calculation can be performed according to the binary path algorithm provided by the embodiment. The number of the end node and the number of the routing node are then both converted into binary form. When the direct upward jump is executed, carrying out exclusive OR operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive OR result; and determining that the data from the highest bit to the lowest bit of the data 1 is the valid bit from the exclusive OR result, wherein the bit number of the valid bit is the target number of hops, so that the data is controlled to reach the preset routing node from the first target routing node according to the direct upward hopping mode, and the preset routing node is accurately positioned. And then, in the process of reaching the second target routing node from the preset routing node, as the process from top to bottom, each numerical value of the valid bit is judged from the highest position to the lowest position, if the numerical value is 0, the numerical value is vertically circulated to the routing node of one layer lower, and if the numerical value is 1, the other path is changed (only two paths are needed to reach the node of one layer lower in each node of the 2-element fat-number network), so that after the target times are transmitted to the lower layer, the data can reach the second target routing node, thereby accurately reaching the target node, realizing the full automation of a routing algorithm, and having simple and convenient calculation, and no need of evaluation analysis according to experience, models and the like. In addition, when the exclusive or result is all 0, the first target routing node and the second target routing node are the same routing node, and the direct control data can reach the destination node through the first target routing node, so that the shortest routing is realized, and the routing efficiency is improved.
In an alternative embodiment, the numbers of the terminal nodes and the numbers of the routing nodes in the sub-network managed by each host are continuous, when the fat-tree network is a binary fat-tree network, the control data arrives at the second preset routing node from the first target routing node in an upward routing manner, including: converting the numbers of the routing nodes in the sub-network managed by each host into binary; performing exclusive OR operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive OR result; determining a valid bit from the exclusive-or result, wherein the valid bit is a number from the highest bit of 1 in the exclusive-or result to the lowest bit in the exclusive-or result; the control data starts to be transmitted to a higher layer from the first target routing node, and each routing node passing through selects the routing node of the higher layer according to the corresponding sequential bit number value from the lowest bit to the highest bit of the valid bit; when the corresponding sequential bit value is 1, the data is transmitted to a higher layer of routing node with different numbers from the current layer of routing node, when the corresponding sequential bit value is 0, the data is transmitted to a higher layer of routing node with the same numbers as the current layer of routing node until the data reaches a second preset routing node from a first target routing node by the transmission target times, and the target times are equal to the digits of valid bits.
In an alternative embodiment, the method further comprises: when the exclusive or result is all 0, the control data directly reaches the destination node through the first destination routing node.
In an alternative embodiment, the control data arrives at the second target routing node from the second preset routing node in a direct down-hop manner, comprising: and the control data is transmitted from the second preset routing node for target times in a direct downward jumping mode, and reaches the second target routing node.
The embodiment of the invention further enables the routing algorithm to be fully automatic, thereby automatically calculating proper preset routing nodes and realizing the mechanisms of direct upward jump, downward route, direct downward jump and upward route. Firstly, the serial numbers of the terminal nodes and the serial numbers of the routing nodes in the sub-network managed by each host are ensured to be continuous, and the calculation can be performed according to the binary path algorithm provided by the embodiment. The number of the end node and the number of the routing node are then both converted into binary form. When the direct upward routing is executed, carrying out exclusive OR operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive OR result; and determining that the data from the highest bit to the lowest bit of 1 is the valid bit from the exclusive or result, wherein the bit number of the valid bit is the target number of hops, so that the target number of times of data transmission from the first target routing node reaches the preset routing node is controlled, judging once every time the data hops in the process of hopping, specifically judging whether the data is 0 from the lowest bit to the highest bit of the valid bit, if the data is 0, vertically circulating the routing node of the higher layer, and if the data is 1, changing the other path (each node of the 2-element fat network only has two paths to the node of the higher layer), thereby accurately positioning the preset routing node. The positioned preset routing node and the second target routing node can ensure the same number, and then, the data is directly transmitted to a lower layer from the preset routing node vertically until reaching the second target routing node, so that the target node is accurately reached, the full automation of a routing algorithm is realized, the calculation is simple and convenient, and evaluation analysis is not required according to experience, models and the like. In addition, when the exclusive or result is all 0, the first target routing node and the second target routing node are the same routing node, and the direct control data can reach the destination node through the first target routing node, so that the shortest routing is realized, and the routing efficiency is improved.
In an alternative embodiment, the numbers of the terminal nodes and the numbers of the routing nodes in the first subnet and the second subnet are all arranged in order from small to large, and the numbers of the terminal nodes in the first subnet are smaller than the numbers of the terminal nodes in the second subnet, and the numbers of the routing nodes in the first subnet are smaller than the numbers of the routing nodes in the second subnet.
In an alternative embodiment, when the current subnet is a first subnet, the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm, comprising: when the number of the first target routing node is smaller than that of the second target routing node, the data is routed from the source node to the destination node through the second routing algorithm.
In an alternative embodiment, when the current subnet is a first subnet, the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm, comprising: when the number of the first target routing node is greater than the number of the second target routing node, the data is routed from the source node to the destination node through the first routing algorithm.
In an alternative embodiment, when the current subnet is the second subnet, the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm, comprising: when the number of the first target routing node is smaller than that of the second target routing node, the data is routed from the source node to the destination node through a first routing algorithm.
In an alternative embodiment, when the current subnet is the second subnet, the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm, comprising: and when the number of the first target routing node is greater than that of the second target routing node, routing the data from the source node to the destination node through a second routing algorithm.
The embodiment of the invention further improves the routing algorithm aiming at the double-host 2-element fat tree network, and further improves the full automation of routing. Firstly, a double-host machine randomly divides a 2-element fat tree network into two subnets, the node numbers in each subnet need to be sequentially ordered from small to large, the numbers between the subnets are also ordered from small to large, and the numbers of the terminal nodes and the numbers of the routing nodes in a first subnet are defined to be smaller than those of the terminal nodes and the numbers of the routing nodes in a second subnet. And the side with the largest number of the first subnet is adjacent to the second subnet. Aiming at the first subnet, when the number of the first target routing node is smaller than that of the second target routing node, the second routing algorithm can be automatically matched to route the data; when the number of the first target routing node is larger than that of the second target routing node, the first routing algorithm can be automatically matched to route the data; aiming at the second sub-network, when the number of the first target routing node is smaller than that of the second target routing node, the first routing algorithm can be automatically matched to route the data; when the number of the first target routing node is larger than that of the second target routing node, the second routing algorithm can be automatically matched to route the data.
In a second aspect, the present invention provides a multi-machine routing device of fat tree network, applied to a current host, the current host controlling a current subnet, the device comprising: the transmission node determining module is used for determining a source node and a destination node of a data transmission task; the first algorithm module is used for adding a first routing algorithm as an execution algorithm of a data transmission task when one side of the source node is provided with a first adjacent subnet adjacent to the current subnet, the first routing algorithm limits a first boundary and controls data to be transmitted through a first boundary range node, and the first boundary range node comprises a routing node on the first boundary and a routing node of one side of the first boundary far away from the first adjacent subnet; the first boundary consists of first target routing nodes and routing nodes of each layer, wherein the routing nodes correspond to the first target routing nodes in position, and the first target routing nodes are first layer routing nodes corresponding to source nodes; the second algorithm module is used for adding a second routing algorithm as an execution algorithm of a data transmission task when one side of the destination node has a second adjacent subnet adjacent to the current subnet, the second routing algorithm is used for limiting a second boundary and controlling data to be transmitted through a second boundary range node, and the second boundary range node comprises a routing node on the second boundary and a routing node of one side of the second boundary far away from the second adjacent subnet; the second boundary consists of second target routing nodes and routing nodes of each layer, wherein each routing node corresponds to the position of each second target routing node, and each second target routing node is a first layer routing node corresponding to the destination node; and the routing module is used for routing the data from the source node to the destination node through the first routing algorithm and/or the second routing algorithm.
In a third aspect, the present invention provides a multi-machine routing system of a fat tree network, the system comprising a plurality of host devices, terminal node devices and routing node devices, the terminal node devices and the routing node devices forming a fat tree network, the host devices being communicatively connected to the terminal node devices and the routing node devices, respectively, the host devices storing computer instructions for executing the method of the first aspect or any of its corresponding embodiments.
In an alternative embodiment, the routing node device is an S6220-24S4X-S switch.
In an alternative embodiment, a host device includes: the memory and the processor are in communication connection, the memory stores computer instructions, and the processor executes the computer instructions to perform the method of the first aspect or any implementation manner corresponding to the first aspect.
In a fourth aspect, the present invention provides a computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of the first aspect or any of its corresponding embodiments.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are needed in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the present invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a related art 2-element fat tree network structure;
FIG. 2 is another schematic diagram of a related art 2-element fat tree network;
FIG. 3 is a flow diagram of a multi-machine routing method for fat tree networks according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a 2-element fat tree network architecture according to an embodiment of the present invention;
FIG. 5 is another architecture diagram of a 2-element fat tree network according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a data transmission trend of a first routing algorithm according to an embodiment of the present invention;
FIG. 7 is a schematic diagram of a data transmission trend of a second routing algorithm according to an embodiment of the present invention;
FIG. 8 is another architecture diagram of a 2-element fat tree network according to an embodiment of the present invention;
FIG. 9 is a flow diagram of a first routing algorithm according to an embodiment of the present invention;
FIG. 10 is a flow diagram of a second routing algorithm according to an embodiment of the present invention;
FIG. 11 is yet another architecture diagram of a 2-element fat tree network according to an embodiment of the present invention;
fig. 12 is a schematic structural diagram of a multi-machine routing device of a fat tree network according to an embodiment of the present invention;
fig. 13 is a schematic structural diagram of a multi-machine routing system of a fat tree network according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Aiming at the defects of the on-chip system in time delay, clock synchronization, expandability, energy consumption, reusability and the like, a new on-chip system structure, namely an on-chip network, is proposed at the end of the last century, well overcomes various limitations brought by a bus structure, fully references related network technologies in the existing computer network, and introduces the related network technologies into the on-chip system for development and utilization, and has good development prospect. The advantages of network-on-chip are represented by:
(1) The network on chip uses the network structure in the computer network as a reference, the whole network is connected by a plurality of point-to-point lines, no interference is generated between the lines, and the communication requirements of a plurality of users can be met.
(2) The network on chip adopts a global asynchronous and local synchronous mode to solve the clock synchronization problem, and the local network works under the own clock frequency, so that the global synchronization problem of the clock is avoided, the clock offset problem is solved, and the power consumption of the network is obviously reduced.
(3) The utilization of bandwidth by the network on chip is relatively high. Because the network on chip supports multipoint parallel transmission, the data transmission of various lines can be completed at the same time, and the communication efficiency is high. And the addressing of the network on chip is completed in the local network, the influence of the expansion of the network scale on the addressing is smaller, so that the number of bits occupied by the addressing in the bandwidth is not increased, and the bandwidth is not a bottleneck of the expansion of the network scale.
(4) The bus structure uses the central decision unit to uniformly manage the use right of the line, and the network-on-chip uses a random arbitration mechanism, so that the problem of larger time delay is avoided.
(5) The network on chip adopts a local decision strategy, and an independent functional unit in the line is completed in a distributed manner, so that the network on chip has good reusability. Meanwhile, the routing equipment in the network can be used in various environments, and the reusability is high. Because of the good reusability of network components, the network-on-chip has the characteristics of high cohesion and low coupling, has high expandability and portability, greatly shortens the development time of a system, improves the development efficiency, and is particularly important in the current ultra-large scale network design.
In summary, the various advantages of network-on-chip determine that the relevant research of this technology is of paramount importance.
The fat tree network is a network on chip, the network bandwidth of the fat tree network is not converged and can support non-blocking communication, the fat tree network is divided into a 2-element structure, a 3-element structure, a 4-element structure, a 6-element structure and the like according to different port numbers, as shown in fig. 1, the fat tree network is a typical 2-element fat tree network structure, each link in the network can bidirectionally transmit data, a block in the diagram is a terminal node, a circle is a routing node, the terminal node is responsible for sending and collecting data packets and mutually sending the data packets, the routing node is responsible for forwarding the data packets, each node is a communication device, the routing node is provided with a plurality of layers, the routing nodes of each layer from small to large are identical in structure with the routing nodes of other layers, the numbers of the routing nodes of the corresponding layers from the lower layer to the higher layer are identical, the node numbers of the nodes of the same layer are in the same layer, and the same in the same layer can be continuous or discontinuous, fig. 1 is an example with continuous numbers from 0 to 7, and if the numbers of the routing nodes of the first layer are discontinuous, the numbers of the routing nodes in fig. 1 are 0, 2, 5, 8, 6, 79, 2, 3, and 3, 8, and 3, 35, and more than 2, 35. When one terminal node of the fat tree network transmits data to another terminal node, some technologies widely adopt a shortest path routing algorithm, namely, a closest routing node F of a source node s (a terminal node for transmitting data) and a destination node d (a terminal node for receiving data) is randomly selected, and the data is firstly from s to F and then from F to d. When supporting multi-host functionality, each host controls part of the end nodes and part of the routing nodes, i.e. the network is divided into a plurality of subnets, one for each host. And the shortest path routing algorithm can cause the terminal nodes in the sub-network to mutually transmit data to generate sub-network interference, thereby seriously affecting the communication task of another sub-network.
For example: dividing the dual sub-networks by using dual hosts, as shown in fig. 2, the routing nodes 0-2 and the terminal nodes 0-5 linked with the routing nodes are controlled by a first host, and belong to the first sub-network; the routing nodes 3-7 and the terminal nodes 6-15 linked with the routing nodes are controlled by a second host, and belong to a second sub-network; when the source node 12 of the second subnetwork transmits data packets to the destination node 6, one path that may exist if a routing algorithm provided by the related art is:
source node 12- > route node 6 (first layer) - > route node 6 (second layer) - > route node 6 (third layer) - > route node 6 (fourth layer) - > route node 2 (third layer) - > route node 2 (second layer) - > route node 3 (fourth layer) - > destination node 6);
the path of the routing node 2 (third layer) - > routing node 2 (second layer) belongs to the first sub-network, in other words, the routing node and the path of the first sub-network are used when the data is transmitted inside the second sub-network, so that the routing resource of the first sub-network is occupied, interference among the sub-networks can be caused, and the following technical scheme is provided for meeting the requirement of no interference among the sub-networks.
According to an embodiment of the present invention, a multi-machine routing method embodiment of a fat tree network is provided, it being noted that the steps shown in the flowchart of the figures may be performed in a computer system, such as a set of computer executable instructions, and that although a logical order is shown in the flowchart, in some cases the steps shown or described may be performed in an order different from that shown herein.
In this embodiment, a multi-machine routing method of a fat tree network is provided, which is applied to a current host, the current host controls a current subnet, and fig. 3 is a flowchart of a multi-machine routing method of a fat tree network according to an embodiment of the present invention, where the flowchart includes the following steps:
step S101, determining a source node and a destination node of a data transmission task.
Specifically, the current host first determines a source node and a destination node of a data transmission task from terminal nodes of the current subnet before generating a routing policy.
Step S102, when one side of a source node has a first adjacent subnet adjacent to a current subnet, adding a first routing algorithm as an execution algorithm of a data transmission task; the first routing algorithm is used for limiting a first boundary and controlling data to be transmitted through a first boundary range node, and the first boundary range node comprises a routing node on the first boundary and a routing node on one side of the first boundary far away from a first adjacent subnet; the first boundary is composed of first target routing nodes and routing nodes of each layer, wherein the routing nodes correspond to the first target routing nodes in position, and the first target routing nodes are first layer routing nodes corresponding to source nodes.
Specifically, after the source node and the destination node of the current subnet are determined, corresponding constraint conditions are generated according to the positions of the source node and the destination node, so that data streams are prevented from being transmitted to other subnets. First, an analysis is performed for the source node, where the source node and destination node are opposite in the current subnet, possibly one on the left and the other on the right, or vice versa. In summary, it needs to determine whether a source node has another subnet adjacent to the current subnet, if so, the adjacent subnet is referred to as a first adjacent subnet, for example, as shown in fig. 4, the source node is on the right side of the current subnet, and the destination node is on the left side of the current subnet, so that it can be determined that the first adjacent subnet adjacent to itself exists on the right side of the current subnet. In order to avoid using resources of other subnets in the data transmission process, the embodiment proposes a first routing algorithm to limit other routing nodes through which data passes from not exceeding corresponding positions of each layer of first target routing nodes in the direction of a first adjacent subnets, in other words, whether the numbers of the routing nodes are numbered continuously or discontinuously according to an adjacent relation, when data is sent from the first target routing nodes to a higher layer, the other routing nodes selected in the path selection cannot face the first adjacent subnets to exceed the positions corresponding to each higher layer of first target routing nodes, namely, the routing nodes on the first boundary. Taking fig. 4 as an example, the numbers of the routing nodes are 0-7 continuously, assuming that the source node is 2 and the destination node is 0, the first destination routing node corresponding to the source node is 1, so that when data is transmitted from the first destination routing node of the first layer to the higher layer, the number of the routing node of the higher layer cannot be greater than 1, when the data is transmitted to the second layer, the third layer and the fourth layer, the routing node can only be selected from 0 and 1, 2 cannot be selected, and even larger cannot be selected, so that the first destination routing node with the number of 1 forms a boundary at the position corresponding to each layer, namely, a first boundary, the boundary is used as a constraint condition, the data is prevented from exceeding the boundary to use resources of other subnets, and when the numbers of the routing nodes are discontinuous, the boundary constraint in the direction is adopted.
Step S103, when one side of the destination node has a second adjacent subnet adjacent to the current subnet, adding a second routing algorithm as an execution algorithm of a data transmission task, wherein the second routing algorithm is used for defining a second boundary and controlling data to be transmitted through a second boundary range node, and the second boundary range node comprises a routing node on the second boundary and a routing node on one side of the second boundary far away from the second adjacent subnet; the second boundary is composed of second target routing nodes and routing nodes of each layer, wherein each routing node corresponds to the position of each second target routing node, and each second target routing node is a first layer routing node corresponding to the destination node.
Specifically, in the same way as the constraint proposed in step S102, the embodiment of the present invention further proposes a second routing algorithm, for the case that the current subnet has other subnets adjacent to one side of the destination node, for example, in fig. 5, assuming that the source node is 1 and the destination node is 4, then the second destination routing node corresponding to the destination node 4 is 2, and the right side of the destination node 4 has other subnets adjacent to each other, which is called as a second adjacent subnets. Thus, data is transmitted from the source node 1 to the first target routing node of the first layer of the routing nodes and then to the higher layer, and in this process, the number of the routing nodes of the higher layer cannot be greater than 2, in other words, positions with the routing node numbers of 3 and above 3 cannot be selected as paths. Meanwhile, in the process of turning data from a high layer to a low layer until the data reaches a second target routing node, namely, when the data reaches a third layer and a second layer from a fourth layer, the routing node can only select from the numbers 0, 1 or 2 and can not select the positions with the numbers 3 and above 3, so that a boundary, namely, a second boundary, is formed at the position corresponding to each layer by using the second target routing node with the number 2, and the boundary is used as a constraint condition to prevent the data from exceeding the boundary and using resources of other subnets. The same applies when the routing node numbers are not consecutive, employing a boundary constraint in this direction.
In fig. 5, only two hosts are taken as an example, but not limited to, when a plurality of hosts control a plurality of subnets, each host may use a first routing algorithm and/or a second routing algorithm to control the subnets managed by itself to route data.
Step S104, the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm.
And finally, the data is routed through the cooperation of a first routing algorithm and a second routing algorithm, a first target routing node and a second target routing node of a source node and a destination node which belong to an access layer are respectively used as standards, and a routing node selected at a higher layer such as a convergence layer can not exceed a position corresponding to the first target routing node or a position corresponding to the second target routing node in the direction of other adjacent subnets, so that the position of the first target routing node or the second target routing node is used as a boundary line, a route path is limited to exceed the current subnets, the data of the current subnets is prevented from being transmitted to other subnets, and the problem of mutual interference among subnets of fat tree networks is solved.
In some optional implementations, the technical solutions provided in the embodiments of the present invention further limit the fat-tree network to two hosts for management, for example, as shown in fig. 2, so that the fat-tree network is divided into a first subnet and a second subnet, and when one of the first subnet or the second subnet is the current subnet, the other subnet is the first neighboring subnet or the second neighboring subnet. Specifically, the technical scheme provided by the embodiment of the invention particularly uses the dual-host controlled dual-host network to realize the routing method of the sub-networks without mutual interference, and the dual-host can divide the fat-tree network at will, thereby improving the flexibility of network management and avoiding occupying the computing resources of excessive hosts.
Thereafter, in some alternative implementations, embodiments of the present invention further improve the first routing algorithm and the second routing algorithm for dual-host managed fat-count networks.
Wherein the first routing algorithm comprises:
step a1, control data arrives at a first target routing node from a source node;
step a2, the control data reaches a first preset routing node from a first target routing node in a direct upward jump mode, wherein the direct upward jump indicates that the data transmitted by each routing node of a lower layer reaches the routing node of the same higher layer number;
step a3, the control data arrives at the second target routing node from the first preset routing node in a downward routing mode, wherein the downward routing means that the data transmitted by each routing node of the higher layer arrives at the routing node of the lower layer with different numbers or the same number;
and a4, controlling the data to reach the destination node from the second destination routing node.
Specifically, for the improved first routing algorithm and second routing algorithm, embodiments of the present invention agree on a number of terms:
1. direct upward jump refers to the route node directly jumping upward to the route node with the same number of the higher layer;
2. Direct downward jump refers to the route node directly jumping downward to the route node with the same number of the lower layer;
3. upward routing: the routing node routes the data to a routing node with different numbers or the same number of the higher layer;
4. downward routing: refers to a routing node routing data to a routing node with a different number or the same number of a lower layer.
Based on this, for a dual-host fat-tree network, if the current subnet is that the source node side is close to the neighboring subnet and the destination node is not. The embodiment of the invention limits that after the source node sends data to the first target node, the first target node transmits the data in a direct upward jump mode, and node switching is not performed until the first preset routing node of a certain high layer is reached. As shown in fig. 6, assuming that the first destination node is 2 (the first layer routing node corresponding to the source node) and the second destination node is 1 (the first layer routing node corresponding to the destination node), when data is transmitted to the second layer, the third layer and the fourth layer, the routing nodes are all nodes with the number of 2, no change occurs any more, and thus the data is directly transmitted to the higher layer according to the defined boundary. When the data arrives at the first preset routing node, the data starts to be transmitted from the first preset routing node to the second target node of the lower layer, in the process, the routing algorithm adopts a downward routing mode, namely the routing nodes can be flexibly selected and adjusted, the routing nodes of the next layer can be same in number or different in number, so that the paths can be flexibly changed, and the routing nodes can be flexibly selected from the routing nodes with the numbers 2, 1 and 0 in the boundary only by connecting the nodes, so long as the data finally arrives at the second target routing node. It should be noted that fig. 6 only takes a 2-element fat tree network as an example, when the fat tree network is in other multiple cases (for example, 4-element, 6-element, etc.), the routing nodes of each layer have more paths to the routing nodes of other layers, instead of only including two paths, so that the downward routing manner is not limited to selecting 1 from 2 of the two paths, so that in other multiple cases, the routing nodes are not selected from 3 of the nodes of the number 2, the number 1, and the number 0, and may be selected more. The arrows in fig. 6 schematically represent the trend of data, and are not limited to the path nodes through which data actually passes.
Also, in an embodiment of the present invention, the improved second routing algorithm includes:
step b1, control data arrives at a first target routing node from a source node;
step b2, the control data arrives at a second preset routing node from the first target routing node in an upward routing mode, wherein the upward routing means that the data transmitted by each routing node of the lower layer arrives at the routing node of the higher layer with different numbers or the same numbers;
step b3, the control data reaches a second target routing node from a second preset routing node in a direct downward jump mode, wherein the direct downward jump indicates that the data transmitted by each routing node of a higher layer reach the routing node of the same number of the lower layer downwards;
and b4, controlling the data to reach the destination node from the second destination routing node.
Specifically, for a dual-host fat-number network, if the current subnet is that the destination node side is close to the adjacent subnet, the source node is not close to the adjacent subnet. The embodiment of the invention limits that after the source node sends the data to the first target node, the first target node can transmit the data in an upward route mode, namely the route node can be flexibly adjusted as long as the boundary of one side of the target node is not exceeded. As shown in fig. 7, assuming that the source node is 2, the first target node number corresponding to the source node is 1, the destination node is 4, and the second target node number corresponding to the destination node is 2, when data is transmitted from the first target node to the second layer, the third layer and the fourth layer, the routing node may or may not be changed, and may not be selected and adjusted in 0, 1 and 2, as long as the control data finally reaches the second preset target node number 2 of the higher layer, then the second preset routing node with the control number 2 sequentially issues the data in a direct downward jump manner until the data reaches the second target routing node with the number 2, and the number of the routing node is not switched in the process from the second preset routing node to the second target routing node, so that the data is directly transmitted to the lower layer according to the defined boundary. The arrows in fig. 7 only schematically represent the trend of the data, and are not limited to the path nodes through which the data actually passes.
According to the technical scheme provided by the embodiment of the invention, two routing methods are respectively provided under a double-machine scene, wherein the first routing algorithm is that the source node vertically transmits data upwards (namely, directly jumps upwards) to a certain preset routing node, then the data flexibly arrives at the destination node from the preset routing node in a vertical or direction-changing mode (namely, downwards routes), so that a boundary is formed at one side of the source node, the data is prevented from being output to other subnets adjacent to one side of the source node, in addition, the data transmission path can be flexibly adjusted at one side of the source node facing the destination node, and the reliability of the data from the source node to the destination node is ensured under the condition that the subnets are not mutually interfered. The second routing algorithm is that the source node flexibly sends data (i.e. routes upwards) to a certain preset routing node in a vertical or direction-changing mode, then the data arrives at the destination node from the preset routing node in a vertical downward mode (i.e. directly hops downwards), so that a boundary is formed at one side of the destination node, the data is prevented from being output to other subnets adjacent to one side of the destination node, in addition, the data transmission path can be flexibly adjusted at one side of the destination node facing the source node, and the reliability of the data from the source node to the destination node is ensured under the condition that the subnets are not mutually interfered.
Finally, according to the adjacent condition of each sub-network and the position condition of the source/destination node in the fat tree network, the first routing algorithm or the second routing algorithm can be flexibly selected to realize data routing, and the flexibility of routing tasks is obviously improved.
In some alternative implementations, the first routing algorithm is further improved by the embodiments of the present invention when the fat-tree network is a 2-element fat-tree network. Firstly, the serial numbers of the terminal nodes and the serial numbers of the routing nodes in the sub-network managed by each host are defined to be continuous, for example, in the same sub-network, the serial numbers must be continuous numbers such as 1, 2, 3, 4 … or 4, 3, 2, 1 …, and not jump discontinuous numbers such as 1, 3, 2, 5 … according to the adjacent position relation of the routing nodes, under the limiting condition, in the improved first routing algorithm, the step a2 includes:
step a21, converting the numbers of the routing nodes in the sub-network managed by each host into binary;
step a22, performing exclusive OR operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive OR result;
step a23, determining a valid bit from the exclusive-or result, wherein the valid bit is a number from the highest bit of 1 in the exclusive-or result to the lowest bit in the exclusive-or result;
Step a24, the control data is transmitted from the first target routing node to reach the first preset routing node according to the target times in a direct upward jump mode, wherein the target times are equal to the bit number of the valid bit.
In the modified first routing algorithm, the step a3 includes:
step a31, when data is transmitted from a first preset routing node to a second target routing node, each layer of routing nodes passing through selects a routing node one layer lower than the corresponding sequential bit value from the most significant bit to the least significant bit; when the corresponding sequential bit value is 1, the data is transmitted to a lower layer of routing nodes with different numbers from the current layer of routing nodes, and when the corresponding sequential bit value is 0, the data is transmitted to the lower layer of routing nodes with the same numbers as the current layer of routing nodes until the data reaches a second target routing node from a first preset routing node to stop selecting.
Specifically, the embodiment of the invention further improves the first routing algorithm particularly aiming at the 2-element fat tree network, realizes the full automation of the first routing algorithm, thereby automatically calculating the proper preset routing node and realizing the mechanism of direct upward jump and downward routing. Firstly, the serial numbers of the terminal nodes and the serial numbers of the routing nodes in the sub-network managed by each host are ensured to be continuous, the binary path algorithm provided by the embodiment can be used for calculation, and otherwise, the preset routing nodes cannot be accurately calculated.
After the preparation work is finished, the numbers of the terminal nodes and the numbers of the routing nodes are converted into binary forms. When the direct upward jump is executed, carrying out exclusive OR operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive OR result; and determining that the data from the highest bit to the lowest bit of the data 1 is the valid bit from the exclusive OR result, wherein the bit number of the valid bit is the target number of hops, so that the data is controlled to reach the first preset routing node from the first target routing node according to the direct upward hopping mode, and the first preset routing node is accurately positioned. And then, in the process of reaching the second target routing node from the first preset routing node, because the process from the high level to the low level is adopted, according to each numerical value of judging the valid bit from the highest level to the lowest level, if the numerical value is 0, the numerical value flows to the routing node at the lower level vertically, and if the numerical value is 1, the other path which is not vertically transmitted is selected in the two paths (each node of the 2-element fat-number network only has two paths to the node at the lower level), so that after the target times are transmitted to the low level, the data can reach the second target routing node, thereby accurately reaching the target node, realizing the full automation of a routing algorithm, and being simple and convenient to calculate, and not needing to evaluate and analyze according to experience, models and the like.
In addition, in the embodiment of the invention, when the exclusive or result is all 0, the first target routing node and the second target routing node are the same routing node, and the data is directly controlled to reach the target node through the first target routing node, so that the shortest routing is realized, and the routing efficiency is improved.
The first routing algorithm modified for this embodiment is illustrated:
1, assuming that the number of a first target routing node is S, the number of a second target routing node is D, firstly converting S and D into binary systems, then carrying out exclusive or on the S and the D according to bits, and marking the result as I;
2, looking at the position of the highest bit of 1 in I from low to high, if 1 is in the kth bit, the k bits from low to high in the I are valid bits, and the rest bits are invalid bits, and are not considered;
3, checking each bit of the valid bit in the I, if the bits are 0, indicating that the exclusive OR result I is 0, proving that the first target routing node S and the second target routing node D corresponding to the source node and the destination node respectively are the same routing node, and directly routing in the routing node, wherein the shortest path is used for completing routing, so that the routing efficiency is obviously improved, and the routing is finished;
4, if the bit of the valid bit in the I is not 0, according to the first routing algorithm, the direct upward jump is finished first, and then the downward route is started.
4.1, direct jump up: checking the position of the highest bit of the valid bit '1' in the I from low to high, starting from a first target routing node with the first layer number S at the kth bit, and jumping upwards for k times to reach a routing node with the k+1 layer number S;
4.2, routing downward: sequentially judging each number of the valid bit in the I from the high position, inverting the bit corresponding to the S at the position of '1', and obtaining a routing node of downward routing, namely switching to another routing node different from the current number as a next routing node; the position of 0 is directly jumped downwards, namely the number of the next routing node is the same as that of the current routing node; until all the digits of the valid bit are judged, the data reaches a second target routing node D after k hops;
and 5, routing the routing information to the terminal node according to the last bit of the D.
The first routing algorithm modified for this embodiment is further illustrated in a specific scenario embodiment:
1, as shown in fig. 8, it is assumed that the first destination routing node S where the source node is located is 010 (numbered 2), and the second destination routing node D where the destination node is located is 001 (numbered 1). The routing node S and the routing node D perform exclusive OR according to the bits, the result I is 011, the effective bit of the I is 2 bits, and the I can be marked as 11;
2, I is not all 0, so can't go through S route directly, enter the next step;
and 3, according to the first routing algorithm, completing direct upward jump, and then starting downward routing.
3.1, direct jump up: i is_11, the effective bit is 2 bits, then 2 upward hops are needed, the route node with the number 010 of the first layer reaches the route node with the number 010 of the 3 rd layer through 2 upward hops, and then the step 3.2 is carried out;
3.2, routing downward: i is 11, and the 2 bits (11) from the low order in I perform the following operations: and (3) inverting bits corresponding to S from the position of '1' from the high position to obtain a routing node of downward routing, and directly jumping downwards from the position of '0'. The process may refer to FIG. 9, where layer three routing node 010 (I: _ 11) - > layer two routing node 000 (I1: __ 1) - > layer one routing node 001 (I2: ___).
4. Routing information is routed to the end node according to the last bit of D.
In some alternative implementations, the present embodiments further improve the second routing algorithm when the fat-tree network is a 2-element fat-tree network. First, the numbers of the terminal nodes and the numbers of the routing nodes in the sub-network managed by each host are defined to be continuous, for example, in the same sub-network, the numbers must be continuous numbers such as 1, 2, 3, 4 … or 4, 3, 2, 1 …, and not continuous numbers such as 1, 3, 2, 5 …, according to the adjacent position relation of the routing nodes. Thus in a modified second routing algorithm, step b2 above comprises:
Step b21, converting the numbers of the routing nodes in the sub-network managed by each host into binary;
step b22, performing exclusive-or operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive-or result;
step b23, determining a valid bit from the exclusive-or result, wherein the valid bit is a number from the highest bit of 1 in the exclusive-or result to the lowest bit in the exclusive-or result;
step b24, the control data starts to be transmitted to the higher layer from the first target routing node, and each layer of routing nodes passing through selects the routing node of the higher layer according to the corresponding sequential bit number value from the lowest bit to the highest bit of the valid bit; when the corresponding sequential bit value is 1, the data is transmitted to a higher layer of routing node with different numbers from the current layer of routing node, when the corresponding sequential bit value is 0, the data is transmitted to a higher layer of routing node with the same numbers as the current layer of routing node until the data reaches a second preset routing node from a first target routing node by the transmission target times, and the target times are equal to the digits of valid bits.
In an embodiment of the present invention, the step b3 includes:
and b31, transmitting the control data from the second preset routing node to the second target routing node according to the target times in a direct downward jumping mode.
Specifically, the embodiment of the invention further enables the second routing algorithm to be fully automatic particularly aiming at the 2-element fat tree network, thereby automatically calculating proper preset routing nodes and realizing a mechanism of direct downward jump and upward routing. Firstly, the serial numbers of the terminal nodes and the serial numbers of the routing nodes in the sub-network managed by each host are ensured to be continuous, and the calculation can be performed according to the binary path algorithm provided by the embodiment.
After the preparation work is finished, the numbers of the terminal nodes and the numbers of the routing nodes are converted into binary forms. When the direct upward routing is executed, carrying out exclusive OR operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive OR result; the data from the most significant bit to the least significant bit of 1 is determined to be the significant bit from the exclusive or result, the number of bits of the significant bit is the target number of hops, so that the target number of times of data transmission from the first target routing node reaches the second preset routing node is controlled, and in the process of hopping, the judgment is carried out once every time, because of the upward hopping, the judgment from the least significant bit to the most significant bit is 0 (note that the judgment direction of the step is opposite to the judgment direction of the downward routing and needs to be carried out from the low bit to the high bit), if the current bit is 0, the routing node in the vertical direction to the high layer flows, and if the current bit is 1, another path (each node of the 2-element fat network only has two paths to the node in the high layer) is changed, so that the second preset routing node is accurately positioned, and the positioned second preset routing node and the second target routing node can be ensured to have the same number. And then, the data is directly transmitted to a lower layer vertically from a second preset routing node until reaching a second target routing node, and the data is further transmitted to the target node, so that the full automation of the routing algorithm is realized. The scheme is simple and convenient to calculate, the analysis path is not required to be evaluated according to expert experience, models and the like, and the complexity of communication path planning is remarkably reduced.
In addition, when the exclusive or result is all 0, the first target routing node and the second target routing node are the same routing node, and the direct control data can reach the destination node through the first target routing node, so that the shortest routing is realized, and the routing efficiency is improved.
The second routing algorithm modified for this embodiment is illustrated:
1, assuming a first target routing node where a source node is located as S, a second target routing node where a destination node is located as D, and performing exclusive OR on the routing node S and the routing node D according to bits to be marked as I; checking the position of the highest bit of 1 in I from low to high, and assuming that the k bit is the valid bit from low to high in the I, and the rest bits are invalid bits, and not taking the rest bits into consideration;
2, checking each bit of the valid bit in the I, if the bits are 0, proving that the source node and the destination node are in the same routing node, namely S and D are the same routing node, and directly routing in the routing node, and finishing the routing;
3, if each bit in the valid bit is not 0, according to the second routing algorithm, completing upward routing first, and then starting direct downward jump.
3.1, direct upward routing: the valid bit in the I is inverted according to the bit corresponding to the S from the low bit and the position of the 1 to obtain a routing node of upward routing, and the position of the 0 directly jumps upwards until the 1 in the I is changed into the 0 to stop jumping and reaches a preset routing node with the number D;
3.2, jump down: directly transmitting the data from the preset routing node with the number D to a lower layer vertically, and reaching a second target routing node with the number D of the first layer;
4. routing information is routed to the end node according to the last bit of D.
The second routing algorithm modified for this embodiment is further illustrated in a specific scenario embodiment:
1, as shown in fig. 8, assuming that a first target routing node S where a source node is located is 110 (number 6), a second target routing node D where a destination node is located is 011 (number 3), the routing node S and the routing node D perform exclusive-or on bits, I is 101, and the valid bit of I is 3 bits;
2, checking each bit of the I valid bit, if not, 0, so that the source node and the destination node are not in the same routing node;
and 3, according to a second routing algorithm, completing upward routing first, and then starting direct downward jump.
3.1, route upward: and (3) inverting bits corresponding to S according to the position of '1' from the lower position in the I to obtain routing nodes of upward routing, namely, routing nodes of a higher layer are different in number from those of the routing nodes of the current layer, selecting another path with different numbers to forward data to the higher layer, and directly jumping upwards to obtain the position of '0', namely, directly forwarding the data to the routing nodes of the higher layer, which are the same as those of the routing nodes of the current layer, until all '1' S in the I are changed into '0', stopping forwarding, and reaching a preset routing node with the number 011. The process may refer to FIG. 10, first tier routing node 110 (I: 101) - > second tier routing node 111 (I1:10_) - > third tier routing node 111 (I2:1 __) - > fourth tier routing node 011 (I2: ____).
3.2, jump down: directly and vertically reaching the routing node with the number 011 of the first layer from the preset routing node with the number 011, wherein the number of the middle node is unchanged;
and 4, routing the routing information to the terminal node according to the last bit of the D.
According to the improved first routing algorithm and second routing algorithm of the embodiment, in order to further improve full automation of routing path planning, the 2-element fat tree network is further adjusted, firstly, the numbers of the terminal nodes and the numbers of the routing nodes in the first subnet and the second subnet are arranged in sequence from small to large, the numbers of the terminal nodes in the first subnet are smaller than the numbers of the terminal nodes in the second subnet, and the numbers of the routing nodes in the first subnet are smaller than the numbers of the routing nodes in the second subnet. In other words, the numbers in a 2-element fat tree network must be in a small to large numbering order such as that of fig. 2 or 8, and the numbers cannot be from large to small, nor can they be discontinuous hopping numbers.
Thus, in some alternative embodiments, when the current subnet is a first subnet, the data is routed from the source node to the destination node by the first routing algorithm and/or the second routing algorithm, comprising: when the number of the first target routing node is smaller than that of the second target routing node, the data is routed from the source node to the destination node through the second routing algorithm.
In some alternative embodiments, when the current subnet is a first subnet, routing data from the source node to the destination node through the first routing algorithm and/or the second routing algorithm, comprising: when the number of the first target routing node is greater than the number of the second target routing node, the data is routed from the source node to the destination node through the first routing algorithm.
In some alternative embodiments, when the current subnet is a second subnet, routing data from the source node to the destination node through the first routing algorithm and/or the second routing algorithm, comprising: when the number of the first target routing node is smaller than that of the second target routing node, the data is routed from the source node to the destination node through a first routing algorithm.
In some alternative embodiments, when the current subnet is a second subnet, routing data from the source node to the destination node through the first routing algorithm and/or the second routing algorithm, comprising: and when the number of the first target routing node is greater than that of the second target routing node, routing the data from the source node to the destination node through a second routing algorithm.
Specifically, the embodiment of the invention further improves the routing algorithm aiming at the double-host 2-element fat tree network. Firstly, a double-host machine randomly divides a 2-element fat tree network into two subnets (namely, the number of nodes managed by each subnet is not limited, and can be as many as two subnets, or one subnet can be more and the other subnet can be less), the node numbers in each subnet need to be continuously sequenced from small to large, the numbers between the subnets are sequenced from small to large, and the numbers of the terminal nodes and the numbers of the routing nodes in the first subnet are defined to be smaller than the numbers of the terminal nodes and the numbers of the routing nodes in the second subnet. Further, as shown in fig. 11, the side with the largest number of the first subnet is adjacent to the second subnet, and for the first subnet, when the number S of the first target routing node is smaller than the number D of the second target routing node, the second routing algorithm can be automatically matched to route the data, so that the largest routing node which can be reached by the route is the destination node D, the route boundary is ensured, and mutual interference between the subnets is avoided; when the number S of the first target routing node is larger than the number D of the second target routing node, the first routing algorithm can be automatically matched to route the data, the maximum routing node which can be reached by the route is ensured to be S, the route boundary is ensured, and mutual interference among the subnets is avoided.
Aiming at the second sub-network, when the number S of the first target routing node is smaller than the number D of the second target routing node, the first routing algorithm can be automatically matched to route the data, the minimum routing node which can be reached by the route is ensured to be S, the route boundary is ensured, and the mutual interference between the sub-networks is avoided; when the number S of the first target routing node is larger than the number D of the second target routing node, the second routing algorithm can be automatically matched to route the data, the minimum node which can be reached by the route is guaranteed to be D, the route boundary is guaranteed, and mutual interference among the subnets is avoided.
According to the technical scheme provided by the embodiment of the invention, for the 2-element fat tree topological structure supporting the double hosts, mutual independence of the two subnetworks can be realized only from the algorithm level, and additional operations (such as discarding certain ports or cutting off certain paths) on the routing ports and paths are not needed by hardware, so that the implementation of hardware is easy. And as long as the condition that the terminal node labels of the first sub-network are smaller than the terminal node labels of the second network is satisfied, the first network and the second network can be divided at will, the routing algorithm provided by the invention is applicable, and has very excellent flexibility.
The embodiment also provides a multi-machine routing device of the fat tree network, which is used for implementing the above embodiment and the preferred implementation manner, and the description is omitted. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
The present embodiment provides a multi-machine routing device of fat tree network, which is applied to a current host, and the current host controls a current subnet, as shown in fig. 12, and includes:
a transmission node determining module 1201, configured to determine a source node and a destination node of a data transmission task;
a first algorithm module 1202, configured to add a first routing algorithm as an execution algorithm of a data transmission task when a source node side has a first neighboring subnet neighboring a current subnet, where the first routing algorithm is used to define a first boundary and control data transmission through a first boundary range node, and the first boundary range node includes a routing node on the first boundary and a routing node on a side of the first boundary away from the first neighboring subnet; the first boundary consists of first target routing nodes and routing nodes of each layer, wherein the routing nodes correspond to the first target routing nodes in position, and the first target routing nodes are first layer routing nodes corresponding to source nodes;
The second algorithm module 1203 is configured to add a second routing algorithm as an execution algorithm of a data transmission task when the destination node has a second neighboring subnet neighboring the current subnet, where the second routing algorithm is used to define a second boundary and control data to be transmitted through a second boundary range node, and the second boundary range node includes a routing node on the second boundary and a routing node on a side of the second boundary far from the second neighboring subnet; the second boundary consists of second target routing nodes and routing nodes of each layer, wherein each routing node corresponds to the position of each second target routing node, and each second target routing node is a first layer routing node corresponding to the destination node;
a routing module 1204, configured to route the data from the source node to the destination node through the first routing algorithm and/or the second routing algorithm.
In some alternative embodiments, the fat tree network is managed by two hosts, the fat tree network being divided into a first subnet and a second subnet, when one of the first subnet or the second subnet is the current subnet, the other subnet is the first adjacent subnet or the second adjacent subnet.
In some alternative embodiments, the first routing algorithm in the first algorithm module 1202 includes:
An input unit for controlling data from a source node to a first destination routing node;
the upward jump unit is used for controlling the data to reach the preset routing node from the first target routing node in a direct upward jump mode, wherein the direct upward jump indicates that the data transmitted by each routing node of the lower layer reaches the routing node of the same number of the higher layer;
the downward routing unit controls the data to reach the second target routing node from the preset routing node in a downward routing mode, wherein the downward routing indicates that the data transmitted by each routing node of the higher layer reaches the routing node of the lower layer with different numbers or the same number;
and the output unit is used for controlling the data to reach the destination node from the second destination routing node.
In some alternative embodiments, the second routing algorithm in the second algorithm module 1203 includes:
an input unit for controlling data from a source node to a first destination routing node;
the upward routing unit is used for controlling the data to reach a preset routing node from a first target routing node in an upward routing mode, wherein the upward routing means that the data transmitted by each routing node of a lower layer reach routing nodes with different numbers or the same numbers of the higher layer;
The downward jumping unit is used for controlling the data to reach the second target routing node from the preset routing node in a direct downward jumping mode, wherein the direct downward jumping means that the data transmitted by each routing node of the higher layer reach the routing node with the same number of the lower layer downwards;
and the output unit is used for controlling the data to reach the destination node from the second destination routing node.
In some alternative embodiments, the numbering of the end nodes and the numbering of the routing nodes in each host managed sub-network are consecutive, and when the fat-tree network is a 2-element fat-tree network, the upward-hopping unit comprises:
a binary subunit, configured to convert numbers of routing nodes in the subnetwork managed by each host into binary;
an exclusive-or subunit, configured to perform an exclusive-or operation on the number of the first target routing node and the number of the second target routing node, to obtain an exclusive-or result;
a valid bit subunit, configured to determine a valid bit from the exclusive-or result, where the valid bit is data from a highest bit of 1 in the exclusive-or result to a lowest bit in the exclusive-or result;
the first jump subunit is used for controlling data to reach a preset routing node from a first target routing node according to the transmission target times of a direct upward jump mode, wherein the target times are equal to the bit number of the valid bit.
In some alternative embodiments, the downward routing unit includes:
the downward routing subunit is used for selecting a routing node of one layer lower than the corresponding bit number value from the most significant bit to the least significant bit through each layer of routing nodes when data is transmitted from the preset routing node to the second target routing node; when the corresponding bit value is 1, the data is transmitted to a lower layer of routing nodes with different numbers from the current layer of routing nodes, and when the corresponding bit value is 0, the data is transmitted to a lower layer of routing nodes with the same numbers as the current layer of routing nodes until the data reaches a second target routing node from a preset routing node to stop selecting.
In some alternative embodiments, the skip-up unit further includes:
and the in-situ routing unit is used for directly reaching the destination node through the first destination routing node when the exclusive-or result is all 0.
In some alternative embodiments, the numbering of the end nodes and the numbering of the routing nodes in each host managed sub-network are consecutive, and when the fat-tree network is a 2-element fat-tree network, the upward routing unit comprises:
a binary subunit, configured to convert numbers of routing nodes in the subnetwork managed by each host into binary;
An exclusive-or subunit, configured to perform an exclusive-or operation on the number of the first target routing node and the number of the second target routing node, to obtain an exclusive-or result;
a valid bit subunit, configured to determine a valid bit from the exclusive-or result, where the valid bit is data from a highest bit of 1 in the exclusive-or result to a lowest bit in the exclusive-or result;
an upward routing subunit, configured to control data to start transmission from the first target routing node to a higher layer, and select a routing node of the higher layer according to a corresponding bit number value from a lowest bit to a highest bit of the valid bit through a routing node of the one layer; when the corresponding bit value is 1, the data is transmitted to a higher layer of routing node with different numbers from the current layer of routing node, when the corresponding bit value is 0, the data is transmitted to a higher layer of routing node with the same numbers as the current layer of routing node until the data reaches a preset routing node from a first target routing node by transmitting target times, wherein the target times are equal to the digits of valid bits.
In some alternative embodiments, the downward jumping unit includes:
and the downward jumping subunit is used for controlling the data to be transmitted from the preset routing node to the second target routing node according to the target times in a direct downward jumping mode.
In some alternative embodiments, the numbers of the terminal nodes and the numbers of the routing nodes in the first subnet and the second subnet are arranged in order from small to large, and the numbers of the terminal nodes and the numbers of the routing nodes in the first subnet are smaller than the numbers of the terminal nodes and the numbers of the routing nodes in the second subnet. Wherein, the routing module 1204 includes:
and the first execution unit is used for routing the data from the source node to the destination node through the second routing algorithm when the number of the first target routing node is smaller than the number of the second target routing node.
And the second execution unit is used for routing the data from the source node to the destination node through the first routing algorithm when the number of the first target routing node is larger than that of the second target routing node.
And the third execution unit is used for routing the data from the source node to the destination node through the first routing algorithm when the number of the first target routing node is smaller than the number of the second target routing node.
And the fourth execution unit is used for routing the data from the source node to the destination node through the second routing algorithm when the number of the first target routing node is larger than that of the second target routing node.
Further functional descriptions of the above respective modules and units are the same as those of the above corresponding embodiments, and are not repeated here.
The multi-machine routing means of the fat tree network in this embodiment is presented in the form of functional units, here referred to as ASIC (Application Specific Integrated Circuit ) circuits, processors and memories executing one or more software or fixed programs, and/or other devices that can provide the above described functionality.
The embodiment of the invention also provides a computer device, which is provided with the multi-machine routing device of the fat tree network shown in the figure 12.
Referring to fig. 13, fig. 13 is a schematic structural diagram of a multi-machine routing system of a fat tree network according to an alternative embodiment of the present invention, where the system includes a plurality of host devices, terminal node devices, and routing node devices, where the host devices are respectively connected to the terminal node devices and the routing node devices in a communication manner, and the host devices store computer instructions, so as to execute the method provided by the foregoing method embodiment.
In some alternative embodiments, the routing node apparatus employs an S6220-24S4X-S switch. S6220 series exchanger provides a series of complete safety control strategy, can support rich ARP defending functions, such as dynamic ARP detection, realize user validity checking function and ARP message validity checking function, and avoid impact to CPU by ARP speed limit.
In an alternative embodiment, a host device includes: one or more processors, memory, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The various components are communicatively coupled to each other using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions executing within the computer device, including instructions stored in or on memory to display graphical information of the GUI on an external input/output device, such as a display device coupled to the interface. In some alternative embodiments, multiple processors and/or multiple buses may be used, if desired, along with multiple memories and multiple memories. Also, multiple computer devices may be connected, each providing a portion of the necessary operations (e.g., as a server array, a set of blade servers, or a multiprocessor system).
The processor may be a central processor, a network processor, or a combination thereof. Wherein the processor may further comprise a hardware chip. The hardware chip may be an application specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general-purpose array logic, or any combination thereof.
Wherein the memory stores instructions executable by the at least one processor to cause the at least one processor to perform a method for implementing the embodiments described above.
The memory may include a memory program area and a memory data area, wherein the memory program area may store an operating system, at least one application program required for a function; the storage data area may store data created according to the use of the computer device, etc. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory may optionally include memory located remotely from the processor, the remote memory being connectable to the computer device through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The memory may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk, or solid state disk; the memory may also comprise a combination of the above types of memories.
The host device also includes a communication interface for the computer device to communicate with other devices or communication networks.
The embodiments of the present invention also provide a computer readable storage medium, and the method according to the embodiments of the present invention described above may be implemented in hardware, firmware, or as a computer code which may be recorded on a storage medium, or as original stored in a remote storage medium or a non-transitory machine readable storage medium downloaded through a network and to be stored in a local storage medium, so that the method described herein may be stored on such software process on a storage medium using a general purpose computer, a special purpose processor, or programmable or special purpose hardware. The storage medium can be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, a solid state disk or the like; further, the storage medium may also comprise a combination of memories of the kind described above. It will be appreciated that a computer, processor, microprocessor controller or programmable hardware includes a storage element that can store or receive software or computer code that, when accessed and executed by the computer, processor or hardware, implements the methods illustrated by the above embodiments.
Although embodiments of the present invention have been described in connection with the accompanying drawings, various modifications and variations may be made by those skilled in the art without departing from the spirit and scope of the invention, and such modifications and variations fall within the scope of the invention as defined by the appended claims.

Claims (18)

1. A multi-machine routing method for fat tree networks, characterized by being applied to a current host, the current host controlling a current subnet, the method comprising:
determining a source node and a destination node of a data transmission task;
when one side of the source node is provided with a first adjacent subnet adjacent to the current subnet, a first routing algorithm is added as an execution algorithm of the data transmission task; the first routing algorithm is used for limiting a first boundary and controlling data to be transmitted through a first boundary range node, and the first boundary range node comprises a routing node on the first boundary and a routing node on one side of the first boundary far away from the first adjacent sub-network; the first boundary consists of first target routing nodes and routing nodes of each layer, wherein the routing nodes correspond to the first target routing nodes in position, and the first target routing nodes are first layer routing nodes corresponding to the source nodes;
When one side of the destination node is provided with a second adjacent subnet adjacent to the current subnet, adding a second routing algorithm as an execution algorithm of the data transmission task, wherein the second routing algorithm is used for defining a second boundary and controlling data to be transmitted through a second boundary range node, and the second boundary range node comprises a routing node on the second boundary and a routing node on one side of the second boundary far away from the second adjacent subnet; the second boundary consists of second target routing nodes and routing nodes of each layer, wherein each routing node corresponds to the position of each second target routing node, and each second target routing node is a first layer routing node corresponding to the destination node;
routing data from the source node to the destination node by the first routing algorithm and/or the second routing algorithm;
the first routing algorithm includes: control data arrives from the source node to the first destination routing node; the control data reaches a first preset routing node from the first target routing node in a direct upward jump mode, wherein the direct upward jump means that the data transmitted by each routing node of a lower layer reaches the routing node of the same number of the higher layer; the control data arrives at the second target routing node from the first preset routing node in a downward routing mode, wherein the downward routing means that the data transmitted by each routing node of a higher layer arrives at the routing nodes with different numbers or the same numbers of the lower layer; control data arrives at the destination node from the second destination routing node;
The second routing algorithm comprises: control data arrives from the source node to the first destination routing node; the control data arrives at a second preset routing node from the first target routing node in an upward routing mode, wherein the upward routing means that the data transmitted by each routing node of a lower layer arrives at routing nodes with different numbers or the same numbers of the higher layer; the control data arrives at the second target routing node from the second preset routing node in a direct downward jump mode, wherein the direct downward jump indicates that the data transmitted by each routing node of a higher layer arrives at the routing node of the same number of the lower layer downwards; control data arrives from the second destination routing node to the destination node.
2. The method of claim 1, wherein the fat tree network is managed by two hosts, the fat tree network being divided into a first subnet and a second subnet, when one of the first subnet or the second subnet is the current subnet, the other subnet is the first neighbor subnet or the second neighbor subnet.
3. The method of claim 2, wherein the numbering of the end nodes and the numbering of the routing nodes in each host managed sub-network are consecutive, and wherein when the fat-tree network is a binary fat-tree network, the control data arrives at a first preset routing node from the first target routing node in a direct upward hop, comprising:
Converting the numbers of the routing nodes in the sub-network managed by each host into binary;
performing exclusive-or operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive-or result;
determining a significant bit from the exclusive-or result, the significant bit being a number from a most significant bit of 1 in the exclusive-or result to a least significant bit in the exclusive-or result;
and the control data is transmitted from the first target routing node to the first preset routing node according to the target times in the direct upward jump mode, wherein the target times are equal to the bit number of the valid bit.
4. A method according to claim 3, characterized in that the method further comprises:
and when the exclusive or result is all 0, the control data directly reaches the destination node through the first destination routing node.
5. A method according to claim 3, wherein the control data arrives at the second target routing node from the first preset routing node in a downward route, comprising:
when data is transmitted from the first preset routing node to the second target routing node, each layer of routing nodes passing through selects a routing node one layer lower than the corresponding sequential bit number value from the most significant bit to the least significant bit; and when the corresponding sequential bit value is 0, the data is transmitted to the lower layer of routing nodes with the same serial numbers as the current layer of routing nodes until the data reaches the second target routing node from the first preset routing node to stop selecting.
6. The method of claim 2, wherein the numbering of the end nodes and the numbering of the routing nodes in each host managed sub-network are consecutive, and wherein when the fat-tree network is a binary fat-tree network, the control data arrives at a second preset routing node from the first target routing node in an upward route, comprising:
converting the numbers of the routing nodes in the sub-network managed by each host into binary;
performing exclusive-or operation on the number of the first target routing node and the number of the second target routing node to obtain an exclusive-or result;
determining a significant bit from the exclusive-or result, the significant bit being a number from a most significant bit of 1 in the exclusive-or result to a least significant bit in the exclusive-or result;
the control data starts to be transmitted to a higher layer from the first target routing node, and each routing node passing through selects the routing node of the higher layer according to the corresponding sequential bit number value from the lowest bit to the highest bit of the valid bit; and when the corresponding sequential bit value is 0, the data is transmitted to the higher layer of routing node with the same number as the current layer of routing node until the data reaches the second preset routing node from the first target routing node by the transmission target times, wherein the target times are equal to the bit number of the valid bit.
7. The method of claim 6, wherein the method further comprises:
and when the exclusive or result is all 0, the control data directly reaches the destination node through the first destination routing node.
8. The method of claim 6, wherein the control data arrives at the second target routing node from the second preset routing node in a direct down-hop manner, comprising:
and the control data is transmitted from the second preset routing node for target times according to the direct downward jumping mode, and reaches the second target routing node.
9. The method of claim 2, wherein the numbers of the terminal nodes and the numbers of the routing nodes in the first subnet and the second subnet are all arranged in order from small to large, and the numbers of the terminal nodes in the first subnet are smaller than the numbers of the terminal nodes in the second subnet, and the numbers of the routing nodes in the first subnet are smaller than the numbers of the routing nodes in the second subnet.
10. The method according to claim 9, wherein when the current subnet is the first subnet, routing data from the source node to the destination node by the first routing algorithm and/or the second routing algorithm comprises:
And when the number of the first target routing node is smaller than that of the second target routing node, routing data from the source node to the destination node through the second routing algorithm.
11. The method according to claim 9, wherein when the current subnet is the first subnet, routing data from the source node to the destination node by the first routing algorithm and/or the second routing algorithm comprises:
and when the number of the first target routing node is larger than that of the second target routing node, routing data from the source node to the destination node through the first routing algorithm.
12. The method according to claim 9, wherein when the current subnet is the second subnet, routing data from the source node to the destination node by the first routing algorithm and/or the second routing algorithm comprises:
and when the number of the first target routing node is smaller than that of the second target routing node, routing data from the source node to the destination node through the first routing algorithm.
13. The method according to claim 9, wherein when the current subnet is the second subnet, routing data from the source node to the destination node by the first routing algorithm and/or the second routing algorithm comprises:
And when the number of the first target routing node is larger than that of the second target routing node, routing data from the source node to the destination node through the second routing algorithm.
14. A multi-machine routing device for fat tree networks, characterized by being applied to a current host, said current host controlling a current subnet, said device comprising:
the transmission node determining module is used for determining a source node and a destination node of a data transmission task;
the first algorithm module is used for adding a first routing algorithm as an execution algorithm of the data transmission task when one side of the source node is provided with a first adjacent subnet adjacent to the current subnet, wherein the first routing algorithm is used for limiting a first boundary and controlling data to be transmitted through a first boundary range node, and the first boundary range node comprises a routing node on the first boundary and a routing node, which is far away from one side of the first adjacent subnet, of the first boundary; the first boundary consists of first target routing nodes and routing nodes of each layer, wherein the routing nodes correspond to the first target routing nodes in position, and the first target routing nodes are first layer routing nodes corresponding to the source nodes;
A second algorithm module, configured to add a second routing algorithm as an execution algorithm of the data transmission task when the destination node has a second neighboring subnet neighboring the current subnet, where the second routing algorithm is configured to define a second boundary and control data to be transmitted through a second boundary range node, and the second boundary range node includes a routing node on the second boundary and a routing node on a side of the second boundary away from the second neighboring subnet; the second boundary consists of second target routing nodes and routing nodes of each layer, wherein each routing node corresponds to the position of each second target routing node, and each second target routing node is a first layer routing node corresponding to the destination node;
a routing module for routing data from the source node to the destination node through the first routing algorithm and/or the second routing algorithm;
the first routing algorithm in the first algorithm module comprises: an input unit for controlling data from a source node to a first destination routing node; the upward jump unit is used for controlling the data to reach the preset routing node from the first target routing node in a direct upward jump mode, wherein the direct upward jump indicates that the data transmitted by each routing node of the lower layer reaches the routing node of the same number of the higher layer; the downward routing unit controls the data to reach the second target routing node from the preset routing node in a downward routing mode, wherein the downward routing indicates that the data transmitted by each routing node of the higher layer reaches the routing node of the lower layer with different numbers or the same number; an output unit for controlling the arrival of data at the destination node from the second destination routing node;
The second routing algorithm in the second algorithm module comprises: an input unit for controlling data from a source node to a first destination routing node; the upward routing unit is used for controlling the data to reach a preset routing node from a first target routing node in an upward routing mode, wherein the upward routing means that the data transmitted by each routing node of a lower layer reach routing nodes with different numbers or the same numbers of the higher layer; the downward jumping unit is used for controlling the data to reach the second target routing node from the preset routing node in a direct downward jumping mode, wherein the direct downward jumping means that the data transmitted by each routing node of the higher layer reach the routing node with the same number of the lower layer downwards; and the output unit is used for controlling the data to reach the destination node from the second destination routing node.
15. A multi-machine routing system of a fat tree network, characterized in that the system comprises several host devices, a terminal node device and a routing node device, the terminal node device and the routing node device constituting a fat tree network, the host devices being communicatively connected to the terminal node device and the routing node device, respectively, the host devices storing computer instructions for performing the method of any of claims 1 to 13.
16. The system of claim 15, wherein the routing node device is an S6220-24S4X-S switch.
17. The system of claim 16, wherein the host device comprises:
a memory and a processor in communication with each other, the memory having stored therein computer instructions which, upon execution, cause the processor to perform the method of any of claims 1 to 13.
18. A computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of any one of claims 1 to 13.
CN202311296631.8A 2023-10-09 2023-10-09 Multi-machine routing method, device and system of fat tree network and storage medium Active CN117061423B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311296631.8A CN117061423B (en) 2023-10-09 2023-10-09 Multi-machine routing method, device and system of fat tree network and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311296631.8A CN117061423B (en) 2023-10-09 2023-10-09 Multi-machine routing method, device and system of fat tree network and storage medium

Publications (2)

Publication Number Publication Date
CN117061423A CN117061423A (en) 2023-11-14
CN117061423B true CN117061423B (en) 2024-01-23

Family

ID=88659364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311296631.8A Active CN117061423B (en) 2023-10-09 2023-10-09 Multi-machine routing method, device and system of fat tree network and storage medium

Country Status (1)

Country Link
CN (1) CN117061423B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117135103B (en) * 2023-10-25 2024-02-23 苏州元脑智能科技有限公司 Network-on-chip routing method, device, computer equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246700A (en) * 2012-05-11 2014-12-24 甲骨文国际公司 System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
CN104521200A (en) * 2012-08-29 2015-04-15 甲骨文国际公司 System and method for supporting discovery and routing degraded fat-trees in a middleware machine environment
CN106489255A (en) * 2014-07-11 2017-03-08 甲骨文国际公司 For in high-performance calculation(HPC)High-efficient carrier system and method in a balanced way are supported in environment
CN107306224A (en) * 2016-04-19 2017-10-31 华为技术有限公司 A kind of routed path update method and network administration apparatus
CN113748647A (en) * 2019-05-23 2021-12-03 慧与发展有限责任合伙企业 Fat tree adaptive routing
CN116506348A (en) * 2022-01-21 2023-07-28 华为技术有限公司 Communication network system, message forwarding method and message forwarding device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033574B2 (en) * 2015-03-20 2018-07-24 Oracle International Corporation System and method for efficient network reconfiguration in fat-trees

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246700A (en) * 2012-05-11 2014-12-24 甲骨文国际公司 System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
CN104521200A (en) * 2012-08-29 2015-04-15 甲骨文国际公司 System and method for supporting discovery and routing degraded fat-trees in a middleware machine environment
CN106489255A (en) * 2014-07-11 2017-03-08 甲骨文国际公司 For in high-performance calculation(HPC)High-efficient carrier system and method in a balanced way are supported in environment
CN107306224A (en) * 2016-04-19 2017-10-31 华为技术有限公司 A kind of routed path update method and network administration apparatus
CN113748647A (en) * 2019-05-23 2021-12-03 慧与发展有限责任合伙企业 Fat tree adaptive routing
CN116506348A (en) * 2022-01-21 2023-07-28 华为技术有限公司 Communication network system, message forwarding method and message forwarding device

Also Published As

Publication number Publication date
CN117061423A (en) 2023-11-14

Similar Documents

Publication Publication Date Title
CN105450555B (en) A kind of method for building up of network-on-a-chip and network-on-chip communication link
CN117061423B (en) Multi-machine routing method, device and system of fat tree network and storage medium
US11394607B2 (en) Method and system for network configuration
CN109451540B (en) Resource allocation method and equipment for network slices
US11310080B2 (en) VXLAN configuration method, device, and system
EP2777229A1 (en) System and method for providing deadlock free routing between switches in a fat-tree topology
CN102685017A (en) On-chip network router based on field programmable gate array (FPGA)
CN104717081A (en) Gateway function realization method and device
CN105340230A (en) Virtual chassis topology management
CN111147372B (en) Downlink message sending and forwarding method and device
CN114844827B (en) Shared storage-based spanning tree routing hardware architecture and method for network-on-chip
CN110401558A (en) Safety level multi-point communication network equipment, system and safety level network communication method
CN112751763A (en) Message forwarding method, device, storage medium and system
CN111817959A (en) Network path management method and device, SDN controller and readable storage medium
CN115514696A (en) Method, device and equipment for transmitting computing power resource information
EP3024200B1 (en) Port number extension method and switch
US20230327976A1 (en) Deadlock-free multipath routing for direct interconnect networks
CN110830598B (en) Method and network equipment for establishing and transmitting interface address and alias in BGP (Border gateway protocol) session
CN103312603B (en) network congestion information transmission method and device
US8929251B2 (en) Selecting a master processor from an ambiguous peer group
CN108900422A (en) Multicast forward method, device and electronic equipment
CN117135103B (en) Network-on-chip routing method, device, computer equipment and storage medium
JP2023538688A (en) Communication method and related equipment
CN111342927B (en) Time synchronization processing method and device
CN116916405B (en) 5G cluster router route control method and device and cluster router

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant