CN117081975B - Topology structure, construction method, message sending method, device, equipment and medium - Google Patents

Topology structure, construction method, message sending method, device, equipment and medium Download PDF

Info

Publication number
CN117081975B
CN117081975B CN202311339112.5A CN202311339112A CN117081975B CN 117081975 B CN117081975 B CN 117081975B CN 202311339112 A CN202311339112 A CN 202311339112A CN 117081975 B CN117081975 B CN 117081975B
Authority
CN
China
Prior art keywords
node
routing
layer
message
nodes
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
CN202311339112.5A
Other languages
Chinese (zh)
Other versions
CN117081975A (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 CN202311339112.5A priority Critical patent/CN117081975B/en
Publication of CN117081975A publication Critical patent/CN117081975A/en
Application granted granted Critical
Publication of CN117081975B publication Critical patent/CN117081975B/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/02Topology update or discovery
    • 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
    • H04L45/121Shortest path evaluation by minimising delays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application relates to a topological structure, a construction method, a message sending device, a message sending equipment and a message sending medium. The method comprises the following steps: constructing a fat tree network topology structure; when transmitting messages among the terminal nodes, defining the terminal node generating the messages as a source terminal node and the terminal node receiving the messages as a target terminal node; and responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node. The method and the device improve the utilization rate of the link and reduce the delay of the transmission message.

Description

Topology structure, construction method, message sending method, device, equipment and medium
Technical Field
The present disclosure relates to the field of server technologies, and in particular, to a topology structure, a method for constructing the topology structure, a method, a device, equipment and a medium for sending a message.
Background
With the rapid popularization and development of the internet and the continuous deployment of satellite internet constellation plans, more user terminals access to the network, the internet application including all fields of people production and living is derived, and the traffic in the internet has shown an explosive growth trend. The development and application of optical fiber technology and inter-satellite laser communication technology have led to the bottleneck of information transmission networks being transferred to switching devices, such as switches and routers, of switching nodes in the internet. The core technology of the switching devices is a switching technology, and the switching technology comprises two aspects of a switching network and a scheduling algorithm. In order to improve the performance of the information exchange network and meet the new application and service requirements which are continuously emerging nowadays, a higher-capacity and better-performance exchange network and a high-performance scheduling algorithm matched with the exchange network need to be researched.
Current interconnection networks are divided into four categories, namely shared medium networks, direct interconnection networks, indirect interconnection networks, and hybrid interconnection networks. The sending mode of the message in the interconnection network comprises unicast, multicast and broadcast. The message transmission direction of the current interconnection network topology structure is a unidirectional transmission mode, so that the message transmission adopts source terminal nodes to sequentially transmit until target source terminal nodes according to route nodes, the route node connection mode is a tree structure, and the symmetrical arrangement ensures that all source terminal nodes can be connected with each other. However, the unicast, multicast and broadcast message sending modes need to be propagated through all the routing nodes of the hierarchy, and the defect that a shorter transmission path cannot be selected to realize message transmission exists, so that the transmission distance of the propagation path is long, the utilization rate of links is reduced, and the delay of message transmission is increased.
Disclosure of Invention
Based on this, it is necessary to provide a topology structure, a construction method, a message sending method, a device, equipment and a medium for solving the above technical problems, which can be suitable for a fat tree network to select a routing node to form a propagation path to shorten a transmission distance when sending a message, further improve the utilization rate of a link and reduce the delay of transmitting the message.
In one aspect, a method for sending a fat tree network message is provided, where the method includes:
constructing a fat tree network topology structure, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer;
when transmitting messages among the terminal nodes, defining the terminal node generating the messages as a source terminal node and the terminal node receiving the messages as a target terminal node;
And responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
In one embodiment, the step of constructing a fat tree network topology includes:
two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
Setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
In one embodiment, the method further comprises:
in the process of transmitting the message, each routing node recognizes the transmission direction of the message when receiving the message;
if the message comes from the route node of the upper layer, transmitting the message downwards to all route nodes or terminal nodes of the lower layer connected with the message;
if the message comes from the routing node of the next layer, the message is transmitted upwards to the routing node of the upper layer connected with the message.
In one embodiment, if the message is from the routing node of the upper layer, transmitting the message downward to all routing nodes or terminal nodes of the lower layer connected with the message includes:
responding to the message from the route node of the upper layer, and acquiring all route nodes or terminal nodes of the lower layer connected with the route node of the received message;
Judging whether all routing nodes or terminal nodes of the next layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, and if not, transmitting the message to all routing nodes or terminal nodes of the next layer.
In one embodiment, if the packet is from the routing node of the next layer, transmitting the packet upward to the routing node of the upper layer connected to the packet includes:
responding to the message from the routing node of the next layer, and acquiring all the routing nodes of the upper layer connected with the routing node receiving the message;
judging whether all routing nodes of the upper layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, otherwise, selecting unoccupied routing nodes from all routing nodes in the upper layer and transmitting messages to the routing nodes.
In one embodiment, the response to the source terminal node sending a message to the target terminal node includes the steps of:
judging the number of source terminal nodes and target terminal nodes;
if the number of the source terminal nodes and the number of the target terminal nodes are one, judging that the transmission mode of the message in the fat tree network is unicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is smaller than the number of all the terminal nodes, judging that the transmission mode of the message in the fat tree network is multicast;
If the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is equal to the number of all the terminal nodes, the transmission mode of the message in the fat tree network is judged to be broadcasting.
In one embodiment, in the step of constructing the fat tree network topology structure, the sequence numbers of each layer of routing nodes and terminal nodes adopt binary numbers; when the message is transmitted in the fat tree network, the number of layers and the sequence number of the routing nodes which are commonly connected with the source terminal node and the target terminal node are judged through the sequence number of the terminal node.
In one embodiment, when the transmission mode of the message in the fat tree network is unicast, the method includes:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the target terminal node;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the target terminal node through the second routing node;
When the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the target terminal node through the N-th routing node; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In one embodiment, when the transmission mode of the message in the fat tree network is multicast, the method includes:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the plurality of target terminal nodes;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the second routing node, and the second routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes and sends the message to the target terminal node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the N-th routing node, the N-th routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes, and sends the message to the target terminal nodes; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In one embodiment, when the transmission mode of the message in the fat tree network is multicast, the method includes:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
the method comprises the steps of obtaining a routing node directly connected with a source terminal node as S, and obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D };
exclusive or is carried out on the sequencing sequence numbers of the routing nodes S and the sequencing sequence numbers of all the routing nodes in the set { D } of the routing nodes directly connected with the target terminal nodes according to the bits, and the result is recorded as a set { I };
looking from low to high at the position of the most significant bit of "1" in the set { I }, grouping the set { I } by the position of the most significant bit of "1 }, intoThe target terminal nodes and the corresponding source terminal nodes in each group are located in the same minimum layer network structure;
And in each packet, directly jumping the message generated by the source terminal node upwards to the routing node of the highest layer of the network structure of the lowest layer, determining the routing node directly jumping downwards or routing downwards from the routing node of the highest layer according to the sequence numbers of the plurality of target terminal nodes, and sending the message to the target terminal nodes.
In one embodiment, the set { I } is grouped into groups when the position of the most significant bit in terms of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upwards twice from a routing node S directly connected with the source terminal node to reach a third layer routing node with the same sequence number as the routing node S;
inverting bits corresponding to the sequence numbers of the routing nodes S to obtain a second layer routing node of downward routing, and routing the message downward to the second layer routing node;
if it isThe element in the first layer is from the next bit of the highest bit of '1' to '0' and '1', the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe element in (1) is only "0" or only "1" from the next of the highest bit of "1", and the message is then hopped or routed down to the first layer routing node.
In one embodiment, the set { I } is grouped into groups when the position of the most significant bit in terms of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upwards three times from a routing node S directly connected with the source terminal node to reach a fourth layer routing node with the same sequence number as the routing node S;
inverting bits corresponding to the sequence numbers of the routing nodes S to obtain a third layer routing node of downward routing, and routing the message downward to the third layer routing node;
if it isThe element in the message is jumped downwards and routed downwards to the second layer routing node from the next bit of the highest bit of the '1' to be '0' and '1'; if it isThe element in the first layer is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the second layer routing node;
if it isThe element in the first layer is from the second bit of the highest bit of '1', namely '0' and '1', and the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe second bit from the most significant bit of "1" is only "0" or only "1", the message is hopped or routed down to the first layer routing node.
In one embodiment, the set { I } is grouped into groups when the position of the most significant bit in terms of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upward M times from a routing node S directly connected with a source terminal node to reach an M+1st layer routing node with the same sequence number as the routing node S;
inverting bits corresponding to the sequence numbers of the routing nodes S to obtain an Mth layer routing node of downward routing, and routing the message downward to the Mth layer routing node;
if it isThe element in the message is jumped downwards and routed downwards to the routing node of the M-1 layer from the next bit of the highest bit of the '1' to both the '0' and the '1'; if it isThe element in the message is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the routing node of the M-1 layer;
if it isThe element in the message is jumped downwards and routed downwards to the M-2 layer routing node from the second position of the highest bit of 1, namely 0 and 1; if it isThe element in the message is only '0' or only '1' from the lower M-1 bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the M-2 layer routing node;
Sequential determinationThe valid bit of the element in (a) until the message is hopped down or routed down to the first layer routing node.
In one embodiment, when the transmission mode of the message in the fat tree network is broadcasting, the method includes:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
obtaining a routing node directly connected with a source terminal node as S, obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D }, and judging { D } as all routing nodes except the routing node S in the first layer of routing nodes;
directly jumping upwards for a plurality of times from a routing node S directly connected with a source terminal node to reach the routing node with the maximum layer number of the fat tree network;
obtaining each layer of routing nodes with the same sequence number as the source terminal node in the process of directly jumping upwards from the routing node S;
When each layer of routing nodes receive a transmitted message, the transmission direction of the message is identified; if the message comes from the routing node of the upper layer, the message is directly jumped downwards and routed downwards to all routing nodes or terminal nodes of the lower layer connected with the message; if the message comes from the next layer of routing nodes, the message is directly jumped upwards to the last layer of routing nodes with the same sequence numbers connected with the message.
In another aspect, there is provided a fat tree network message transmitting apparatus, the apparatus comprising:
the method comprises the steps of constructing a fat tree network module, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes through the routing nodes in the lower layer by adopting a tree structure;
the message transmission node management module is used for defining a terminal node generating a message as a source terminal node and a terminal node receiving the message as a target terminal node when the message is transmitted between the terminal nodes;
And the transmission message path control module is used for responding to the condition that when a source terminal node transmits a message to a target terminal node, transmitting the message upwards to a first layer of routing nodes connected with the source terminal node, judging whether the first layer of routing nodes are connected to the target terminal node, if so, controlling the message to be transmitted downwards to the target terminal node, if not, acquiring a second layer of routing nodes connected with the first layer of routing nodes, judging whether the second layer of routing nodes are connected to the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
In another aspect, a method for constructing a fat tree network topology is provided, comprising:
two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
Setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
On the other hand, a fat tree network topology structure constructed by adopting the method for constructing the fat tree network topology structure is provided, the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, every two terminal nodes are connected to the same routing node in the first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer.
In one embodiment, two adjacent terminal nodes in the plurality of terminal nodes form a group to form an even group of terminal nodes; the multi-layer routing nodes comprise a first layer, a second layer, a third layer and a fourth layer of routing nodes, and each layer is provided with an even number of routing nodes; eight routing nodes are respectively arranged on the first layer, the second layer, the third layer and the fourth layer, and sixteen terminal nodes are arranged.
In yet another aspect, a computer device is provided comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps of:
constructing a fat tree network topology structure, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer;
when transmitting messages among the terminal nodes, defining the terminal node generating the messages as a source terminal node and the terminal node receiving the messages as a target terminal node;
and responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
In yet another aspect, a computer readable storage medium is provided, having stored thereon a computer program which when executed by a processor performs the steps of:
constructing a fat tree network topology structure, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer;
when transmitting messages among the terminal nodes, defining the terminal node generating the messages as a source terminal node and the terminal node receiving the messages as a target terminal node;
and responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
The topology structure and the construction method, the message sending method, the device, the equipment and the medium are used for realizing upward and downward bidirectional transmission of the message by constructing the fat tree network topology structure of bidirectional data transmission, judging whether the message can be downwards transmitted to the target terminal node from the routing node when the message is upwards transmitted to the routing node, realizing the control of the shortest message transmission distance, being applicable to the fat tree network, selecting the routing node to form a transmission path to shorten the transmission distance when the message is sent, selecting a shorter transmission path to realize the message transmission, avoiding the defect of long transmission distance, improving the utilization rate of a link and reducing the delay of the transmitted message.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a fat tree structure with 16 end nodes in the prior art;
FIG. 2 is a block diagram of a fat tree structure with 16 end nodes according to one embodiment of the present application;
FIG. 3 is a flow chart of a method for sending a fat tree network message according to an embodiment of the present application;
FIG. 4 is a flow chart illustrating steps for constructing a fat tree network topology in one embodiment of the present application;
FIG. 5 is a block diagram of a fat tree network message sending device according to one embodiment of the present application;
fig. 6 is an internal structural diagram of a computer device in one embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
As described in the background, current interconnection networks are divided into four categories, namely shared medium networks, direct interconnection networks, indirect interconnection networks, and hybrid interconnection networks. The indirect interconnection network separates the end nodes from routers, which may be used as a stand-alone communication device. The sending mode of the message in the interconnection network comprises unicast, multicast and broadcast. The message transmission direction of the current interconnection network topology structure is a unidirectional transmission mode, so that the message transmission adopts source terminal nodes to sequentially transmit until target source terminal nodes according to route nodes, the route node connection mode is a tree structure, and the symmetrical arrangement ensures that all source terminal nodes can be connected with each other. However, the unicast, multicast and broadcast message sending modes need to be propagated through all the routing nodes of the hierarchy, and the defect that a shorter transmission path cannot be selected to realize message transmission exists, so that the transmission distance of the propagation path is long, the utilization rate of links is reduced, and the delay of message transmission is increased.
The interconnection network is a key for constructing a high-performance massive parallel processing system, and the design goal is to reliably and efficiently connect a certain number of functional nodes to form a massive parallel system with high cost performance at the lowest possible cost. This section will introduce an interconnection network from three aspects: firstly, the topology structure of the interconnection network, secondly, the routing algorithm and the switching technology of the interconnection network, and thirdly, the performance index of the interconnection network. The three aspects described above are the core content of the interconnect network topology design.
Traditionally, when fewer nodes need to be connected, the interconnection network is connected using a bus. All terminal nodes in the system realize data exchange through a shared transmission medium, and only one device is allowed to use the network at a time. Bus-type interconnection networks do not scale well with the increasing number of connected devices. With the increasing demands on network performance and scale, the bus interconnect approach has been difficult to meet. Interconnection networks can thus be divided into four categories, shared medium networks, direct interconnection networks, indirect interconnection networks, and hybrid interconnection networks, respectively. The interconnection network connected in a bus manner is one of shared medium networks, all terminal nodes share the same transmission medium, and the transmission medium sharing is realized by using a proper medium access control mechanism. In the direct interconnection network, each terminal node is directly connected through a router, while in the indirect interconnection network, communication of the terminal node is performed through interconnection of the router and the router, and the router does not generate network traffic, but is responsible for transmission, routing and relay of traffic generated by the terminal node. The hybrid interconnect network is a two or more interconnect structures comprising the three basic interconnect forms described above.
An end node is any system or group of units having communication requirements and may be a processor, processor and memory, graphics processing unit, memory controller, I/O interface, etc. Most conventional interconnection networks are direct interconnection networks, such as a k-element n-cube structure, which is typically representative of a direct interconnection network, and each end node in the network includes a router for implementing message passing between nodes. An indirect interconnection network separates end nodes from routers, which can be used as a stand-alone communication device, a typical topology representation being a Butterfly network topology (Butterfly). Each router is connected to its neighbors by a bi-directional link or two unidirectional links (each responsible for one direction), these links being referred to as tunnels. It should be noted that as the number of interconnected nodes increases, the aggregate bandwidth of the overall system will also increase. The interconnect topology is typically defined by four main attributes: (1) node degree: the number of channels connecting a node with its neighbors, or the number of ports of routers in the node. (2) network diameter: maximum value of shortest distance between two nodes in the network. (3) number of links: the number of links throughout the network is determined because the topology is determined and the number of links is then determined. (4) bisection bandwidth: all nodes in the network are divided into two equally divided sub-networks, and the link bandwidth corresponding to the minimum cut set is the binary bandwidth. The higher the binary bandwidth, the more network communication capability.
The message sending mode is as follows:
unicast (unicasting) refers to a transmission mode in which a destination address is a single target in the transmission of a message in a network. It is the most widely used network today, and most commonly used network protocols or services employ unicast transmissions.
Multicast (multicast) one-to-many transmission. Also called multicasting, multicasting or multicasting. Refers to the simultaneous delivery of a message to a group of destination addresses. It uses the policy most efficiently because messages need to be delivered only once on each network link and messages are replicated only when the links diverge.
Broadcast) a transmission of all addresses. The method refers to a transmission mode that the destination address is all addresses in the network when the message is transmitted in the network. In practice, all addresses are defined in a range, called the broadcast domain.
In order to solve the above-mentioned problem, the present invention provides a method for sending a packet in a fat tree network, and the present invention assumes that all source nodes in a topology network are in a broadcast domain, that is, a broadcast packet sent by one source node needs to be sent to all other source nodes. The routing algorithm suitable for the transmission message of the fat tree network topology does not need to send the message for multiple times in a unicast message mode, and the routing algorithm source routing node only needs to send the message once, and the broadcast message is only transmitted once on each link, so that the delay of the broadcast message is reduced. And each routing node only receives one broadcast message, so that the utilization rate of the link is further improved, and the delay of the broadcast message is reduced.
Fig. 1 is a fat tree structure containing 16 end nodes, circles in the topology representing routing nodes, and boxes in the topology representing end nodes. Each line is bi-directionally connected. Only the first layer of routing nodes are connected with the terminal nodes, and the number of the fourth layer of routing nodes is half of that of the first layers of routing nodes. Each routing node has four link ports, each of which is bi-directional. The bidirectional connection mode comprises bidirectional data link connection or two unidirectional data link connection with opposite directions.
The invention improves the fat tree network topology, and for 32 terminal nodes, the fat tree network with four layers improved by the invention is shown in figure 2, and compared with figure 1, the routing node of the last layer is the same as the first layers. Except for the routing nodes of the fourth layer, each routing node has four link ports, each of which is bidirectional. The routing nodes of the fourth layer have two link ports, each of which is bidirectional. Two ports of the first layer are linked with two source nodes, and the two ports are linked with a routing node; ports of other layers are all linked to the routing node. The bidirectional connection mode comprises bidirectional data link connection or two unidirectional data link connection with opposite directions.
Traditional routing algorithm for broadcast messages:
the first mode refers to a sending mode of a unicast message, and a source node sends a plurality of one-to-one routing requests to other source node nodes. For example, for the topology of fig. 2, assuming that the source node that sends the broadcast message is 5, 15 unicast messages are sent by the source node 5 to the other 15 source nodes. However, this method is too inefficient, the message may be transmitted multiple times on one link, and the link utilization is not high. And the transmission of the broadcast message is calculated to be completed only by completely transmitting 15 unicast messages, so that the delay is relatively large.
The second way is to use the transmission way of multicast messages, the messages only need to be transmitted once on each link, and only when the links are bifurcated, the messages can be copied and forwarded in multiple copies, and the use ratio of the links is high and the delay is small, so that the messages are frequently used. This method of replicating a message when it encounters a link bifurcation is applicable to a tree structure, and for the network topology of fig. 2, if replication and forwarding are performed at all bifurcation places, it will result in that part of the routing nodes and source nodes receive the broadcast message multiple times, i.e. there is still a link waste.
Therefore, for the topology of fig. 2, we propose a routing algorithm for broadcast messages, where the messages are transmitted only once on each link and each routing node and source node will receive only one broadcast message. The utilization rate of the link is improved, and the delay of the broadcast message is reduced.
In one embodiment, as shown in fig. 3, a fat tree network message sending method is provided, and the method is applied to the fat tree network structure in fig. 2 for illustration, and includes the following steps:
step S1, constructing a fat tree network topology structure, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes as well as the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer;
step S2, when the message is transmitted between the terminal nodes, defining the terminal node generating the message as a source terminal node and the terminal node receiving the message as a target terminal node;
And step S3, responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
As shown in fig. 4, in this embodiment, the step of constructing the fat tree network topology includes:
step S11, two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
step S12, setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
step S13, setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
Step S14, setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
step S15, setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
In this embodiment, the method further includes:
in the process of transmitting the message, each routing node recognizes the transmission direction of the message when receiving the message;
if the message comes from the route node of the upper layer, transmitting the message downwards to all route nodes or terminal nodes of the lower layer connected with the message;
if the message comes from the routing node of the next layer, the message is transmitted upwards to the routing node of the upper layer connected with the message.
In this embodiment, if the packet is from the routing node of the previous layer, transmitting the packet downward to all routing nodes or terminal nodes of the next layer connected to the packet includes:
responding to the message from the route node of the upper layer, and acquiring all route nodes or terminal nodes of the lower layer connected with the route node of the received message;
Judging whether all routing nodes or terminal nodes of the next layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, and if not, transmitting the message to all routing nodes or terminal nodes of the next layer.
In this embodiment, if the packet is from the routing node of the next layer, transmitting the packet upward to the routing node of the upper layer connected to the packet includes:
responding to the message from the routing node of the next layer, and acquiring all the routing nodes of the upper layer connected with the routing node receiving the message;
judging whether all routing nodes of the upper layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, otherwise, selecting unoccupied routing nodes from all routing nodes in the upper layer and transmitting messages to the routing nodes.
In this embodiment, the response to the source terminal node sending the message to the target terminal node includes the steps of:
judging the number of source terminal nodes and target terminal nodes;
if the number of the source terminal nodes and the number of the target terminal nodes are one, judging that the transmission mode of the message in the fat tree network is unicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is smaller than the number of all the terminal nodes, judging that the transmission mode of the message in the fat tree network is multicast;
If the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is equal to the number of all the terminal nodes, the transmission mode of the message in the fat tree network is judged to be broadcasting.
In this embodiment, in the step of constructing the fat tree network topology, the sequence numbers of each layer of routing nodes and terminal nodes adopt binary numbers; when the message is transmitted in the fat tree network, the number of layers and the sequence number of the routing nodes which are commonly connected with the source terminal node and the target terminal node are judged through the sequence number of the terminal node.
In this embodiment, when the transmission mode of the packet in the fat tree network is unicast, the method includes:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit (bit) of 1 in the sequencing sequence numbers of the source terminal node and the target terminal node;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the target terminal node through the second routing node;
When the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the target terminal node through the N-th routing node; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In this embodiment, when the transmission mode of the packet in the fat tree network is multicast, the method includes:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the plurality of target terminal nodes;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the second routing node, and the second routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes and sends the message to the target terminal node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the N-th routing node, the N-th routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes, and sends the message to the target terminal nodes; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In this embodiment, when the transmission mode of the packet in the fat tree network is multicast, the method includes:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
the method comprises the steps of obtaining a routing node directly connected with a source terminal node as S, and obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D };
the sequencing serial numbers of the routing nodes S and the sequencing serial numbers of all routing nodes in a set { D } of the routing nodes directly connected by a plurality of target terminal nodes are subjected to exclusive OR (the same is 0 and the same is 1) according to the bits, and the result is recorded as a set { I };
looking from low to high at the position of the most significant bit of "1" in the set { I }, grouping the set { I } by the position of the most significant bit of "1 }, intoThe target terminal nodes and the corresponding source terminal nodes in each group are located in the same minimum layer network structure;
And in each packet, directly jumping the message generated by the source terminal node upwards to the routing node of the highest layer of the network structure of the lowest layer, determining the routing node directly jumping downwards or routing downwards from the routing node of the highest layer according to the sequence numbers of the plurality of target terminal nodes, and sending the message to the target terminal nodes.
In the present embodiment, when the set { I } is grouped into groups according to the position of the most significant bit of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upwards twice from a routing node S directly connected with the source terminal node to reach a third layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a second layer routing node of downward routing, and routing the message downward to the second layer routing node;
if it isThe element in the first layer is from the next bit of the highest bit of '1' to '0' and '1', the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe element in (1) is only "0" or only "1" from the next of the highest bit of "1", and the message is then hopped or routed down to the first layer routing node.
In the present embodiment, when the set { I } is grouped into groups according to the position of the most significant bit of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upwards three times from a routing node S directly connected with the source terminal node to reach a fourth layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a third layer routing node of downward routing, and routing the message downward to the third layer routing node;
if it isThe element in the message is jumped downwards and routed downwards to the second layer routing node from the next bit of the highest bit of the '1' to be '0' and '1'; if it isThe element in the first layer is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the second layer routing node;
if it isThe elements in (1) "The second lower bit of the highest bit of the (1) has both '0' and '1', and the message is skipped downwards and routed downwards to the first layer routing node; if it isThe second bit from the most significant bit of "1" is only "0" or only "1", the message is hopped or routed down to the first layer routing node.
In the present embodiment, when the set { I } is grouped into groups according to the position of the most significant bit of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upward M times from a routing node S directly connected with a source terminal node to reach an M+1st layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain an Mth layer routing node of downward routing, and routing the message downward to the Mth layer routing node;
if it isThe element in the message is jumped downwards and routed downwards to the routing node of the M-1 layer from the next bit of the highest bit of the '1' to both the '0' and the '1'; if it isThe element in the message is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the routing node of the M-1 layer;
if it isThe element in the message is from the second bit of the highest bit of '1' to have '0' and '1', and then the message is sentDown-hops and routes down to the layer M-2 routing node; if it isThe element in the message is only '0' or only '1' from the lower M-1 bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the M-2 layer routing node;
Sequential determinationThe valid bit of the element in (a) until the message is hopped down or routed down to the first layer routing node.
In this embodiment, when the transmission mode of the packet in the fat tree network is broadcast, the method includes:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D } from the routing nodes directly connected with the source terminal node as S, and judging { D } as all routing nodes except the routing node S in the first layer of routing nodes;
the routing node S directly connected with the source terminal node directly hops upwards for a plurality of times to reach the routing node with the maximum layer number of the fat tree network;
obtaining each layer of routing nodes with the same sequence number as the source terminal node in the process of directly jumping upwards from the routing node S;
When each layer of routing nodes receive a transmitted message, the transmission direction of the message is identified; if the message comes from the routing node of the upper layer, the message is directly jumped downwards and routed downwards to all routing nodes or terminal nodes of the lower layer connected with the message; if the message comes from the next layer of routing nodes, the message is directly jumped upwards to the last layer of routing nodes with the same sequence numbers connected with the message.
The following describes a specific message transmission manner in conjunction with fig. 2 to understand the above scheme.
1) Broadcasting a message:
the following is specified: if the broadcast message received by the routing node is from the node at the lower layer, the message is firstly required to be transmitted upwards to the routing node at the higher layer, the number of which is consistent with that of the routing node, and then the message is sequentially transmitted upwards until the routing node at the highest layer; meanwhile, the broadcast message is required to be transmitted downwards to another routing node or source node which is linked with the broadcast message and is one layer lower, and the broadcast message is transmitted downwards in sequence until reaching the source node at the bottommost layer; if the broadcast message received by the routing node is from the routing node of the higher layer, the message is only required to be transmitted downwards to all the routing nodes or source nodes of the lower layer linked with the routing node, and the messages are transmitted downwards in sequence until the source node;
For convenience of explanation, we will describe the algorithm of the present invention by way of example, assuming that
The first step:transmitting the broadcast message upward to the routing node 2 of the first layer;
and a second step of: the broadcast message received by the routing node 2 of the first layer is from the node of the lower layer, firstly, the message is upwards transmitted to the routing node 2 of the second layer with the same number, and the second layer is not the highest layer, so that the third step is needed; simultaneously, the broadcast message is downwards transmitted to another source node 4 linked with the broadcast message, and downwards transmitted to the source node, and then the broadcast message is stopped;
and a third step of: the broadcast message received by the routing node 2 of the second layer is from the node of the lower layer, firstly, the message is upwards transmitted to the routing node 2 of the third layer, the serial numbers of which are consistent, and the third layer is not the highest layer, so that the fourth step is needed; meanwhile, the broadcast message is transmitted downwards to the routing node 3 of the other first layer linked with the routing node, and the routing node 3 of the first layer receives the message from the upper layer, so that the broadcast message is transmitted downwards to all source nodes 6 and 7 of the lower layer linked with the routing node, and is transmitted downwards to the source nodes, and then the broadcast message is stopped;
fourth step: the broadcast message received by the routing node 2 of the third layer is from the node of the lower layer, firstly, the message is upwards transmitted to the routing node 2 of the fourth layer with the same number as the fourth layer, and the fourth layer is the highest layer, so that the last step is carried out; meanwhile, the broadcast message is transmitted downwards to the routing node 0 of the other second layer linked with the routing node, and the routing node 0 of the second layer receives the message from the upper layer, so that the broadcast message is transmitted downwards to the routing nodes 0 and 1 of all the first layers linked with the routing node, the routing nodes 0 and 1 of the first layer are transmitted downwards to the source nodes 0, 1 and 2 and 3, and the broadcast message is transmitted downwards to the source nodes and stops;
The last step: the routing node 2 of the fourth layer receives the broadcast message from the node of the lower layer, but is already the highest layer, so that the broadcast message can only be transmitted downwards, the routing node 6 of the third layer is connected with the broadcast message, the routing node 6 of the third layer receives the message from the upper layer, so that the broadcast message is transmitted downwards to all the routing nodes 4 and 6 of the second layer connected with the routing node, the routing nodes 4 and 6 of the second layer are transmitted downwards to the routing nodes 4, 5 and 6 and 7 of the first layer, the routing nodes 4, 5 and 6 and 7 of the first layer are transmitted downwards to the source nodes 8, 9, 10, 11, 12, 13, 14 and 15, and the broadcast message is stopped when the broadcast message is transmitted downwards to the source nodes; so far, all source nodes receive the broadcast message.
2) Multicast message:
the following is specified: 1. direct jump up: the routing nodes are directly jumped upwards to the routing nodes with the same number at the higher layer; 2. direct jump down: the routing nodes are directly jumped downwards to the routing nodes with the same number on the next layer; 3. upward routing: routing nodes with different numbers at the higher layer are routed to the routing nodes according to the routing algorithm; 4. downward routing: the routing nodes are routed to routing nodes with different numbers at the lower layer according to the routing algorithm.
Assuming that the routing node where the source terminal node is located is S, the set of routing nodes where the target terminal node of the multicast is located is { D }, a routing algorithm is described below:
the first step: the set of the routing node S and the routing node where the target terminal node of the multicast is located is that all D in { D } are exclusive-ored (same as 0, different as 1) by bit, and the result is recorded as the set
And a second step of: low to high view collectionThe position of the highest bit of '1' in I is determined according to the position pair set of the highest bit of '1' in IGrouping to obtain
And a third step of: routing algorithm for finishing direct upward jump and then starting downward route
For a pair ofThe following operations are respectively performed:
3.1 direct jump up: viewing from low to highThe position of the highest bit of the valid bit '1' in the k-th bit is from the routing node with the number S of the first layer, through k upward hops, reaches the routing node with the number S of the k+1 layer, and then enters 3.2;
3.2 starting the downward route:the valid bit of (2) operates as follows: starting from the highest bit of '1', inverting the bit corresponding to S at the position of all '1', and obtaining a routing node of downward routing, wherein the position of all '0' directly jumps downwards; if there is a "0" with a "1", then both a jump down and a jump to are required Lower routing;
examples:
assume that the routing node S where the source terminal node is located isSet of (first layer) routing nodes where target end nodes of multicast are locatedIs thatThe number corresponds to the number 2, 3, 4, 6, 7, and the corresponding sequence number 1, 2, 3, 5, 6, and the following describes the routing algorithm:
the first step: the set of the routing nodes S and the routing nodes where the target terminal node of the multicast is located isAll of (3)Exclusive OR is performed according to the bits, and the result isIs a collection
The exclusive or calculation can keep the high-level bit, and the high-level node positions which are connected with the high-level bit are determined according to the highest bit of the '1'.
And a second step of: low to high view collectionThe position of the highest bit of '1' in I is determined according to the position pair set of the highest bit of '1' in IThe grouping is performed such that,
the high-level nodes connected with each other are positioned at the second level,the high-level nodes connected are positioned at the third level.
And a third step of: routing algorithm for finishing direct upward jump and then starting downward route
For the following
3.1 direct jump up: for the followingAll of (3)The highest bit of "1" is at the second bit, thus jumping directly up from the S node twice, reaching the third layer routing node 1, then entering 3.2;
3.2 starting the downward route:the valid bit of (2) operates as follows: starting from the highest bit of '1', the highest bit is '1', and the bits corresponding to S are inverted (mirrored) to obtain a routing node of downward routingRouting to a routing node of the second layerThe method comprises the steps of carrying out a first treatment on the surface of the The next bit has both a "0" and a "1", and is routed to the routing node of the first layer if both downward hops and downward routing are requiredAnd
for the following
3.1 direct jump up: for the followingAll of (3)The highest bit of the '1' is at the third bit, so the S node jumps directly and upwards three times, reaches the fourth layer routing node 1, and then enters 3.2;
3.2 starting the downward route:the valid bit of (2) operates as follows: starting from the highest bit of ' 1 ', the highest bit is ' 1) Will SThe corresponding bit is inverted to obtain a routing node of the downward routeRouting to routing node of third layerI.e. there is a "0" and a "1", then both downward hops and downward routes are required, then routes to the routing node of the second layer() And() The method comprises the steps of carrying out a first treatment on the surface of the Routing nodes of a second layerCorresponding toOnly the first layer needs to be routed downwardsA second layer ofCorresponding toThen both down-hops and down-routes are required to reach the first layer And
in the fat tree network message sending method, the fat tree network topology structure of bidirectional data transmission is constructed, so that upward and downward bidirectional transmission of the message is realized, the mode that whether the message can be downwards transmitted to the target terminal node from the routing node is judged when the message is upwards transmitted to the routing node is adopted, the control of the shortest message transmission distance is realized, the method is suitable for the fat tree network to select the routing node to form a transmission path to shorten the transmission distance when the message is sent, and the shorter transmission path is selected to realize the message transmission, so that the defect of long transmission distance is avoided, the utilization rate of a link is improved, and the delay of the transmitted message is reduced.
It should be understood that, although the steps in the flowcharts of fig. 3 and 4 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in fig. 3, 4 may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed sequentially, but may be performed alternately or alternately with at least a portion of the other steps or sub-steps of other steps.
In one embodiment, as shown in fig. 5, there is provided a fat tree network message sending apparatus 10, including: a fat tree network module 1, a transmission message node management module 2 and a transmission message path control module 3 are constructed.
The fat tree constructing network module 1 is used for constructing a fat tree network topology structure, the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes of each layer are the same, the terminal nodes and the routing nodes are connected in a bidirectional manner, every two terminal nodes are connected to the same routing node of a first layer, the layer sequence numbers of the routing nodes of each layer are sequentially increased from bottom to top, and any routing node of the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes of the lower layer.
The message transmission node management module 2 is configured to define, when a message is transmitted between the terminal nodes, a terminal node generating the message as a source terminal node, and a terminal node receiving the message as a destination terminal node.
The transmission message path control module 3 is configured to respond to when a source terminal node sends a message to a target terminal node, send the message upward to a first layer routing node connected to the source terminal node, determine whether the first layer routing node is connected to the target terminal node, if yes, control the message to be transmitted downward to the target terminal node, if not, obtain a second layer routing node connected to the first layer routing node, and determine whether the second layer routing node is connected to the target terminal node, and circularly determine until the message is transmitted to the target terminal node.
In this embodiment, the step of constructing the fat tree network topology includes:
two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
In this embodiment, the transmission packet path control module 3 is further configured to:
In the process of transmitting the message, each routing node recognizes the transmission direction of the message when receiving the message;
if the message comes from the route node of the upper layer, transmitting the message downwards to all route nodes or terminal nodes of the lower layer connected with the message;
if the message comes from the routing node of the next layer, the message is transmitted upwards to the routing node of the upper layer connected with the message.
In this embodiment, if the packet is from the routing node of the previous layer, transmitting the packet downward to all routing nodes or terminal nodes of the next layer connected to the packet includes:
responding to the message from the route node of the upper layer, and acquiring all route nodes or terminal nodes of the lower layer connected with the route node of the received message;
judging whether all routing nodes or terminal nodes of the next layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, and if not, transmitting the message to all routing nodes or terminal nodes of the next layer.
In this embodiment, if the packet is from the routing node of the next layer, transmitting the packet upward to the routing node of the upper layer connected to the packet includes:
responding to the message from the routing node of the next layer, and acquiring all the routing nodes of the upper layer connected with the routing node receiving the message;
Judging whether all routing nodes of the upper layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, otherwise, selecting unoccupied routing nodes from all routing nodes in the upper layer and transmitting messages to the routing nodes.
In this embodiment, the response to the source terminal node sending the message to the target terminal node includes the steps of:
judging the number of source terminal nodes and target terminal nodes;
if the number of the source terminal nodes and the number of the target terminal nodes are one, judging that the transmission mode of the message in the fat tree network is unicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is smaller than the number of all the terminal nodes, judging that the transmission mode of the message in the fat tree network is multicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is equal to the number of all the terminal nodes, the transmission mode of the message in the fat tree network is judged to be broadcasting.
In this embodiment, in the step of constructing the fat tree network topology, the sequence numbers of each layer of routing nodes and terminal nodes adopt binary numbers; when the message is transmitted in the fat tree network, the number of layers and the sequence number of the routing nodes which are commonly connected with the source terminal node and the target terminal node are judged through the sequence number of the terminal node.
In this embodiment, when the transmission mode of the packet in the fat tree network is unicast, the method includes:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the target terminal node;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the target terminal node through the second routing node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the target terminal node through the N-th routing node; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In this embodiment, when the transmission mode of the packet in the fat tree network is multicast, the method includes:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the plurality of target terminal nodes;
When the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the second routing node, and the second routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes and sends the message to the target terminal node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the N-th routing node, the N-th routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes, and sends the message to the target terminal nodes; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In this embodiment, when the transmission mode of the packet in the fat tree network is multicast, the method includes:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
The method comprises the steps of obtaining a routing node directly connected with a source terminal node as S, and obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D };
the sequencing serial numbers of the routing nodes S and the sequencing serial numbers of all routing nodes in a set { D } of the routing nodes directly connected by a plurality of target terminal nodes are subjected to exclusive OR (the same is 0 and the same is 1) according to the bits, and the result is recorded as a set { I };
looking from low to high at the position of the most significant bit of "1" in the set { I }, grouping the set { I } by the position of the most significant bit of "1 }, intoThe target terminal nodes and the corresponding source terminal nodes in each group are located in the same minimum layer network structure;
and in each packet, directly jumping the message generated by the source terminal node upwards to the routing node of the highest layer of the network structure of the lowest layer, determining the routing node directly jumping downwards or routing downwards from the routing node of the highest layer according to the sequence numbers of the plurality of target terminal nodes, and sending the message to the target terminal nodes.
In the present embodiment, when the set { I } is grouped into groups according to the position of the most significant bit of "1 ]When in use, ifThe transmission mode of the message includes:
Directly jumping upwards twice from a routing node S directly connected with the source terminal node to reach a third layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a second layer routing node of downward routing, and routing the message downward to the second layer routing node;
if it isThe element in the first layer is from the next bit of the highest bit of '1' to '0' and '1', the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe element in (1) is only "0" or only "1" from the next of the highest bit of "1", and the message is then hopped or routed down to the first layer routing node.
In the present embodiment, when the set { I } is grouped into groups according to the position of the most significant bit of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upwards three times from a routing node S directly connected with the source terminal node to reach a fourth layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a third layer routing node of downward routing, and routing the message downward to the third layer routing node;
If it isThe element in the message is jumped downwards and routed downwards to the second layer routing node from the next bit of the highest bit of the '1' to be '0' and '1'; if it isThe element in the first layer is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the second layer routing node;
if it isThe element in the first layer is from the second bit of the highest bit of '1', namely '0' and '1', and the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe second bit from the most significant bit of "1" is only "0" or only "1", the message is hopped or routed down to the first layer routing node.
In the present embodiment, when the set { I } is grouped into groups according to the position of the most significant bit of "1 ]When in use, ifThe transmission mode of the message includes:
directly jumping upward M times from a routing node S directly connected with a source terminal node to reach an M+1st layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain an Mth layer routing node of downward routing, and routing the message downward to the Mth layer routing node;
If it isThe element in the message is jumped downwards and routed downwards to the routing node of the M-1 layer from the next bit of the highest bit of the '1' to both the '0' and the '1'; if it isThe element in the message is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the routing node of the M-1 layer;
if it isThe element in the message is jumped downwards and routed downwards to the M-2 layer routing node from the second position of the highest bit of 1, namely 0 and 1; if it isThe element in the message is only '0' or only '1' from the lower M-1 bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the M-2 layer routing node;
sequential determinationThe valid bit of the element in (a) until the message is hopped down or routed down to the first layer routing node.
In this embodiment, when the transmission mode of the packet in the fat tree network is broadcast, the method includes:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
Obtaining a routing node directly connected with a source terminal node as S, obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D }, and judging { D } as all routing nodes except the routing node S in the first layer of routing nodes;
directly jumping upwards for a plurality of times from a routing node S directly connected with a source terminal node to reach the routing node with the maximum layer number of the fat tree network;
obtaining each layer of routing nodes with the same sequence number as the source terminal node in the process of directly jumping upwards from the routing node S;
when each layer of routing nodes receive a transmitted message, the transmission direction of the message is identified; if the message comes from the routing node of the upper layer, the message is directly jumped downwards and routed downwards to all routing nodes or terminal nodes of the lower layer connected with the message; if the message comes from the next layer of routing nodes, the message is directly jumped upwards to the last layer of routing nodes with the same sequence numbers connected with the message.
In the fat tree network message sending device, the bidirectional data transmission fat tree network topological structure is constructed, so that upward and downward bidirectional transmission of the message is realized, the mode that whether the message can be downwards transmitted to the target terminal node from the routing node is judged when the message is upwards transmitted to the routing node is adopted, the control of the shortest message transmission distance is realized, the method is suitable for the fat tree network to select the routing node to form a transmission path to shorten the transmission distance when the message is sent, and the shorter transmission path is selected to realize the message transmission, so that the defect of long transmission distance is avoided, the utilization rate of a link is improved, and the delay of the transmitted message is reduced.
For specific limitations of the fat-tree network message sending device, reference may be made to the above limitation of the fat-tree network message sending method, which is not repeated here. The modules in the fat tree network message sending device can be all or partially realized by software, hardware and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In another aspect, referring to fig. 4, a method for constructing a fat tree network topology is provided, where the method for constructing a fat tree network topology includes:
s11, connecting two terminal nodes to a first routing node in a bidirectional manner to form a first-layer network structure;
s12, setting second routing nodes with the same number and sequence numbers as the first routing nodes, and connecting the first routing nodes with the same sequence numbers with the second routing nodes in a bidirectional manner;
s13, setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
S14, setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
s15, setting a mirror structure for the current network structure, connecting a second routing node of the current network structure with a third routing node of the mirror structure corresponding to the third routing node connected with the second routing node of the current network structure in a bidirectional manner to form a third layer network structure, and repeating the topology to form a multilayer fat tree network topology structure.
On the other hand, referring to fig. 2, the present application further provides a fat tree network topology structure constructed by adopting the method for constructing a fat tree network topology structure described above, where the fat tree network topology structure includes a plurality of terminal nodes and multiple layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are both connected in two directions, each two terminal nodes are connected to the same routing node in the first layer, the layer numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer.
In this embodiment, two adjacent terminal nodes in the plurality of terminal nodes form a group, so as to form an even group of terminal nodes; the multi-layer routing nodes comprise a first layer, a second layer, a third layer and a fourth layer of routing nodes, and each layer is provided with an even number of routing nodes; eight routing nodes are respectively arranged on the first layer, the second layer, the third layer and the fourth layer, and sixteen terminal nodes are arranged.
In one embodiment, a computer device is provided, which may be a server, the internal structure of which may be as shown in fig. 6. The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database of the computer device is used for storing fat tree network message sending data. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program when executed by a processor implements a fat tree network messaging method.
It will be appreciated by those skilled in the art that the structure shown in fig. 6 is merely a block diagram of some of the structures associated with the present application and is not limiting of the computer device to which the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps of when executing the computer program:
constructing a fat tree network topology structure, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer;
When transmitting messages among the terminal nodes, defining the terminal node generating the messages as a source terminal node and the terminal node receiving the messages as a target terminal node;
and responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
In one embodiment, the processor when executing the computer program further performs the steps of:
the step of constructing the fat tree network topology structure comprises the following steps:
two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
Setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
In one embodiment, the processor when executing the computer program further performs the steps of:
in the process of transmitting the message, each routing node recognizes the transmission direction of the message when receiving the message;
if the message comes from the route node of the upper layer, transmitting the message downwards to all route nodes or terminal nodes of the lower layer connected with the message;
if the message comes from the routing node of the next layer, the message is transmitted upwards to the routing node of the upper layer connected with the message.
In one embodiment, the processor when executing the computer program further performs the steps of:
if the message comes from the routing node of the upper layer, transmitting the message downwards to all routing nodes or terminal nodes of the lower layer connected with the message comprises:
responding to the message from the route node of the upper layer, and acquiring all route nodes or terminal nodes of the lower layer connected with the route node of the received message;
judging whether all routing nodes or terminal nodes of the next layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, and if not, transmitting the message to all routing nodes or terminal nodes of the next layer.
In one embodiment, the processor when executing the computer program further performs the steps of:
if the message comes from the routing node of the next layer, transmitting the message upwards to the routing node of the upper layer connected with the message comprises the following steps:
responding to the message from the routing node of the next layer, and acquiring all the routing nodes of the upper layer connected with the routing node receiving the message;
judging whether all routing nodes of the upper layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, otherwise, selecting unoccupied routing nodes from all routing nodes in the upper layer and transmitting messages to the routing nodes.
In one embodiment, the processor when executing the computer program further performs the steps of:
the response to the source terminal node sending a message to the target terminal node includes the steps of:
judging the number of source terminal nodes and target terminal nodes;
if the number of the source terminal nodes and the number of the target terminal nodes are one, judging that the transmission mode of the message in the fat tree network is unicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is smaller than the number of all the terminal nodes, judging that the transmission mode of the message in the fat tree network is multicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is equal to the number of all the terminal nodes, the transmission mode of the message in the fat tree network is judged to be broadcasting.
In one embodiment, the processor when executing the computer program further performs the steps of:
in the step of constructing the fat tree network topology structure, the sequencing serial numbers of each layer of routing nodes and terminal nodes adopt binary numbers; when the message is transmitted in the fat tree network, the number of layers and the sequence number of the routing nodes which are commonly connected with the source terminal node and the target terminal node are judged through the sequence number of the terminal node.
In one embodiment, the processor when executing the computer program further performs the steps of:
when the transmission mode of the message in the fat tree network is unicast, the method comprises the following steps:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the target terminal node;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the target terminal node through the second routing node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the target terminal node through the N-th routing node; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In one embodiment, the processor when executing the computer program further performs the steps of:
when the transmission mode of the message in the fat tree network is multicast, the method comprises the following steps:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the plurality of target terminal nodes;
When the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the second routing node, and the second routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes and sends the message to the target terminal node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the N-th routing node, the N-th routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes, and sends the message to the target terminal nodes; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In one embodiment, the processor when executing the computer program further performs the steps of:
when the transmission mode of the message in the fat tree network is multicast, the method comprises the following steps:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
The method comprises the steps of obtaining a routing node directly connected with a source terminal node as S, and obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D };
the sequencing serial numbers of the routing nodes S and the sequencing serial numbers of all routing nodes in a set { D } of the routing nodes directly connected by a plurality of target terminal nodes are subjected to exclusive OR (the same is 0 and the same is 1) according to the bits, and the result is recorded as a set { I };
looking from low to high at the position of the most significant bit of "1" in the set { I }, grouping the set { I } by the position of the most significant bit of "1 }, intoThe target terminal nodes and the corresponding source terminal nodes in each group are located in the same minimum layer network structure;
and in each packet, directly jumping the message generated by the source terminal node upwards to the routing node of the highest layer of the network structure of the lowest layer, determining the routing node directly jumping downwards or routing downwards from the routing node of the highest layer according to the sequence numbers of the plurality of target terminal nodes, and sending the message to the target terminal nodes.
In one embodiment, the processor when executing the computer program further performs the steps of:
when the set { I } is grouped into groups according to the position of the most significant bit of "1 When in use, ifThe transmission mode of the message includes:
directly jumping upwards twice from a routing node S directly connected with the source terminal node to reach a third layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a second layer routing node of downward routing, and routing the message downward to the second layer routing node;
if it isThe element in the first layer is from the next bit of the highest bit of '1' to '0' and '1', the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe element in (1) is only "0" or only "1" from the next of the highest bit of "1", and the message is then hopped or routed down to the first layer routing node.
In one embodiment, the processor when executing the computer program further performs the steps of:
when the set { I } is grouped into groups according to the position of the most significant bit of "1When in use, ifThe transmission mode of the message includes:
directly jumping upwards three times from a routing node S directly connected with the source terminal node to reach a fourth layer routing node with the same sequence number as the routing node S;
Inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a third layer routing node of downward routing, and routing the message downward to the third layer routing node;
if it isThe highest ratio of elements from "1The next bit of the bit is '0' and '1', and the message is skipped downwards and routed downwards to the second layer routing node; if it isThe element in the first layer is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the second layer routing node;
if it isThe element in the first layer is from the second bit of the highest bit of '1', namely '0' and '1', and the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe second bit from the most significant bit of "1" is only "0" or only "1", the message is hopped or routed down to the first layer routing node.
In one embodiment, the processor when executing the computer program further performs the steps of:
when the set { I } is grouped into groups according to the position of the most significant bit of "1When in use, ifThe transmission mode of the message includes:
Directly jumping upward M times from a routing node S directly connected with a source terminal node to reach an M+1st layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain an Mth layer routing node of downward routing, and routing the message downward to the Mth layer routing node;
if it isIn (a) and (b)The element has '0' and '1' from the next bit of the highest bit of '1', and hops the message downwards and routes the message downwards to the routing node of the M-1 layer; if it isThe element in the message is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the routing node of the M-1 layer;
if it isThe element in the message is jumped downwards and routed downwards to the M-2 layer routing node from the second position of the highest bit of 1, namely 0 and 1; if it isThe element in the message is only '0' or only '1' from the lower M-1 bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the M-2 layer routing node;
sequential determinationThe valid bit of the element in (a) until the message is hopped down or routed down to the first layer routing node.
In one embodiment, the processor when executing the computer program further performs the steps of:
when the transmission mode of the message in the fat tree network is broadcasting, the method comprises the following steps:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
obtaining a routing node directly connected with a source terminal node as S, obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D }, and judging { D } as all routing nodes except the routing node S in the first layer of routing nodes;
directly jumping upwards for a plurality of times from a routing node S directly connected with a source terminal node to reach the routing node with the maximum layer number of the fat tree network;
obtaining each layer of routing nodes with the same sequence number as the source terminal node in the process of directly jumping upwards from the routing node S;
when each layer of routing nodes receive a transmitted message, the transmission direction of the message is identified; if the message comes from the routing node of the upper layer, the message is directly jumped downwards and routed downwards to all routing nodes or terminal nodes of the lower layer connected with the message; if the message comes from the next layer of routing nodes, the message is directly jumped upwards to the last layer of routing nodes with the same sequence numbers connected with the message.
For specific limitations regarding implementation steps when the processor executes the computer program, reference may be made to the above limitation on the method for transmitting the fat-tree network message, which is not described herein.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, performs the steps of:
constructing a fat tree network topology structure, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer;
when transmitting messages among the terminal nodes, defining the terminal node generating the messages as a source terminal node and the terminal node receiving the messages as a target terminal node;
and responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
In one embodiment, the computer program when executed by the processor further performs the steps of:
the step of constructing the fat tree network topology structure comprises the following steps:
two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
In one embodiment, the computer program when executed by the processor further performs the steps of:
in the process of transmitting the message, each routing node recognizes the transmission direction of the message when receiving the message;
if the message comes from the route node of the upper layer, transmitting the message downwards to all route nodes or terminal nodes of the lower layer connected with the message;
if the message comes from the routing node of the next layer, the message is transmitted upwards to the routing node of the upper layer connected with the message.
In one embodiment, the computer program when executed by the processor further performs the steps of:
if the message comes from the routing node of the upper layer, transmitting the message downwards to all routing nodes or terminal nodes of the lower layer connected with the message comprises:
responding to the message from the route node of the upper layer, and acquiring all route nodes or terminal nodes of the lower layer connected with the route node of the received message;
judging whether all routing nodes or terminal nodes of the next layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, and if not, transmitting the message to all routing nodes or terminal nodes of the next layer.
In one embodiment, the computer program when executed by the processor further performs the steps of:
If the message comes from the routing node of the next layer, transmitting the message upwards to the routing node of the upper layer connected with the message comprises the following steps:
responding to the message from the routing node of the next layer, and acquiring all the routing nodes of the upper layer connected with the routing node receiving the message;
judging whether all routing nodes of the upper layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, otherwise, selecting unoccupied routing nodes from all routing nodes in the upper layer and transmitting messages to the routing nodes.
In one embodiment, the computer program when executed by the processor further performs the steps of:
the response to the source terminal node sending a message to the target terminal node includes the steps of:
judging the number of source terminal nodes and target terminal nodes;
if the number of the source terminal nodes and the number of the target terminal nodes are one, judging that the transmission mode of the message in the fat tree network is unicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is smaller than the number of all the terminal nodes, judging that the transmission mode of the message in the fat tree network is multicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is equal to the number of all the terminal nodes, the transmission mode of the message in the fat tree network is judged to be broadcasting.
In one embodiment, the computer program when executed by the processor further performs the steps of:
in the step of constructing the fat tree network topology structure, the sequencing serial numbers of each layer of routing nodes and terminal nodes adopt binary numbers; when the message is transmitted in the fat tree network, the number of layers and the sequence number of the routing nodes which are commonly connected with the source terminal node and the target terminal node are judged through the sequence number of the terminal node.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the transmission mode of the message in the fat tree network is unicast, the method comprises the following steps:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the target terminal node;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the target terminal node through the second routing node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the target terminal node through the N-th routing node; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the transmission mode of the message in the fat tree network is multicast, the method comprises the following steps:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the plurality of target terminal nodes;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the second routing node, and the second routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes and sends the message to the target terminal node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the N-th routing node, the N-th routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes, and sends the message to the target terminal nodes; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the transmission mode of the message in the fat tree network is multicast, the method comprises the following steps:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
the method comprises the steps of obtaining a routing node directly connected with a source terminal node as S, and obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D };
the sequencing serial numbers of the routing nodes S and the sequencing serial numbers of all routing nodes in a set { D } of the routing nodes directly connected by a plurality of target terminal nodes are subjected to exclusive OR (the same is 0 and the same is 1) according to the bits, and the result is recorded as a set { I };
looking from low to high at the position of the most significant bit of "1" in the set { I }, grouping the set { I } by the position of the most significant bit of "1 }, intoThe target terminal nodes and the corresponding source terminal nodes in each group are located in the same minimum layer network structure;
And in each packet, directly jumping the message generated by the source terminal node upwards to the routing node of the highest layer of the network structure of the lowest layer, determining the routing node directly jumping downwards or routing downwards from the routing node of the highest layer according to the sequence numbers of the plurality of target terminal nodes, and sending the message to the target terminal nodes.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the set { I } is grouped into groups according to the position of the most significant bit of "1When in use, ifThe transmission mode of the message includes:
directly jumping upwards twice from a routing node S directly connected with the source terminal node to reach a third layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a second layer routing node of downward routing, and routing the message downward to the second layer routing node;
if it isThe element in the first layer is from the next bit of the highest bit of '1' to '0' and '1', the message is skipped downwards and is routed downwards to the first layer routing node; if it is The element in (1) is only "0" or only "1" from the next of the highest bit of "1", and the message is then hopped or routed down to the first layer routing node.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the set { I } is grouped into groups according to the position of the most significant bit of "1When in use, ifThe transmission mode of the message includes:
directly jumping upwards three times from a routing node S directly connected with the source terminal node to reach a fourth layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain a third layer routing node of downward routing, and routing the message downward to the third layer routing node;
if it isThe element in the message is jumped downwards and routed downwards to the second layer routing node from the next bit of the highest bit of the '1' to be '0' and '1'; if it isThe element in the first layer is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the second layer routing node;
if it is The element in the first layer is from the second bit of the highest bit of '1', namely '0' and '1', and the message is skipped downwards and is routed downwards to the first layer routing node; if it isThe second bit from the most significant bit of "1" is only "0" or only "1", the message is hopped or routed down to the first layer routing node.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the set { I } is grouped into groups according to the position of the most significant bit of "1When in use, ifThe transmission mode of the message includes:
directly jumping upward M times from a routing node S directly connected with a source terminal node to reach an M+1st layer routing node with the same sequence number as the routing node S;
inverting (mirroring) bits corresponding to the sequence numbers of the routing nodes S to obtain an Mth layer routing node of downward routing, and routing the message downward to the Mth layer routing node;
if it isThe element in the message is jumped downwards and routed downwards to the routing node of the M-1 layer from the next bit of the highest bit of the '1' to both the '0' and the '1'; if it isThe element in (a) is only '0' or only '1' from the next bit of the highest bit of '1', and the message is then jumped downwards or is led downwards Routing nodes from the M-1 layer;
if it isThe element in the message is jumped downwards and routed downwards to the M-2 layer routing node from the second position of the highest bit of 1, namely 0 and 1; if it isThe element in the message is only '0' or only '1' from the lower M-1 bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the M-2 layer routing node;
sequential determinationThe valid bit of the element in (a) until the message is hopped down or routed down to the first layer routing node.
In one embodiment, the computer program when executed by the processor further performs the steps of:
when the transmission mode of the message in the fat tree network is broadcasting, the method comprises the following steps:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
obtaining a routing node directly connected with a source terminal node as S, obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D }, and judging { D } as all routing nodes except the routing node S in the first layer of routing nodes;
Directly jumping upwards for a plurality of times from a routing node S directly connected with a source terminal node to reach the routing node with the maximum layer number of the fat tree network;
obtaining each layer of routing nodes with the same sequence number as the source terminal node in the process of directly jumping upwards from the routing node S;
when each layer of routing nodes receive a transmitted message, the transmission direction of the message is identified; if the message comes from the routing node of the upper layer, the message is directly jumped downwards and routed downwards to all routing nodes or terminal nodes of the lower layer connected with the message; if the message comes from the next layer of routing nodes, the message is directly jumped upwards to the last layer of routing nodes with the same sequence numbers connected with the message.
For specific limitations regarding implementation steps of the computer program when executed by the processor, reference may be made to the above limitation on the method for fat tree network messaging, which is not described in detail herein.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples merely represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the invention. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application is to be determined by the claims appended hereto.

