Thin fat tree network topology structure and method for sending routing request
By introducing a thin fat tree network topology into the switched network, the number of high-level routing nodes and the number of low-level links is dynamically reduced, which solves the problem of low-level link utilization and low-level routing nodes being prone to congestion hotspots, and achieves the effect of improving network performance and reducing costs.
Patent Information
- Application Number
- CN202510401851.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2045-04-01
AI Technical Summary
In switched networks, the link utilization rate of high-level routing nodes is low, resulting in a reduced network throughput, and low-level routing nodes are more likely to experience congestion hotspots.
A thin fat tree network topology structure is proposed to improve link utilization by dynamically reducing the number of high-level routing nodes, reducing network complexity and cost, and increasing the number of links of low-level routing nodes.
It effectively improves the link utilization rate of high-level routing nodes, reduces network complexity and cost, avoids congestion hotspots of low-level routing nodes, and improves the overall performance of the network.
Smart Images

Figure CN119906662A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the computer field, and in particular, to a thinned fat-tree network topology structure and a method for sending a routing request. Background Art
[0002] With the rapid popularization and development of the Internet and the continuous deployment of satellite Internet constellation plans, more user terminals are connected to the network, which has led to the emergence of Internet applications covering all areas of people's production and life, making the traffic in the Internet show an explosive growth trend. The development and application of optical fiber technology and intersatellite laser communication technology has shifted the bottleneck of the information transmission network to the switching equipment of the switching nodes in the Internet, such as switches and routers. The core technology of these switching devices is switching technology, which includes switching networks and scheduling algorithms. Therefore, in order to improve the performance of information exchange networks and meet the emerging new applications and business needs, it is crucial to study switching networks with larger capacity and better performance and high-performance scheduling algorithms that are compatible with them.
[0003] Currently, in the actual application of switching networks, the link utilization of routing nodes at higher layers is usually not high, and the higher the layer, the lower the link utilization. The link load of routing nodes at lower layers is much higher than that of high-level routing nodes, making low-level routing nodes more prone to congestion hotspots than high-level routing nodes, resulting in a decrease in network throughput.
[0004] There is currently no effective solution to the above problems. Summary of the invention
[0005] The embodiments of the present application provide a thinned fat-tree network topology structure and a method for sending a routing request, so as to at least solve the problem of low link utilization of high-level routing nodes in the related art.
[0006] According to an embodiment of the present application, a thinned fat tree network topology structure is provided, including: the total number of layers of the thinned fat tree network topology structure Total number of source nodes The relationship between: ;No. The number of layer routing nodes With The number of layer routing nodes The relationship between: ,in, , is an integer greater than or equal to 1.
[0007] In an exemplary embodiment, the thinned fat tree network topology structure further includes: Each routing node in the layer is respectively connected to the The four routing nodes of the layer are connected.
[0008] In an exemplary embodiment, the thinned fat tree network structure Each routing node in the layer is respectively connected to the The four routing nodes of the layer are connected, including: The layer code is The routing nodes are respectively connected to the The layer code is , , , The four routing nodes are connected, and , , , The relationship between them is:
[0009] ;
[0010] ;
[0011] ;
[0012] ;
[0013] in, is to convert an integer into binary form; Bitwise XOR function in binary form.
[0014] In an exemplary embodiment, the thinned fat tree network topology structure further includes: Each routing node in the layer is respectively connected to the The two routing nodes of the layer are connected.
[0015] In an exemplary embodiment, the thinned fat tree network structure Each routing node in the layer is respectively connected to the The two routing nodes of the layer are connected, including: The layer code is The routing nodes are respectively connected to the The layer code is , The connection between the two routing nodes and , The relationship between them is:
[0016] ;
[0017] ;
[0018] in, Converts an integer into a binary number. is a bitwise XOR function in binary form, is the floor function.
[0019] In an exemplary embodiment, the thinned fat-tree network topology further includes: the number of layer 0 routing nodes The number of source nodes The relationship between them is:
[0020] ;
[0021] in, is an integer greater than or equal to 4.
[0022] In an exemplary embodiment, the thinned fat-tree network topology structure further includes: the encoding of the 0th layer is The routing node and encoding are , , , The four source nodes are connected, and , , , The relationship between them is:
[0023] ;
[0024] ;
[0025] ;
[0026] ;
[0027] in, is to convert an integer into binary form; Bitwise XOR function in binary form.
[0028] In an exemplary embodiment, the thinned fat tree network topology structure further includes: each of the routing nodes in the thinned fat tree network topology structure includes: four downlink ports, namely, a first downlink port, a second downlink port, a third downlink port, and a fourth downlink port, wherein the encoding of the first downlink port, the encoding of the second downlink port, the encoding of the third downlink port, and the encoding of the fourth downlink port increase in sequence; Routing nodes on the layer The first downstream port, the second downstream port, the third downstream port and the fourth downstream port are respectively connected to the first The layer code is , , , The four routing nodes are connected, , , , The codes increase in sequence.
[0029] According to another embodiment of the present application, a method for sending a routing request is provided, comprising: obtaining the codes of a source terminal and a target terminal, wherein the source terminal and the target terminal are source nodes in the thinned fat-tree network topology structure; determining the target layer where the nearest common parent node is located in the thinned fat-tree network topology structure according to the codes of the source terminal and the target terminal, wherein the common parent node is the common parent node of the source terminal and the target terminal; sending the target routing request sent by the source terminal to the target parent node on the target layer, and sending the target routing request to the target terminal through the target parent node.
[0030] In an exemplary embodiment, determining the target layer where the nearest common parent node is located in the thinned fat-tree network topology structure according to the codes of the source terminal and the target terminal includes: when the codes of the source terminal and the target terminal are represented by X-bit binary numbers, performing a bitwise XOR operation on the code of the source terminal and the code of the target terminal in binary form to obtain an XOR result, wherein X is an integer greater than 2; and determining the target layer where the nearest common parent node is located in the thinned fat-tree network topology structure according to the XOR result.
[0031] In an exemplary embodiment, the target layer where the nearest common parent node is located is determined in the thinned fat-tree network topology structure through the XOR result, including: deleting the lower two bits in the XOR result to obtain a first target binary number; determining the first non-zero value occurring in the first target binary number as the target non-zero value in order from high to low; determining the number of bits where the target non-zero value is located in order from low to high; and determining the number of bits as the layer number of the target layer where the nearest common parent node is located.
[0032] In an exemplary embodiment, sending the target routing request sent by the source terminal to the target parent node on the target layer includes: transmitting the target routing request upward to the first parent node in the thinned fat tree network topology structure; The layer code is In the case of a routing node, determine the Layer The encoding of the two connected routing nodes , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; in the , Determine a first target routing node, and send the target routing request to the first target routing node.
[0033] In an exemplary embodiment, , Determining a first target routing node in the process and sending the target routing request to the first target routing node includes: , A routing node is randomly selected from the set to be determined as the first target routing node; or , In and described The routing node with the shortest distance is determined as the first target routing node; or , The routing node with the smallest load is determined as the first target routing node.
[0034] In an exemplary embodiment, sending the target routing request to the target terminal through the target parent node includes: when the code of the target terminal is represented by an X-bit binary number, determining m valid bits in the code of the target terminal, wherein X is an integer greater than 2; and transmitting the target routing request downward to the target terminal by the target parent node through a downlink port of a routing node in the thinned fat tree network topology structure according to the m valid bits.
[0035] In an exemplary embodiment, when the code of the target terminal is represented by an X-bit binary number, determining m valid bits in the code of the target terminal includes: deleting the lower two bits in the code of the target terminal to obtain a second target binary number; and when the target layer where the nearest common parent node is located is the mth layer, determining m bits from low to high in the second target binary number as the m valid bits.
[0036] In an exemplary embodiment, according to the m valid bits, the target parent node transmits the target routing request downward to the target terminal through the downlink port of the routing node in the thin fat tree network topology structure, including: transmitting the target routing request downward to the first routing node in the thin fat tree network topology structure; The layer code is In the case of a routing node, determine the Layer Encoding of the four connected routing nodes , , , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; According to the m valid bits in the , , , Determine the second target routing node, and send the target routing request from the Send to the second target routing node.
[0037] In an exemplary embodiment, according to the m valid bits in the , , , Determine the second target routing node, and send the target routing request from the Sending to the second target routing node comprises: in the m valid bits, The layer code is If the corresponding valid bit is non-zero, The third downstream port is connected , and The fourth downstream port is connected determine the second target routing node in the m valid bits; and The layer code is In the case where the corresponding valid bit is zero, The first downstream port is connected , and The second downstream port is connected The second target routing node is determined in.
[0038] In an exemplary embodiment, the m valid bits are The layer code is If the corresponding valid bit is non-zero, The third downstream port is connected , and The fourth downstream port is connected Determining the second target routing node in the , A routing node is randomly selected from the set to be determined as the second target routing node; or , In and described The routing node with the shortest distance is determined as the second target routing node; or , The routing node with the smallest load in the m bits is determined as the second target routing node; The layer code is In the case where the corresponding valid bit is zero, The first downstream port is connected , and The second downstream port is connected Determining the second target routing node in the , A routing node is randomly selected from the set to be determined as the second target routing node; or , In and described The routing node with the shortest distance is determined as the second target routing node; or , The routing node with the smallest load is determined as the second target routing node.
[0039] According to another embodiment of the present application, a device for sending a routing request is provided, comprising: an acquisition module, used to acquire the codes of a source terminal and a target terminal, wherein the source terminal and the target terminal are source nodes in the thinned fat-tree network topology structure; a determination module, used to determine the target layer where the nearest common parent node is located in the thinned fat-tree network topology structure according to the codes of the source terminal and the target terminal, wherein the common parent node is the common parent node of the source terminal and the target terminal; a sending module, used to send the target routing request sent by the source terminal to the target parent node on the target layer, and send the target routing request to the target terminal through the target parent node.
[0040] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0041] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0042] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0043] Through this application, the total number of layers of the thinned fat tree network topology Total number of source nodes The relationship between: ;No. The number of layer routing nodes With The number of layer routing nodes The relationship between: ,in, , is an integer greater than or equal to 1.
[0044] As the number of network layers increases, the number of high-level routing nodes is dynamically reduced. On the basis of ensuring that the problem of high-level root nodes becoming a network bandwidth bottleneck is solved, the number of high-level links is reduced, the network complexity is reduced, and the network cost is reduced. Therefore, the problem of low link utilization of high-level routing nodes in related technologies can be solved, and the effect of improving the link utilization of high-level routing nodes can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1It is a schematic diagram of the topology of the five-layer fat-tree network on chip;
[0046] Figure 2 is a schematic diagram of a thinned fat tree network topology structure according to an embodiment of the present application;
[0047] Figure 3 is a schematic diagram of coding of a downward output port of a routing node according to an embodiment of the present application;
[0048] Figure 4 It is a hardware structure block diagram of a server device of a method for sending a routing request according to an embodiment of the present application;
[0049] Figure 5 is a flowchart of a method for sending a routing request according to an embodiment of the present application;
[0050] Figure 6 It is a structural block diagram of an apparatus for sending a routing request according to an embodiment of the present application. DETAILED DESCRIPTION
[0051] In view of the defects of the system on chip in terms of latency, clock synchronization, scalability, energy consumption, reusability, etc., a new system on chip structure "on-chip network" was proposed at the end of the century. It has overcome the limitations brought by the bus structure and fully borrowed relevant network technologies in existing computer networks. Compared with the traditional system on chip, its advantages are reflected in:
[0052] (1) The on-chip network borrows the network structure of computer networks. The entire network is connected by multiple point-to-point lines, which will not interfere with each other and can meet the communication requirements of multiple users.
[0053] (2) Unlike the system-on-chip, the network-on-chip adopts the "global asynchronous, local synchronous" approach to solve the clock synchronization problem. The local network works at its own clock frequency, avoiding the global synchronization problem of the clock, solving the clock offset problem, and greatly reducing the power consumption of the network.
[0054] (3) The on-chip network has a relatively high utilization rate of bandwidth. Since the on-chip network supports multi-point parallel transmission, it can complete data transmission on multiple lines at the same time, and the communication efficiency is relatively high. In addition, the addressing of the on-chip network is completed within the local network. The expansion of the network scale has a relatively small impact on the addressing. In this way, the number of bits occupied by addressing in the bandwidth will not increase, and the bandwidth will not become a bottleneck for the expansion of the network scale.
[0055] (4) Since the bus structure uses a central decision unit to uniformly manage the use rights of the lines, and the on-chip network uses a random arbitration mechanism, there is no large delay problem.
[0056] (5) The core concept of the system on chip is that as the network scale expands, the decision delay of each core will become larger and larger, which will have a greater impact on the performance of the system. The network on chip adopts a local decision strategy to complete an independent functional unit in the line in a distributed manner, which has good reusability. At the same time, the routing equipment in the network can also be used in a variety of environments, and the reusability is very high.
[0057] In summary, due to the good reusability of network components, the on-chip network has the characteristics of high cohesion, high scalability and portability, which greatly shortens the system development time and improves the development efficiency, which is particularly important in the current ultra-large-scale network design.
[0058] The interconnection network is the key to building a high-performance large-scale parallel processing system. Its design goal is to connect a certain number of functional nodes reliably and efficiently at the lowest possible cost to form a cost-effective large-scale parallel system. The core content of the interconnection network topology design mainly includes: the topological structure of the interconnection network, the routing algorithm and switching technology of the interconnection network, and the performance indicators of the interconnection network.
[0059] Interconnection networks can be roughly divided into four categories, namely shared media networks, direct interconnection networks, indirect interconnection networks and hybrid interconnection networks. Among them, direct and indirect interconnection networks are distinguished by the role of routers. In direct interconnection networks, each terminal node is directly connected through a router, while in indirect interconnection networks, terminal nodes communicate through the interconnection between routers. Such routers do not generate network traffic themselves, but are responsible for the transmission, routing and relay of traffic generated by terminal nodes; all terminal nodes in a shared media network share the same transmission medium, and use appropriate media access control mechanisms to achieve sharing of transmission media; and hybrid interconnection networks are interconnection structures that include more than two of the above three basic interconnection forms.
[0060] The interconnection topology is usually defined by the following four main properties: (1) Node degree: the number of channels connecting a node to its neighboring nodes, or the number of ports in the router in the node. (2) Network diameter: the maximum value of the shortest distance between two nodes in the network. The smaller the network diameter, the smaller the network communication delay. (3) Number of links: the number of links in the entire network. Since the topology is fixed, the number of links is also fixed. (4) Bisection bandwidth: the link bandwidth corresponding to the minimum cut set of all nodes in the network divided into two equally divided subnets is the bisection bandwidth. The higher the bisection bandwidth, the stronger the network communication capability. It should be pointed out that as the number of interconnected nodes increases, the aggregate bandwidth of the entire system will also increase.
[0061] Figure 1 This is a schematic diagram of the topology of the on-chip five-layer fat tree network. Figure 1As shown in the figure, the circles in the topology represent routing nodes. Each routing node has four link ports, two input and two output. The routing nodes themselves do not generate network traffic, but are responsible for the transmission, routing and relay of traffic generated by terminal nodes. The boxes in the topology represent terminal nodes. Each terminal node has the need to send and receive traffic. Specifically, it has the following structural characteristics:
[0062] (1) The number of routing nodes in each layer is equal;
[0063] (2) The number of routing nodes at each layer The number of source nodes The relationship between: ;
[0064] (3) Number of topological structure layers The number of source nodes The relationship between: ;
[0065] (4) No. Layer Routing Node With Link relationship between layer routing nodes : No. Layer Routing Node With Layer Routing Node Connection; Layer Routing Node With Layer Routing Node Connection, where: , To convert an integer to binary form, It is a bitwise XOR function in binary form;
[0066] (5) Each routing node in the zeroth layer is connected to two source nodes;
[0067] (6) Each of these lines is bidirectional.
[0068] Although the fat tree network solves the problem of the root node of the tree network becoming a network bandwidth bottleneck, as the source nodes increase, the number of routing nodes, layers, and links in the network will also increase. In our actual application scenarios, the link utilization rate of routing nodes at higher layers is not high, and the higher the number of layers, the lower the link utilization rate; at the same time, for the fat tree network, the load of the link of the routing node at the lower layer is much higher than that of the link of the routing node at the higher layer, that is, the routing nodes at the lower layer are more likely to have congestion hotspots than the routing nodes at the higher layer, resulting in a decrease in the network throughput.
[0069] Therefore, in response to the above problems, the present application proposes a thinned fat-tree network topology structure, which dynamically reduces the number of high-level routing nodes as the number of network layers increases, thereby reducing the complexity of the network, reducing the number of high-level links, and reducing network costs on the basis of ensuring that the problem of high-level root nodes easily becoming network bandwidth bottlenecks is solved; at the same time, the number of links connecting routing nodes in the network with low-level routing nodes is increased, the number of links in the lower-level network is increased, and the load on the links of routing nodes at the lower levels is reduced.
[0070] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0071] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0072] In this embodiment, a thinned fat tree network topology is provided. Figure 2 is a schematic diagram of a thinned fat tree network topology structure according to an embodiment of the present application, such as Figure 2 As shown, including: the total number of layers of the thinned fat tree network topology Total number of source nodes The relationship between: ;No. The number of layer routing nodes With The number of layer routing nodes The relationship between: ,in, , is an integer greater than or equal to 1.
[0073] Specifically, in the thinned fat tree network structure, Each routing node in the layer is respectively connected to the The four routing nodes of the layer are connected.
[0074] Specifically, in the thinned fat tree network structure, Each routing node in the layer is respectively connected to the The two routing nodes of the layer are connected.
[0075] Through the above network topology, as the number of network layers increases, the number of high-level routing nodes is dynamically reduced. On the basis of ensuring that the problem of high-level root nodes easily becoming network bandwidth bottlenecks is solved, the complexity of the network is reduced, achieving the effect of reducing the number of high-level links and reducing network costs.
[0076] As an optional implementation, the thinned fat tree network structure Each routing node in the layer is respectively connected to the The four routing nodes of the layer are connected, including: The layer code is The routing nodes are respectively connected to the The layer code is , , , The four routing nodes are connected, and , , , The relationship between them is:
[0077] ;
[0078] ;
[0079] ;
[0080] ;
[0081] in, is to convert an integer into binary form; Bitwise XOR function in binary form.
[0082] By connecting each routing node to four routing nodes in the next layer, the number of links connecting routing nodes to lower-layer routing nodes in the network is increased, which increases the utilization of higher-layer links. At the same time, the fault tolerance of high-level routing nodes is improved, ensuring that even if a routing node fails, data can still be transmitted through other available paths, thereby improving the reliability and stability of the entire network.
[0083] As an optional implementation, the thinned fat tree network structure Each routing node in the layer is respectively connected to the The two routing nodes of the layer are connected, including: The layer code is The routing nodes are respectively connected to the The layer code is , The connection between the two routing nodes and , The relationship between them is:
[0084] ;
[0085] ;
[0086] in, Converts an integer into a binary number. is a bitwise XOR function in binary form, is the floor function.
[0087] By connecting each routing node to the two routing nodes on the previous layer, the network diameter is shortened, thereby effectively reducing the network transmission delay. At the same time, the load balancing capability of the network can be improved, so that data is evenly distributed on different paths, avoiding network congestion caused by single point failures.
[0088] As an optional implementation, the thinned fat-tree network topology further includes: the number of layer 0 routing nodes The number of source nodes The relationship between them is:
[0089] ;
[0090] in, is an integer greater than or equal to 4.
[0091] As an optional implementation, the thinned fat-tree network topology structure further includes: the encoding of the 0th layer is The routing node and encoding are , , , The four source nodes are connected, and , , , The relationship between them is:
[0092] ;
[0093] ;
[0094] ;
[0095] ;
[0096] in, is to convert an integer into binary form; Bitwise XOR function in binary form.
[0097] Since each routing node at layer 0 is connected to four terminals, the number of links in the lower layer network is increased, so that each terminal has two links to choose from, reducing the link load of the routing nodes at the lower layer.
[0098] As an optional implementation, the thinned fat tree network topology structure further includes: each of the routing nodes in the thinned fat tree network topology structure includes: four downlink ports, namely, a first downlink port, a second downlink port, a third downlink port, and a fourth downlink port, wherein the encoding of the first downlink port, the encoding of the second downlink port, the encoding of the third downlink port, and the encoding of the fourth downlink port increase in sequence; Routing nodes on the layer The first downstream port, the second downstream port, the third downstream port and the fourth downstream port are respectively connected to the first The layer code is , , , The four routing nodes are connected, , , , The codes increase in sequence.
[0099] For example, Figure 3 is a schematic diagram of the coding of the downward output port of the routing node according to an embodiment of the present application, such as Figure 3 As shown in the figure, each circle represents a routing node. Each routing node of the i-th layer has four downlink ports, which are connected to the four routing nodes of the i-1th layer respectively. Among them, the four downlink ports of the i-th layer routing node are the first downlink port, the second downlink port, the third downlink port and the fourth downlink port in order from left to right, which are respectively connected to the i-1th layer coded as , , , The i-th layer routing node can be connected to the four routing nodes, and the i-th layer routing node can route through any downstream port connected to it. It should be noted that the links between all routing nodes and their downstream ports can be bidirectionally routed.
[0100] Based on the above-mentioned thinned fat-tree network topology structure, the present application proposes a method for sending a routing request.
[0101] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 4 FIG. 1 is a hardware structure diagram of a server device for sending a routing request in an embodiment of the present application. Figure 4 As shown, the server device may include one or more ( Figure 4Only one is shown in the figure) a processor 402 (the processor 402 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 404 for storing data, wherein the above-mentioned server device may also include a transmission device 406 and an input and output device 408 for communication functions. It can be understood by those skilled in the art that Figure 4 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 4 More or fewer components as shown, or with Figure 4 Different configurations shown.
[0102] The memory 404 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for sending a routing request in the embodiment of the present application. The processor 402 executes various functional applications and data processing by running the computer program stored in the memory 404, that is, to implement the above method. The memory 404 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 404 may further include a memory remotely arranged relative to the processor 402, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0103] The transmission device 406 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 406 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 406 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0104] In this embodiment, a method for sending a routing request is provided, which is applied to the above-mentioned thinned fat tree network topology structure. Figure 5 is a flow chart of a method according to an embodiment of the present application, such as Figure 5 As shown, the process includes the following steps:
[0105] Step S502, obtaining codes of a source terminal and a target terminal, wherein the source terminal and the target terminal are source nodes in the thinned fat-tree network topology structure;
[0106] The above-mentioned source terminal S can be a sending terminal of a routing request, and the encoding of the terminal can be represented by a binary number. For example, in a four-layer thin fat tree network topology structure, 00100 can be used to represent terminal node 4. The above-mentioned target terminal D can be a receiving terminal of a routing request, and the encoding of the terminal can be represented by a binary number. For example, in a four-layer thin fat tree network topology structure, 00110 can be used to represent terminal node 6. When routing is required, the binary representation of the source terminal and the target terminal is obtained.
[0107] Step S504, determining the target layer where the nearest common parent node is located in the thinned fat-tree network topology structure according to the codes of the source terminal and the target terminal, wherein the common parent node is the common parent node of the source terminal and the target terminal;
[0108] The parent node may be a routing node directly connected to the current routing node in the routing node layer above the layer where the current routing node is located in the tree structure. The common parent node may be the common parent node of the two routing nodes in the tree structure, that is, the lowest common ancestor node of the two nodes, for example Figure 2 , the parent nodes of node 4 in layer 0 are nodes 2 and 3 in layer 1, the parent nodes of node 9 in layer 0 are nodes 4 and 5 in layer 1, and the common parent nodes of nodes 4 and 9 in layer 0 are nodes 0 and 1 in layer 3.
[0109] By calculating the binary representation of the source terminal S and the binary representation of the target terminal D, the layer number of the nearest common parent node in the thinned fat tree network topology is determined.
[0110] Specifically, when the codes of the source terminal and the target terminal are represented by X-bit binary numbers, the code of the source terminal and the code of the target terminal are subjected to a bitwise XOR operation in binary form to obtain an XOR result, wherein X is an integer greater than 2; and the target layer where the nearest common parent node is located is determined in the thinned fat-tree network topology structure through the XOR result.
[0111] Step S506: Send the target routing request sent by the source terminal to the target parent node on the target layer, and send the target routing request to the target terminal through the target parent node.
[0112] The target parent node may be any public parent node in the layer where the nearest public parent node is located. After the source terminal sends the target routing request to the target parent node, the target terminal receives the target routing request sent by the target parent node.
[0113] Through the above steps, the codes of the source terminal and the target terminal are obtained, wherein the source terminal and the target terminal are source nodes in a thinned fat-tree network topology structure; the target layer where the nearest common parent node is located is determined in the thinned fat-tree network topology structure according to the codes of the source terminal and the target terminal, wherein the common parent node is the common parent node of the source terminal and the target terminal; the target routing request sent by the source terminal is sent to the target parent node on the target layer, and the target routing request is sent to the target terminal through the target parent node, thereby avoiding network congestion and transmission delay, reducing the network transmission path, and improving the network transmission efficiency.
[0114] The execution subject of the above steps may be a server, a terminal, etc., but is not limited thereto.
[0115] As an optional implementation, the target layer where the nearest common parent node is located is determined in the thinned fat-tree network topology structure through the XOR result, including: deleting the lower two bits in the XOR result to obtain a first target binary number; determining the first non-zero value occurring in the first target binary number as the target non-zero value in order from high to low; determining the number of bits where the target non-zero value is located in order from low to high; and determining the number of bits as the layer number of the target layer where the nearest common parent node is located.
[0116] As an optional implementation, Figure 2 In the thinned network topology shown, it is assumed that the source terminal S is coded as 17 and the target terminal D is coded as 25, and their binary representations are S=10001 and D=11001 respectively. S and D are subjected to a bitwise XOR operation, and the lower two bits of the XOR result are deleted to obtain a first target binary number I. The specific calculation method of the first target binary number I is as follows:
[0117]
[0118] Traverse each bit in the first target binary number I in order from low to high, and determine the highest bit among the bits with a value of 1 as the layer number of the target layer where the nearest common parent node is located. For example, in the above I=010, it can be seen that the highest bit among the bits with a value of 1 is the second bit, and the layer number of the target layer where the nearest common parent node is located is the second layer.
[0119] As an optional implementation, sending the target routing request sent by the source terminal to the target parent node on the target layer includes: transmitting the target routing request upward to the first parent node in the thinned fat tree network topology structure; The layer code is In the case of routing nodes, determine the Layer The encoding of the two connected routing nodes , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; in the , Determine a first target routing node, and send the target routing request to the first target routing node.
[0120] Specifically, in the , A routing node is randomly selected from the set to be determined as the first target routing node; or , In and described The routing node with the shortest distance is determined as the first target routing node; or , The routing node with the smallest load is determined as the first target routing node.
[0121] In the process of upward routing, any upward link that can reach the nearest common parent node from the source terminal node S can be selected. For example, the routing node directly connected to the current routing node in the layer above the current routing node with the shortest distance to the current routing node or the smallest load, or any routing node is determined as the first target routing node, and is routed upward to the nearest common parent node through the first target routing node.
[0122] As in the above embodiment, the nearest parent node of the source terminal S=10001 and the target terminal D=11001 is in the second layer. Then all upward links that S can reach can reach the father nodes 2 and 3 in the second layer where the nearest common father node is located, so all upward links can be taken.
[0123] As an optional implementation, sending the target routing request to the target terminal through the target parent node includes: when the code of the target terminal is represented by an X-bit binary number, determining m valid bits in the code of the target terminal, wherein X is an integer greater than 2; and transmitting the target routing request downward to the target terminal by the target parent node through the downlink port of the routing node in the thinned fat tree network topology structure according to the m valid bits.
[0124] The above-mentioned m valid bits can be the corresponding m bits in the binary representation of the target terminal D. Based on the m valid bits in the binary representation of the target terminal, the target routing request is transmitted downward to the target terminal through the downlink port of the routing node in the thinned fat tree network topology structure.
[0125] Optionally, when the code of the target terminal is represented by an X-bit binary number, m valid bits are determined in the code of the target terminal, including: deleting the lower two bits in the code of the target terminal to obtain a second target binary number; when the target layer where the nearest common parent node is located is the mth layer, m bits from low to high in the second target binary number are determined as the m valid bits.
[0126] As an optional implementation, assume that the target terminal D is encoded as 25, and its binary representation is D=11001. Delete the last two digits in the binary representation of the target terminal to obtain the second target binary number 110__. Assuming that the target layer where the nearest common parent node is located is the second layer, the two bits from low to high in the second target binary number are determined as m valid bits DI=_10__.
[0127] As an optional implementation, according to the m valid bits, the target parent node transmits the target routing request downward to the target terminal through the downlink port of the routing node in the thin fat tree network topology structure, including: transmitting the target routing request downward to the first routing node in the thin fat tree network topology structure; The layer code is In the case of a routing node, determine the Layer Encoding of the four connected routing nodes , , , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; According to the m valid bits in the , , , Determine the second target routing node, and send the target routing request from the Send to the second target routing node.
[0128] Specifically, among the m valid bits, The layer code is If the corresponding valid bit is non-zero, The third downstream port is connected , and The fourth downstream port is connected determine the second target routing node in the m valid bits; and The layer code is In the case where the corresponding valid bit is zero, The first downstream port is connected , and The second downstream port is connected The second target routing node is determined in.
[0129] like Figure 3 As shown, each routing node in the above-mentioned r-th layer is connected to the four routing nodes in the next layer, and the binary representation D of the target terminal is correspondingly deleted with the lower 2 bits to obtain a second target binary number, and based on the number of the target layer where the nearest common parent node is located, m valid bits DI are obtained in the second target binary number, and according to the value of each bit in DI, the second target routing node is determined in the downlink port of the routing node in the r-th layer, and the target routing request is sent through the second target routing node, wherein, , , , Connect the downstream ports coded 1, 2, 3, and 4 in the diagram respectively.
[0130] As an optional implementation, in the m effective bits and the first The layer code is If the corresponding valid bit is non-zero, The third downstream port is connected , and The fourth downstream port is connected Determining the second target routing node in the , A routing node is randomly selected from the set to be determined as the second target routing node; or , In and described The routing node with the shortest distance is determined as the second target routing node; or , The routing node with the smallest load is determined as the second target routing node;
[0131] As an optional implementation, in the m effective bits and the first The layer code is In the case where the corresponding valid bit is zero, The first downstream port is connected , and The second downstream port is connected Determining the second target routing node in the , A routing node is randomly selected from the set to be determined as the second target routing node; or , In and described The routing node with the shortest distance is determined as the second target routing node; or , The routing node with the smallest load is determined as the second target routing node.
[0132] As an optional implementation, assuming that the code of the source terminal S is 16 and the code of the target terminal D is 24, the binary representations of the source terminal and the target terminal are S=10000 and D=11000 respectively. S and D are subjected to a bitwise XOR operation, and the XOR result is subjected to the deletion of the lower 2 bits to obtain the first target binary number I. The specific calculation method is as follows:
[0133]
[0134] From low to high, check the highest position of the bit with the value of "1" in I. It is at the 2nd position, so S=10000, D=11000, and the nearest father node is at the 2nd layer. The valid bits of I are 2 from low to high. .
[0135] Assume that the public parent node 2 of the second layer is reached at this time, the lower two bits in the binary representation of D are deleted to obtain the second target binary number, and two bits in the second target binary number are intercepted from low to high, recorded as DI=_10__, and the valid bits of DI are checked from high to low. If the value is "1", the downward output ports labeled 2 and 3 on the right are selected to route downward to the next layer. If the value is "0", the downward output ports labeled 0 and 1 on the left are selected to route downward to the next layer. After the valid bit traversal of DI is completed, it reaches the routing node where D is located in the 0th layer. The specific method can be as follows:
[0136]
[0137] Then check the least significant two bits of D, and route to D from the selected output port corresponding to the routing node at layer 0. If the least significant two bits of D are 00, then route downward to routing node 11000 from the output port 0 of the layer 0 node. The specific method is as follows:
[0138]
[0139] As an optional implementation, assuming that the code of the source terminal S is 24 and the code of the target terminal D is 16, the binary representations of the source terminal and the target terminal are S=11000 and D=10000 respectively. S and D are subjected to a bitwise XOR operation, and the XOR result is subjected to the deletion of the lower 2 bits to obtain the first target binary number I. The specific calculation method is as follows:
[0140]
[0141] From low to high, check the highest position of the bit with the value of "1" in I. It is at the 2nd position, so the nearest father node of S=11000 and D=10000 is at the 2nd layer. The valid bits of I are 2 from low to high. .
[0142] Assume that the public parent node 2 of the second layer is reached at this time, the lower two bits in the binary representation of D are deleted to obtain the second target binary number, and two bits in the second target binary number are intercepted from low to high, recorded as DI=_00__, and the valid bits of DI are checked from high to low. If the value is "1", the downward output ports labeled 2 and 3 on the right are selected to route downward to the next layer. If the value is "0", the downward output ports labeled 0 and 1 on the left are selected to route downward to the next layer. After the valid bit traversal of DI is completed, it reaches the routing node where D is located in the 0th layer. The specific method can be as follows:
[0143]
[0144] Then check the least significant two bits of D, and route to D from the selected output port corresponding to the routing node at layer 0. If the least significant two bits of D are 00, then route downward from the output port 0 of the layer 0 node to the routing node 10000. The specific method is as follows:
[0145]
[0146] As an optional implementation, assuming that the code of the source terminal S is 2 and the code of the target terminal D is 25, the binary representations of the source terminal and the target terminal are S=00010 and D=11001, respectively. S and D are subjected to a bitwise XOR operation, and the XOR result is subjected to the deletion of the lower 2 bits to obtain the first target binary number I. The specific calculation method is as follows:
[0147]
[0148] From low to high, check the highest position of the bit with the value of "1" in I. It is at the 3rd position, so the nearest father node of S=00010 and D=11001 is at the 3rd layer. The valid bits of I are 3 from low to high. .
[0149] S=00010, D=11001, the nearest common parent node is on the third layer. All upward links that S can reach can reach the common parent node, that is, the father nodes 0 and 1 on the third layer, so all upward links can be taken; assuming that the common parent node 0 on the third layer is reached, delete the lower two bits in the binary representation of D to get the second target binary number, and intercept two bits in the second target binary number from low to high, recorded as DI=110__, check the valid bits of DI from high to low, if the value is "1", select the downward output ports labeled 2 and 3 on the right to route downward to the next layer, if the value is "0", select the downward output ports labeled 0 and 1 on the left to route downward to the next layer; after the valid bit traversal of DI is completed, it reaches the routing node where D is located on the 0th layer, and the specific method can be as follows:
[0150]
[0151] Then check the least significant two bits of D, and route to D from the selected output port corresponding to the routing node at layer 0. If the least significant two bits of D are 01, then route downward to routing node 11001 at output port 1 of the layer 0 node. The specific method is as follows:
[0152]
[0153] Through the above method, on the basis of ensuring that the problem of network bandwidth bottlenecks near high-level root nodes is solved, network congestion and transmission delays during routing request transmission are avoided, network transmission efficiency is improved, and the routing method is simple and easy to implement in hardware.
[0154] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0155] In this embodiment, a device for sending a routing request is also provided, and the device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0156] Figure 6 is a structural block diagram of a device according to an embodiment of the present application, such as Figure 6 As shown, the device includes: an acquisition module 602, used to acquire the codes of the source terminal and the target terminal, wherein the source terminal and the target terminal are source nodes in the thinned fat tree network topology structure; a determination module 604, used to determine the target layer where the nearest common parent node is located in the thinned fat tree network topology structure according to the codes of the source terminal and the target terminal, wherein the common parent node is the common parent node of the source terminal and the target terminal; a sending module 606, used to send the target routing request sent by the source terminal to the target parent node on the target layer, and send the target routing request to the target terminal through the target parent node.
[0157] In an exemplary embodiment, the device is also used to perform a bitwise XOR operation on the code of the source terminal and the code of the target terminal in binary form when the codes of the source terminal and the target terminal are represented by X-bit binary numbers to obtain an XOR result, wherein X is an integer greater than 2; and determine the target layer where the nearest common parent node is located in the thinned fat tree network topology structure through the XOR result.
[0158] In an exemplary embodiment, the device is also used to delete the lower two bits in the XOR result to obtain a first target binary number; determine the first non-zero value occurring in the first target binary number as the target non-zero value in order from high to low; determine the number of bits where the target non-zero value is located in order from low to high; and determine the number of bits as the layer number of the target layer where the nearest common parent node is located.
[0159] In an exemplary embodiment, the device is further configured to transmit the target routing request upward to the first The layer code is In the case of routing nodes, determine the Layer The encoding of the two connected routing nodes , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; in the , Determine a first target routing node, and send the target routing request to the first target routing node.
[0160] In an exemplary embodiment, the device is also used in the , A routing node is randomly selected from the set to be determined as the first target routing node; or , In and described The routing node with the shortest distance is determined as the first target routing node; or , The routing node with the smallest load is determined as the first target routing node.
[0161] In an exemplary embodiment, the device is further used to determine m valid bits in the code of the target terminal when the code of the target terminal is represented by an X-bit binary number, wherein X is an integer greater than 2; and based on the m valid bits, the target parent node transmits the target routing request downward to the target terminal through the downlink port of the routing node in the thinned fat tree network topology structure.
[0162] In an exemplary embodiment, the device is also used to delete the lower two bits in the code of the target terminal to obtain a second target binary number; when the target layer where the nearest common parent node is located is the mth layer, the m bits from low to high in the second target binary number are determined as the m valid bits.
[0163] In an exemplary embodiment, the device is further configured to transmit the target routing request downward to the first The layer code is In the case of a routing node, determine the Layer Encoding of the four connected routing nodes , , , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; According to the m valid bits in the , , , Determine the second target routing node, and send the target routing request from the Send to the second target routing node.
[0164] In an exemplary embodiment, the device is further configured to compare the first The layer code is If the corresponding valid bit is non-zero, The third downstream port is connected , and The fourth downstream port is connected determine the second target routing node in the m valid bits; and The layer code is In the case where the corresponding valid bit is zero, The first downstream port is connected , and The second downstream port is connected The second target routing node is determined in.
[0165] In an exemplary embodiment, the device is also used in the , A routing node is randomly selected from the set to be determined as the second target routing node; or , In and described The routing node with the shortest distance is determined as the second target routing node; or , The routing node with the smallest load in the target routing node is determined as the second target routing node; in the , A routing node is randomly selected from the set to be determined as the second target routing node; or , In and described The routing node with the shortest distance is determined as the second target routing node; or , The routing node with the smallest load is determined as the second target routing node.
[0166] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0167] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0168] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0169] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0170] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0171] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0172] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0173] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0174] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A thinned fat tree network topology, characterized in that: include: The total number of layers in the thinned fat-tree network topology Total number of source nodes The relationship between: ; No. The number of layer routing nodes With The number of layer routing nodes The relationship between: ,in, , is an integer greater than or equal to 1.
2. The thinned fat tree network topology structure according to claim 1 is characterized in that: The thinned fat-tree network topology structure further includes: In the thinned fat tree network structure, Each routing node in the layer is respectively connected to the The four routing nodes of the layer are connected.
3. The thinned fat tree network topology structure according to claim 2 is characterized in that: In the thinned fat tree network structure, Each routing node in the layer is respectively connected to the The four routing nodes of the layer are connected, including: The said The layer code is The routing nodes are respectively connected to the The layer code is , , , The four routing nodes are connected, and , , , The relationship between them is: ; ; ; ; in, is to convert an integer into binary form; Bitwise XOR function in binary form.
4. The thinned fat tree network topology structure according to claim 1, characterized in that: The thinned fat-tree network topology structure further includes: In the thinned fat tree network structure, Each routing node in the layer is respectively connected to the The two routing nodes of the layer are connected.
5. The thinned fat tree network topology structure according to claim 4, characterized in that: In the thinned fat tree network structure, Each routing node in the layer is respectively connected to the The two routing nodes of the layer are connected, including: The said The layer code is The routing nodes are respectively connected to the The layer code is , The connection between the two routing nodes and , The relationship between them is: ; ; in, Converts an integer into a binary number. is a bitwise XOR function in binary form, is the floor function.
6. The thinned fat tree network topology according to any one of claims 1 to 5, characterized in that: The thinned fat-tree network topology structure further includes: The number of Tier 0 routing nodes The number of source nodes The relationship between them is: ; in, is an integer greater than or equal to 4.
7. The thinned fat tree network topology structure according to claim 1, characterized in that: The thinned fat-tree network topology structure further includes: The encoding of the 0th layer is The routing node and encoding are , , , The four source nodes are connected, and , , , The relationship between them is: ; ; ; ; in, is to convert an integer into binary form; Bitwise XOR function in binary form.
8. The thinned fat tree network topology structure according to claim 1, characterized in that: The thinned fat-tree network topology structure further includes: Each of the routing nodes in the thinned fat-tree network topology structure comprises: four downlink ports, namely, a first downlink port, a second downlink port, a third downlink port and a fourth downlink port, wherein the encoding of the first downlink port, the encoding of the second downlink port, the encoding of the third downlink port and the encoding of the fourth downlink port are increased in sequence; In the thinned fat tree network topology, Routing nodes on the layer The first downstream port, the second downstream port, the third downstream port and the fourth downstream port are respectively connected to the first downstream port The layer code is , , , The four routing nodes are connected, , , , The codes increase in sequence.
9. A method for sending a routing request, applied to the thinned fat tree network topology structure according to any one of claims 1 to 8, characterized in that: include: Obtaining codes of a source terminal and a target terminal, wherein the source terminal and the target terminal are source nodes in the thinned fat-tree network topology structure; Determine the target layer where the nearest common parent node is located in the thinned fat tree network topology structure according to the codes of the source terminal and the target terminal, wherein the common parent node is the common parent node of the source terminal and the target terminal; The target routing request sent by the source terminal is sent to the target parent node on the target layer, and the target routing request is sent to the target terminal through the target parent node.
10. The method according to claim 9, characterized in that Determining the target layer where the nearest common parent node is located in the thinned fat tree network topology structure according to the encoding of the source terminal and the target terminal, comprising: When the codes of the source terminal and the target terminal are represented by X-bit binary numbers, performing a bitwise XOR operation on the code of the source terminal and the code of the target terminal in binary form to obtain an XOR result, wherein X is an integer greater than 2; The target layer where the nearest common parent node is located is determined in the thinned fat-tree network topology structure through the XOR result.
11. The method according to claim 10, characterized in that Determining the target layer where the nearest common parent node is located in the thinned fat tree network topology structure by using the XOR result includes: Deleting the lower two bits of the XOR result to obtain a first target binary number; Determine the first non-zero value that appears in the first target binary number as a target non-zero value in order from high to low; Determine the number of bits of the target non-zero value in order from low to high; The number of bits is determined as the layer number of the target layer where the nearest common parent node is located.
12. The method according to claim 9, characterized in that Sending the target routing request sent by the source terminal to the target parent node on the target layer includes: The target routing request is transmitted upward to the thinned fat tree network topology. The layer code is In the case of a routing node, determine the Layer The encoding of the two connected routing nodes , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; In the , Determine a first target routing node, and send the target routing request to the first target routing node.
13. The method according to claim 12, characterized in that In the , The method of claim 1 , wherein determining a first target routing node and sending the target routing request to the first target routing node comprises: In the , A routing node is randomly selected as the first target routing node; or, The , In and described The routing node with the shortest distance is determined as the first target routing node; or, The , The routing node with the smallest load is determined as the first target routing node.
14. The method according to claim 9, characterized in that Sending the target routing request to the target terminal through the target parent node includes: In the case where the code of the target terminal is represented by an X-bit binary number, determining m valid bits in the code of the target terminal, wherein X is an integer greater than 2; The target routing request is transmitted downwards from the target parent node to the target terminal through the downlink port of the routing node in the thinned fat tree network topology structure according to the m valid bits.
15. The method according to claim 14, characterized in that In the case where the code of the target terminal is represented by an X-bit binary number, determining m valid bits in the code of the target terminal includes: Deleting the lower two bits of the code of the target terminal to obtain a second target binary number; In a case where the target layer where the nearest common father node is located is the mth layer, m bits from low to high in the second target binary number are determined as the m valid bits.
16. The method according to claim 14, characterized in that According to the m valid bits, the target parent node transmits the target routing request downward to the target terminal through the downlink port of the routing node in the thinned fat tree network topology structure, including: The target routing request is transmitted downward to the thinned fat tree network topology. The layer code is In the case of a routing node, determine the Layer Encoding of the four connected routing nodes , , , , , the target layer is the mth layer, the m is greater than or equal to 1 and less than or equal to the ; According to the m valid bits in the , , , Determine the second target routing node, and send the target routing request from the Send to the second target routing node.
17. The method according to claim 16, characterized in that According to the m valid bits in the , , , Determine the second target routing node, and send the target routing request from the Sending to the second target routing node, comprising: In the m valid bits, The layer code is If the corresponding valid bit is non-zero, The third downstream port is connected , and The fourth downstream port is connected determining the second target routing node; In the m valid bits, The layer code is The corresponding valid bit is zero, in the case of The first downstream port is connected , and The second downstream port is connected The second target routing node is determined in.
18. The method according to claim 17, characterized in that In the m valid bits, The layer code is If the corresponding valid bit is non-zero, The third downstream port is connected , and The fourth downstream port is connected Determining the second target routing node includes: In the , A routing node is randomly selected as the second target routing node; or, The , In and described The routing node with the shortest distance is determined as the second target routing node; or, The , The routing node with the smallest load is determined as the second target routing node; In the m valid bits, The layer code is The corresponding valid bit is zero, in the case of The first downstream port is connected , and The second downstream port is connected Determining the second target routing node includes: In the , A routing node is randomly selected as the second target routing node; or, The , In and described The routing node with the shortest distance is determined as the second target routing node; or, The , The routing node with the smallest load is determined as the second target routing node.
19. A device for sending a routing request, characterized in that: include: An acquisition module, used for acquiring codes of a source terminal and a target terminal, wherein the source terminal and the target terminal are source nodes in the thinned fat-tree network topology structure; A determination module, configured to determine the target layer where the nearest common parent node is located in the thinned fat-tree network topology structure according to the codes of the source terminal and the target terminal, wherein the common parent node is a common parent node of the source terminal and the target terminal; The sending module is used to send the target routing request sent by the source terminal to the target parent node on the target layer, and send the target routing request to the target terminal through the target parent node.
20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 9 to 18 when executed by a processor.
21. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 9 to 18 are implemented.
22. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 9 to 18 are implemented.
Citation Information
Patent Citations
Network topology structure based on fat tree high scalability hypercube
CN103957163A
Topological structure, construction method, message sending method, device, equipment and medium
CN117081975A
Method, system and device for implementing dual-host routing and medium
CN117155842A
Multistage robust communication topology system for BFT consensus
CN118869495A
Deadlock-free routing in fat tree networks
GB201222580D0