Claims (19)

1. A method for sending a fat tree network message is characterized by comprising the following steps:
constructing a fat tree network topology structure, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer;
When transmitting messages among the terminal nodes, defining the terminal node generating the messages as a source terminal node and the terminal node receiving the messages as a target terminal node;
responding to the condition that when a source terminal node sends a message to a target terminal node, sending the message upwards to a first layer routing node connected with the source terminal node, judging whether the first layer routing node is connected with the target terminal node, if so, controlling the message to be downwards transmitted to the target terminal node, if not, acquiring a second layer routing node connected with the first layer routing node, judging whether the second layer routing node is connected with the target terminal node, and circularly judging until the message is transmitted to the target terminal node;
the step of constructing the fat tree network topology structure comprises the following steps:
two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
Setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
2. The fat-tree network messaging method according to claim 1, wherein said method further comprises:
in the process of transmitting the message, each routing node recognizes the transmission direction of the message when receiving the message;
if the message comes from the route node of the upper layer, transmitting the message downwards to all route nodes or terminal nodes of the lower layer connected with the message;
if the message comes from the routing node of the next layer, the message is transmitted upwards to the routing node of the upper layer connected with the message.
3. The fat-tree network message sending method according to claim 2, wherein if the message is from a routing node of a previous layer, transmitting the message downward to all routing nodes or terminal nodes of a next layer connected thereto comprises:
Responding to the message from the route node of the upper layer, and acquiring all route nodes or terminal nodes of the lower layer connected with the route node of the received message;
judging whether all routing nodes or terminal nodes of the next layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, and if not, transmitting the message to all routing nodes or terminal nodes of the next layer.
4. The fat-tree network message sending method according to claim 2, wherein if the message is from a next layer routing node, transmitting the message upward to a routing node of a previous layer connected thereto comprises:
responding to the message from the routing node of the next layer, and acquiring all the routing nodes of the upper layer connected with the routing node receiving the message;
judging whether all routing nodes of the upper layer connected with the routing node receiving the message are occupied one by one;
if so, waiting, otherwise, selecting unoccupied routing nodes from all routing nodes in the upper layer and transmitting messages to the routing nodes.
5. The fat-tree network messaging method according to claim 2, wherein said responding to a message sent from a source terminal node to a target terminal node comprises the steps of:
Judging the number of source terminal nodes and target terminal nodes;
if the number of the source terminal nodes and the number of the target terminal nodes are one, judging that the transmission mode of the message in the fat tree network is unicast; if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is smaller than the number of all the terminal nodes, judging that the transmission mode of the message in the fat tree network is multicast;
if the number of the source terminal nodes is one, the number of the target terminal nodes is a plurality of and is equal to the number of all the terminal nodes, the transmission mode of the message in the fat tree network is judged to be broadcasting.
6. The fat-tree network message transmission method according to claim 5, wherein in the step of constructing a fat-tree network topology, the sequence numbers of each layer of routing nodes and terminal nodes are binary numbers; when the message is transmitted in the fat tree network, the number of layers and the sequence number of the routing nodes which are commonly connected with the source terminal node and the target terminal node are judged through the sequence number of the terminal node.
7. The fat-tree network message sending method according to claim 6, wherein when the transmission mode of the message in the fat-tree network is unicast, the method comprises:
Judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the target terminal node;
when the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the target terminal node through the second routing node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends a message to the target terminal node through an N-th routing node; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
8. The fat-tree network message sending method according to claim 6, wherein when the transmission mode of the message in the fat-tree network is multicast, the method comprises:
judging the minimum layer network structure of the source terminal node and the target terminal node according to the position of the highest bit of 1 in the sequencing sequence numbers of the source terminal node and the plurality of target terminal nodes;
When the minimum layer network structure is a first layer network structure, the source terminal node sends a message to the target terminal node through the first routing node;
when the minimum layer network structure is a second layer network structure, the source terminal node sends a message to the second routing node, and the second routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes and sends the message to the target terminal node;
when the minimum layer network structure is an N-th layer network structure, the source terminal node sends the message to an N-th routing node, the N-th routing node determines a routing node of a downward route according to the sequence numbers of the plurality of target terminal nodes, and sends the message to the target terminal nodes; wherein N is less than or equal to the maximum number of layers of routing nodes of the fat tree network.
9. The fat-tree network message sending method according to claim 6 or 8, wherein when the transmission mode of the message in the fat-tree network is multicast, the method comprises:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
The method comprises the steps of obtaining a routing node directly connected with a source terminal node as S, and obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D };
exclusive or is carried out on the sequencing sequence numbers of the routing nodes S and the sequencing sequence numbers of all the routing nodes in the set { D } of the routing nodes directly connected with the target terminal nodes according to the bits, and the result is recorded as a set { I };
looking from low to high at the position of the most significant bit of "1" in the set { I }, grouping the set { I } into { I } by the position of the most significant bit of "1 } i I=1, 2, … …, a plurality of target terminal nodes in each packet and correspondingThe source terminal nodes of (a) are positioned in the same minimum layer network structure;
and in each packet, directly jumping the message generated by the source terminal node upwards to the routing node of the highest layer of the network structure of the lowest layer, determining the routing node directly jumping downwards or routing downwards from the routing node of the highest layer according to the sequence numbers of the plurality of target terminal nodes, and sending the message to the target terminal nodes.
10. The fat-tree network messaging method according to claim 9, wherein when grouping the set { I } according to the position of the most significant bit of "1" as { I } 1 If { I }, then 1 The transmission mode of the message includes:
directly jumping upwards twice from a routing node S directly connected with the source terminal node to reach a third layer routing node with the same sequence number as the routing node S;
inverting bits corresponding to the sequence numbers of the routing nodes S to obtain a second layer routing node of downward routing, and routing the message downward to the second layer routing node;
if { I } 1 The element in the first layer is from the next bit of the highest bit of '1' to '0' and '1', the message is skipped downwards and is routed downwards to the first layer routing node; if { I } 1 The element in (1) is only "0" or only "1" from the next of the highest bit of "1", and the message is then hopped or routed down to the first layer routing node.
11. The fat-tree network messaging method according to claim 9, wherein when grouping the set { I } according to the position of the most significant bit of "1" as { I } 2 If { I }, then 2 The transmission mode of the message includes:
directly jumping upwards three times from a routing node S directly connected with the source terminal node to reach a fourth layer routing node with the same sequence number as the routing node S;
Inverting bits corresponding to the sequence numbers of the routing nodes S to obtain a third layer routing node of downward routing, and routing the message downward to the third layer routing node;
if { I } 1 The element in the message is jumped downwards and routed downwards to the second layer routing node from the next bit of the highest bit of the '1' to have both '0' and '1'; if { I } 1 The element in the first layer is only '0' or only '1' from the next bit of the highest bit of '1', and the message is skipped downwards or routed downwards to the second layer routing node;
if { I } 1 The element in the first layer has both '0' and '1' from the lower second bit of the highest bit of '1', and the message is skipped downwards and routed downwards to the first layer routing node; if { I } 1 The second bit from the most significant bit of "1" is only "0" or only "1", the message is hopped or routed down to the first layer routing node.
12. The fat-tree network messaging method according to claim 9, wherein when grouping the set { I } according to the position of the most significant bit of "1" as { I } i When i=1, 2 … …, if { I } i If the highest bit of "1" of all elements in i=1, 2 … … is at the mth bit, the transmission manner of the message includes:
Directly jumping upward M times from a routing node S directly connected with a source terminal node to reach an M+1st layer routing node with the same sequence number as the routing node S;
inverting bits corresponding to the sequence numbers of the routing nodes S to obtain an Mth layer routing node of downward routing, and routing the message downward to the Mth layer routing node;
if { I } i The element in i=1, 2 … … has both "0" and "1" from the next to the highest bit of "1", and the message is hopped and routed down to the layer M-1 routing node; if { I } i The element in i=1, 2 … … jumps or routes the message down to the M-1 layer from the next of the highest bit of "1" to only "0" or to only "1"A routing node;
if { I } i The element in i=1, 2 … … has both "0" and "1" from the lower second bit of the highest bit of "1", and the message is hopped and routed down to the M-2 layer routing node; if { I } i The element in i=1, 2 … … has only "0" or only "1" from the lower M-1 bit of the highest bit of "1", and the message is then hopped or routed down to the M-2 layer routing node;
sequentially judging { I } i I=1, 2 … …, until the message is hopped or routed down to the first layer routing node.
13. The fat-tree network message sending method according to claim 6, wherein when the transmission mode of the message in the fat-tree network is broadcasting, comprising:
defining direct upward jump as the route node directly upward jumps to the route node with the same number of the higher layer, direct downward jump as the route node directly downward jumps to the route node with the same number of the lower layer, upward route is the route node which routes to the route node with different numbers of the higher layer according to the route algorithm, downward route is the route node which routes to the route node with different numbers of the lower layer according to the route algorithm;
obtaining a routing node directly connected with a source terminal node as S, obtaining a set of routing nodes directly connected with a plurality of target terminal nodes as { D }, and judging { D } as all routing nodes except the routing node S in the first layer of routing nodes;
directly jumping upwards for a plurality of times from a routing node S directly connected with a source terminal node to reach the routing node with the maximum layer number of the fat tree network; obtaining each layer of routing nodes with the same sequence number as the source terminal node in the process of directly jumping upwards from the routing node S; when each layer of routing nodes receive a transmitted message, the transmission direction of the message is identified; if the message comes from the routing node of the upper layer, the message is directly jumped downwards and routed downwards to all routing nodes or terminal nodes of the lower layer connected with the message; if the message comes from the next layer of routing nodes, the message is directly jumped upwards to the last layer of routing nodes with the same sequence numbers connected with the message.
14. A fat tree network message transmitting device, the device comprising:
the method comprises the steps of constructing a fat tree network module, wherein the fat tree network topology structure comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, each two terminal nodes are connected to the same routing node in a first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes through the routing nodes in the lower layer by adopting a tree structure; the step of constructing the fat tree network topology structure comprises the following steps: two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure; setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner; setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner; setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner; setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure;
The message transmission node management module is used for defining a terminal node generating a message as a source terminal node and a terminal node receiving the message as a target terminal node when the message is transmitted between the terminal nodes;
and the transmission message path control module is used for responding to the condition that when a source terminal node transmits a message to a target terminal node, transmitting the message upwards to a first layer of routing nodes connected with the source terminal node, judging whether the first layer of routing nodes are connected to the target terminal node, if so, controlling the message to be transmitted downwards to the target terminal node, if not, acquiring a second layer of routing nodes connected with the first layer of routing nodes, judging whether the second layer of routing nodes are connected to the target terminal node, and circularly judging until the message is transmitted to the target terminal node.
15. A method for constructing a fat tree network topology, comprising:
two terminal nodes are connected to a first routing node in a bidirectional mode to form a first-layer network structure;
setting second routing nodes with the same number and sequence number as the first routing nodes, and connecting the first routing nodes with the same sequence number with the second routing nodes in a bidirectional manner;
Setting a mirror image structure for the current network structure, and connecting a first routing node of the current network structure with a second routing node of the mirror image structure corresponding to the second routing node connected with the first routing node to form a second layer network structure in a bidirectional manner;
setting a third routing node which has the same number and sequence number as the second routing nodes, and connecting the second routing node with the same sequence number with the third routing node in a bidirectional manner;
setting a mirror image structure for the current network structure, bi-directionally connecting a second routing node of the current network structure with a third routing node of the mirror image structure corresponding to the third routing node connected with the second routing node to form a third layer network structure, and repeating the topology to form a multi-layer fat tree network topology structure.
16. The fat tree network topology constructed by the method for constructing the fat tree network topology according to claim 15, wherein the fat tree network topology comprises a plurality of terminal nodes and a plurality of layers of routing nodes, the number and the sequence numbers of the routing nodes in each layer are the same, the terminal nodes and the routing nodes are connected in two directions, every two terminal nodes are connected to the same routing node in the first layer, the layer sequence numbers of the routing nodes in each layer are sequentially increased from bottom to top, and any routing node in the upper layer is connected to all the terminal nodes by adopting a tree structure through the routing nodes in the lower layer.
17. The fat tree network topology according to claim 16, wherein two adjacent terminal nodes of the plurality of terminal nodes are grouped together to form an even group of terminal nodes; the multi-layer routing nodes comprise a first layer, a second layer, a third layer and a fourth layer of routing nodes, and each layer is provided with an even number of routing nodes; eight routing nodes are respectively arranged on the first layer, the second layer, the third layer and the fourth layer, and sixteen terminal nodes are arranged.
18. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any one of claims 1 to 13 when the computer program is executed by the processor.
19. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 13.
CN202311339112.5A 2023-10-17 2023-10-17 Topology structure, construction method, message sending method, device, equipment and medium Active CN117081975B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311339112.5A CN117081975B (en) 2023-10-17 2023-10-17 Topology structure, construction method, message sending method, device, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311339112.5A CN117081975B (en) 2023-10-17 2023-10-17 Topology structure, construction method, message sending method, device, equipment and medium

Publications (2)

Publication Number Publication Date
CN117081975A CN117081975A (en) 2023-11-17
CN117081975B true CN117081975B (en) 2024-02-09

Family

ID=88706511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311339112.5A Active CN117081975B (en) 2023-10-17 2023-10-17 Topology structure, construction method, message sending method, device, equipment and medium

Country Status (1)

Country Link
CN (1) CN117081975B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941584A (en) * 2022-11-25 2023-04-07 湖南智领通信科技有限公司 High dynamic on-demand routing method for ad hoc network, communication node and storage medium
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
CN1780251A (en) * 2004-11-19 2006-05-31 华为技术有限公司 Link recognition between domains based on automatic exchange light network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506348A (en) * 2022-01-21 2023-07-28 华为技术有限公司 Communication network system, message forwarding method and message forwarding device
CN115941584A (en) * 2022-11-25 2023-04-07 湖南智领通信科技有限公司 High dynamic on-demand routing method for ad hoc network, communication node and storage medium

Also Published As

Publication number Publication date
CN117081975A (en) 2023-11-17

Similar Documents

Publication Publication Date Title
US5170393A (en) Adaptive routing of messages in parallel and distributed processor systems
US20160254991A1 (en) Failure protection for traffic-engineered bit indexed explicit replication
JPH09153892A (en) Method and system for communicating message in wormhole network
CN103703455A (en) Reverse path forwarding lookup with link bundles
JPS62502303A (en) Interconnection method of packet communication networks
JP2005510953A (en) Explicit multicast tunneling service method and apparatus
CN115208746B (en) Efficient propagation of failure route notifications
Sivaramy et al. Multicasting in irregular networks with cut-through switches using tree-based multidestination worms
EP1952590B1 (en) Data transmission method
US20100098078A1 (en) Forwarding groups of multicast flows
CN102932250B (en) Non-deadlock self-adaptation routing method based on fault-tolerant computer network structure
CN103609064A (en) Protocol independent multicast with quality of service support
CN117081975B (en) Topology structure, construction method, message sending method, device, equipment and medium
CN110324249B (en) Dragonfly network architecture and multicast routing method thereof
US20210067438A1 (en) Multicast transmissions management
CN103999404A (en) Internet group management protocol version three for quality of service support
JP5404947B2 (en) Storage device
KR20030009334A (en) Scalable apparatus and method for increasing throughput in multiple level minimum logic networks using a plurality of control lines
JP2006511115A (en) Return path derivation in packet-switched networks
US9479391B2 (en) Implementing a switch fabric responsive to an unavailable path
CN117811993B (en) Three-dimensional hypercube network, routing method, device, equipment and medium thereof
CN117155852B (en) Routing method and device of broadcast message, computer equipment and storage medium
KR0170493B1 (en) Non-blocking fault tolerance gamma network for multi-processor system
CN117082014B (en) CLOS network, construction method, transmission method, system, device and medium
US7532584B2 (en) Implementation of constraints to ensure deadlock avoidance in networks

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