CN103095588B - Based on the adaptive routing method without dead of multiple spanning tree - Google Patents

Based on the adaptive routing method without dead of multiple spanning tree Download PDF

Info

Publication number
CN103095588B
CN103095588B CN201310017506.9A CN201310017506A CN103095588B CN 103095588 B CN103095588 B CN 103095588B CN 201310017506 A CN201310017506 A CN 201310017506A CN 103095588 B CN103095588 B CN 103095588B
Authority
CN
China
Prior art keywords
node
router
spanning tree
packet
flag bit
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
CN201310017506.9A
Other languages
Chinese (zh)
Other versions
CN103095588A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201310017506.9A priority Critical patent/CN103095588B/en
Publication of CN103095588A publication Critical patent/CN103095588A/en
Application granted granted Critical
Publication of CN103095588B publication Critical patent/CN103095588B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a kind of adaptive routing method without dead based on multiple spanning tree, relate to network communication technology field.The method specifically comprises: each root node determining multiple spanning tree, and constructs multiple spanning tree; By different source/destination network communication nodes to distributing to different spanning trees, different source/destination network communication nodes is made to transmit data to by different spanning trees; The resources circulation broken in communication network topology figure relies on, and avoids potential deadlock; In the router, route and arbitration unit is used to replace routing table; Dynamic buffer allocation strategy is adopted to described router.The inventive method effectively alleviates the jam situation of root node and bubble node in each spanning tree, improves the communication performance of scramble network, and when network size increases, the inventive method has good extensibility.

Description

Based on the adaptive routing method without dead of multiple spanning tree
Technical field
The present invention relates to network communication technology field, be specifically related to a kind of adaptive routing method without dead based on multiple spanning tree.
Background technology
Traditional up/down method for routing be applied in scramble network communication sets up a spanning tree in a network and only selects a node as root node.It is a distributed non lock routing method having certain adaptivity in scramble network.Generally speaking, up/down method for routing carries out route for each internodal communication data exactly in a spanning tree.First move to root node along this spanning tree from the packet of source node, and then move to destination node along spanning tree.Usually, our Stochastic choice root node as spanning tree in some nodes the shortest from other all nodal distances.The position relationship of the node that the link between such all-network topological diagram interior joint just can connect according to them and root node be marked as or under.Such as, two adjacent node u in network, v, if u to the distance of root node than the distance of v to root node, so the state of link (u, v) is upper, on the contrary under being.If u and v is equal to the distance of root node, so between them, the direction of link just has the node of large No. ID for the node having little No. ID points to.Such as, if node u is less than No. ID of node v, so the state of link (u, v) is just upper.Fig. 1 (a) illustrates the scramble network topology of eight nodes, and Fig. 1 (b) illustrates with the spanning tree in the node 1 up/down method for routing that is root node, can see in publishing picture to there is not ring.
Route route between source node and destination node follows following rule: 0 or multiple state be on link need the link under 0 or multiple state are before.That is, the link of packets need first on state is and then the link under state is.Such route route just avoids resources circulation possible in data packet delivery and relies on.That is, up/down method for routing is a kind of deadlock-free method for routing.And in the spanning tree that method for routing produces over/under, different source/destination nodes, to there are many legal route routes, so just brings certain adaptivity for up/down method for routing.
The advantage of up/down method for routing is simple router topology and certain adaptivity.Its shortcoming is that the route route between source/destination node is not likely two internodal minimal paths, and likely becomes near the physical link of root node and extremely block up thus become the bottleneck of whole network service.
The conventional method of Avoid deadlock is that a physical link is divided into many virtual links, and packets different so just can transmit in the virtual link that same physical link is different.The method of another Avoid deadlock is called bubble flow control methods, and this side's ratio juris is the injection that restriction forms the packet of Circular dependency.Like this, the resource likely formed in network topological diagram in the ring of Circular dependency never may be simultaneously occupied, thus the packet in ring can continue to advance to their destination node forever.Meanwhile, bubble flow control methods is easy to realize, and in fact, the present invention uses bubble flow control methods to carry out Avoid deadlock.
In traditional up/down method for routing, most packets all can transmit through the root node of spanning tree.Like this, this root node all likely becomes the bottleneck of network service under many circumstances, particularly when the scale of network becomes large.As a rule, root node is not the destination node of packet, and it only plays the role of intermediate node in data packet delivery.
Summary of the invention
(1) technical problem that will solve
The technical problem that the physical link that the present invention mainly solves spanning-tree root near nodal in existing up/down method for routing easily gets congestion, and improve the flexibility of route and the extensibility of network size to a great extent.
(2) technical scheme
For solving the problem, the invention provides a kind of adaptive routing method without dead based on multiple spanning tree, comprising the following steps:
S1, determine each root node of multiple spanning tree, and construct multiple spanning tree;
S2, by different source/destination network communication nodes to distributing to different spanning trees, make different source/destination network communication nodes to by different spanning trees transmit data;
S3, the resources circulation broken in communication network topology figure rely on, and avoid potential deadlock;
S4, in the router, uses route and arbitration unit to replace routing table;
S5, Dynamic buffer allocation strategy is adopted to described router.
Preferably, described step S1 is further comprising the steps:
S101, determine first root node, the average distance making all the other nodes be undertaken communicating by the spanning tree that is root node with it is the shortest, and described first root node obtains according to following formula:
FR = min r { Σ u , v dist r ( u , v ) } ,
Wherein, dist r(u, v) represents u node and the distance of v node in conventional up/down method for routing;
S102, determine second root node, make the nodes involved by Circular dependency of each node input port buffer area and the distance sum of all inter-node communications in communication network topology all as far as possible minimum, described second root node obtains according to following formula:
SR = Σ u , v Δdist ( u , v ) Σ c size ( c ) ,
Wherein, size (c) represents the nodes in Circular dependency, ∑ csize (c) represents all node total number involved by all Circular dependency identified, Σ u, vΔ dist (u, v) represents the summation of the communication distance shortened between all nodes that newly-increased root node brings;
S103, determine remaining root node according to following formula:
h = Σ u , v Δdist ( u , v ) ΔT ,
ΔT = Σ c ∈ c 2 size ( c ) - Σ c ∈ c 1 size ( c ) ,
Wherein c 1and c 2the node set before newly-generated tree is set up and after setting up in network involved by Circular dependency, the communication distance that Δ dist (u, v) representative reduces between each node after newly-generated tree is set up.
Preferably, described step S2 is further comprising the steps:
S201, one group of source/destination network communication node is communicated with the shortest spanning tree of distance to distributing to;
The network communication node of S202, identical sources node, different destination node gives different spanning trees to equilibrium assignment;
S203, when one group of source/destination network communication node to the communication distance in multiple spanning tree be all minimum and equal time, by this group source/destination network communication node to distributing to any one spanning tree.
Preferably, described step S3 is further comprising the steps:
S301, find in communication network topology figure may occur resources circulation rely on ring;
S302, in each ring, find restrictive ports, when described restrictive ports meets pre-defined rule, packet is allowed to be transmitted by it, when described restrictive ports does not meet pre-defined rule, do not allow packet to be transmitted by it, its pre-defined rule is that down hop port has unnecessary or equals two buffer areas;
Can determine that input port in a node is as restrictive ports according to following benefit metering formula:
m ( v i ) = Σ v i ∈ C size ( C ) ,
Wherein, the input port i of node v is the restrictive ports in Circular dependency C, and size (C) is the size of Circular dependency C, selects input port that above-mentioned benefit variable is large as restrictive ports;
S303, when the benefit variable of two input ports is equal, select input port in the little node of the number of degrees as restrictive ports;
S304, after selecting each restrictive ports, the benefit variable of each port of each node will upgrade, and the node namely comprised in the Circular dependency broken all will deduct the size of Circular dependency with the circulation variable of the input port in these nodes;
S305, repeat above step, until all Circular dependency are all broken.
Preferably, described step S4 is further comprising the steps:
S401, the packet through the some ports of router is divided into two classes: the packet that wherein a class is is source node with this router; Another kind ofly be through this router, the packet being intermediate node with this router;
S402, the packet that is source node with this router is specifically transmitted spanning tree classification at place according to it, described situation being expressed as in route equation: represent that the flag bit of spanning tree is multiplied by the flag bit sum of each destination node of described packet in this spanning tree, if this port is restrictive ports in this spanning tree, then also need to be multiplied by restrictive ports flag bit;
S403, by being intermediate node with this router, packet is divided into two classes according to the state of the physical link arriving this router: wherein a class be through state be on physical link arrive the packet of this router; Another kind of be through state be under physical link arrive the packet of this router;
S404, the packet arriving this router with the physical link of this router for intermediate node and on state is specifically is transmitted spanning tree classification at place according to it, described situation being expressed as in route equation: represent that the flag bit of spanning tree is multiplied by the flag bit sum of each destination node of described packet in this spanning tree, if this port is restrictive ports in this spanning tree, then also need to be multiplied by restrictive ports flag bit;
S405, the packet arriving this router with the physical link of this router for intermediate node and under state is specifically is transmitted spanning tree classification at place according to it, described situation being expressed as in route equation: represent that the flag bit of spanning tree is multiplied by the flag bit sum that upper hop flag bit is multiplied by each destination node of described packet in this spanning tree again, if this port is restrictive ports in this spanning tree, then also need to be multiplied by restrictive ports flag bit;
S406, the expression formula in each route equation above-mentioned is added and is multiplied by down hop free buffer distinctive emblem position again, then be multiplied by the negate of output port buffer area queue length flag bit.
Preferably, described step S5 is further comprising the steps:
S501, buffer area resource is divided into two classes, a Lei Shi particular cache district, another kind of is central cache district;
S502, particular cache district and some specific input ports to be bound, make each input port have a particular cache district being enough to load a packet;
S503, central cache district can distribute to any one input port;
S504, each buffer area be provided with a flag bit being used for marking its state, one be used for marking it and whether be applied its whether occupied flag bit of the flag bit that takies and mark;
S505, distribute more central cache area resource for the input port connecting root node and restrictive ports.
(3) beneficial effect
The inventive method effectively alleviates the jam situation of root node and bubble node in each spanning tree, improves the communication performance of scramble network, and when network size increases, the inventive method has good extensibility.
Accompanying drawing explanation
Fig. 1 (a) is the scramble network schematic diagram having eight network nodes, and (b) is the spanning tree schematic diagram in traditional up/down method for routing;
Fig. 2 has the scramble network schematic diagram that two meet traditional routing method spanning tree;
Fig. 3 is the flow chart of the inventive method;
Fig. 4 is the logical routing schematic diagram of VCT switch router;
Fig. 5 has resources circulation in the scramble network of many spanning trees to rely on schematic diagram, and wherein (a) represents the scramble network only having input port, and (b) represents that the resources circulation in network relies on, and (c) to represent in spanning tree 82 abe chosen as restrictive ports, (d) represents in spanning tree 13 awith 7 in spanning tree 8 a, 6 bbe chosen as restrictive ports.
Embodiment
Below in conjunction with drawings and Examples, the specific embodiment of the present invention is described in further detail.Following examples for illustration of the present invention, but are not used for limiting the scope of the invention.
The present invention proposes a kind of adaptive routing method without dead based on multiple spanning tree newly, the core concept of the method is for a scramble network sets up many spanning trees, and the internodal packet of different source/destination is transmitted in different spanning trees.Allocation of packets on network can be given different spanning trees by this technology fifty-fifty, makes them transmit through respective root node, thus directly improves the jam situation near Single Spanning Tree root node.As shown in Figure 2, in a network we with node 1 and node 8 for root node constructs two spanning trees.
Can not ring be there is in the topological diagram of a certain spanning tree, but likely there is the Circular dependency of resource between many spanning trees.The present invention is adopted as each ring existed in topological diagram and selects the method for a bubble node to avoid the generation of potential Circular dependency.The corresponding port of bubble node is limited instead of by total ban, and confined port only has when it can provide enough buffer areas that it is just allowed to for transmitting packet.The invention allows for the method for a new dynamic assignment buffer area to improve the performance of whole network and to alleviate the jam situation of root node and bubble node in each spanning tree.
Fig. 3 is the flow chart of the inventive method, the invention provides a kind of adaptive routing method without dead based on multiple spanning tree, comprises the following steps:
Step S1: select each root node of multiple spanning tree and construct spanning tree.The selection of the root node of each spanning tree is all most important for all method for routing based on spanning tree.The spanning-tree root node selecting method that multiple method before being different from uses, the present invention needs the different heuritic approach of use two kinds to select first root node and remaining root node respectively.
Step S101: the first root node needs to possess the shortest feature of average distance that all the other nodes undertake communicating by it.With formula:
FR = min r { Σ u , v dist r ( u , v ) }
The root node that we need can be obtained.Wherein dist r(u, v) represent u node and v node traditionally/lower method for routing in distance.
Step S102: we need selection second root node after selection first root node, although institute according to algorithm idea identical, for the selection of second root node and all the other root nodes based on different formula.Because it is larger to relate to the more impacts on network performance of node that resources circulation dependence may occur in network service, when selecting remaining root node, we should make the distance sum of the nodes involved by the Circular dependency of each node input port buffer area in network topology and all inter-node communications minimum as far as possible.For second root node, select according to following formula:
SR = Σ u , v Δdist ( u , v ) Σ c size ( c ) ,
Wherein size (c) represents the nodes in Circular dependency, ∑ csize (c) represents all node total number involved by all Circular dependency identified, ∑ u, vΔ dist (u, v) represents the summation of the communication distance shortened between all nodes that newly-increased root node brings.
Step S103: the three node and the 4th node can be selected according to following formula:
h = Σ u , v Δdist ( u , v ) ΔT ,
ΔT = Σ c ∈ c 2 size ( c ) - Σ c ∈ c 1 size ( c ) ,
Wherein c 1and c 2the node set before newly-generated tree is set up and after setting up in network involved by Circular dependency, the communication distance that Δ dist (u, v) representative reduces between each node after newly-generated tree is set up.It should be noted that as Δ T=0, need it to remove from above-mentioned formula.
Step S2: in the method as proposed in the present invention, a network has many spanning trees, and source/destination network communication nodes different is like this to just transmitting packet by different spanning trees.The benefit done like this is the transmission packet that can make whole Network Load Balance, it also avoid the problem that different spanning tree use different virtual passage to transmit physical link that packet brings can not make full use of simultaneously.How by different source/destination network nodes to distributing to different spanning trees, the load balancing for scramble network is vital.
Step S201: by one group of source/destination network communication node to distributing to a shortest spanning tree of their communication distances as far as possible.
Step S202: in order to reach better load balancing, the network communication node of identical sources node, different destination node to should be balanced distribute to different spanning trees.
Step S203: when one group of source/destination network communication node to the communication distance in multiple spanning tree be all minimum and equal time, this group network communication node, to just distributing to any one spanning tree, at this moment just provides some flexibilities for the distribution of packet.
Step S3: the adaptive routing method without dead based on multiple spanning tree is not only only between different node and provides the adaptivity that shorter communication path also effectively improves whole routing algorithm.But some contingent resources circulation that this algorithm also brings in network topological diagram rely on simultaneously.By following following steps, these Circular dependency can be broken thus avoid potential deadlock:
Step S301: find the ring that resources circulation may occur and rely in network topological diagram.
Step S302: then find some restrictive ports in each ring, when these restrictive ports meet pre-provisioning request, allows packet to transmit through them, when they do not meet predetermined requirement, does not allow packet to transmit through them.When selectional restriction port, follow following rule:
1, a node containing restrictive ports is at least comprised in each Circular dependency;
2, the selection containing restrictive ports node is according to corresponding input port instead of whole node;
3, avoid selecting input port in root node as restrictive ports as far as possible;
The quantity of the restrictive ports that all nodes 4, in network comprise can not be given more than one threshold value;
5, the input port in the network node that the selection number of degrees are less is as far as possible as restrictive ports.
Input port in a node can be selected as restrictive ports according to following benefit metering formula:
m ( v i ) = Σ v i ∈ C size ( C )
Wherein, the input port i of node v is the restrictive ports in Circular dependency C.Size (C) is the size of Circular dependency C.The more performance impacts to whole network of node involved by Circular dependency are larger.So the large input port of prioritizing selection above-mentioned benefit variable is as restrictive ports.
Step S303: when the benefit variable of two input ports is equal, selects the input port in the node that the number of degrees are little, because the node that the number of degrees are large can be responsible for transmitting more flow in a network.
Step S304: after selecting each restrictive ports, the benefit metering of each port of each node will upgrade accordingly, and the node namely comprised in the Circular dependency broken all will deduct the size of Circular dependency with the circulation variable of the input port in these nodes.
Step S305: repeat above step, until all Circular dependency are all broken.
Step S4: in the router, uses route and arbitration unit to replace routing table.
Step S401: the packet through the some ports of router is divided into two classes: the packet that wherein a class is is source node with this router; Another kind ofly be through this router, the packet being intermediate node with this router;
Step S402: the packet being source node with this router is classified according to its concrete spanning tree transmitting place, described situation being expressed as in route equation: represent that the flag bit of spanning tree is multiplied by the flag bit sum of each destination node of described packet in this spanning tree, if this port is restrictive ports in this spanning tree, then also need to be multiplied by restrictive ports flag bit;
Step S403: packet is divided into two classes according to the state of the physical link arriving this router by being intermediate node with this router: wherein a class be through state be on physical link arrive the packet of this router; Another kind of be through state be under physical link arrive the packet of this router;
Step S404: spanning tree classification of the packet arriving this router with the physical link of this router for intermediate node and on state is specifically being transmitted place according to it, described situation being expressed as in route equation: represent that the flag bit of spanning tree is multiplied by the flag bit sum of each destination node of described packet in this spanning tree, if this port is restrictive ports in this spanning tree, then also need to be multiplied by restrictive ports flag bit;
Step S405: spanning tree classification of the packet arriving this router with the physical link of this router for intermediate node and under state is specifically being transmitted place according to it, described situation being expressed as in route equation: represent that the flag bit of spanning tree is multiplied by the flag bit sum that upper hop flag bit is multiplied by each destination node of described packet in this spanning tree again, if this port is restrictive ports in this spanning tree, then also need to be multiplied by restrictive ports flag bit;
Step S406: the expression formula in each route equation above-mentioned is added and is multiplied by down hop free buffer distinctive emblem position again, then be multiplied by the negate of output port buffer area queue length flag bit.
In step s 4 which, the new router topology proposing a kind of k of comprising input and output port meets the demand that the adaptive routing method without dead based on multiple spanning tree is applied on network.
New route header comprises the flag bit that two are used for representing spanning tree belonging to this message, one be used for representing upper hop be upper or under flag bit, also has one group of flag bit being used for representing destination-address, such as: the network having 16 nodes needs the flag bit of four bit lengths to represent destination-address.
New router topology comprises:
The signal of k*n expression output port state.N represents the number of spanning tree, and k represents the number of output port.Such as: S i, j=1 i-th output port in a jth spanning tree be on otherwise under being.These signals are changeless value after all spanning trees are set up.
The individual signal representing each output port queue length of k.Such as: q i=1 represents that the output queue length of i-th port is at least 1, otherwise this queue is empty.
Whether k represents each output port is the signal limiting output port.Such as: C i=1 represents that i-th output port and the physical link corresponding to it are limited.
The available cache memory of 2*k the next-hop node input port represented corresponding to each output port goes quantity.Such as: b i, 1, b i, 2the available cache memory of=00,01,10, the 11 next-hop node input ports just represented corresponding to i-th output port goes quantity to be 0,1,2, and 3.
Route equation is used to realize the function of routing table, for replacing the logic of routing table very succinct.
As shown in Figure 2, the route equation of the b port of node 5 is:
R b = b 1,1 · q 2 ‾ · C 2 · ( t ‾ · ( d 1 ‾ d 2 d 3 ‾ + d 1 d 2 d 3 ) + t · s · ( d 1 ‾ d 2 d 3 ‾ + d 1 d 2 d 3 ) +
t ‾ · d 1 ‾ d 2 ‾ d 3 + t · ( d 1 ‾ d 2 d 3 ‾ + d 1 d 2 d 3 ) )
= b 1,1 · q 2 ‾ · C 2 · ( d 1 ‾ d 2 d 3 ‾ + t ‾ · d 1 ‾ d 2 ‾ d 3 + d 1 d 2 d 3 )
Q 2=1 represents that the queue length of output port is at least 1. represent the packet using node 5 as intermediate node transmitted on spanning tree 8, represent the packet using node 5 as intermediate node transmitted on spanning tree 1, with represent in spanning tree 1 and produce above tree 8 using node 5 as the packet of source node.
Step S5: remove storage resources to make full use of limited buffer memory, the present invention proposes a kind of new dynamic buffering district allocation strategy.
Step S501: first buffer area resource is divided into two classes, a Lei Shi particular cache district, a Lei Shi central cache district.
Step S502: bound in particular cache district and some specific input ports, meeting each input port has a particular cache district being enough to load a packet.
Step S503: central cache district can distribute to any one input port.An input port can occupy multiple central cache district if necessary, and discharges them after data packet delivery completes.
Step S504: each buffer memory removes a flag bit being used for marking their states, whether one is used for marking them and whether is applied the flag bit taken, also have their occupied flag bit.
Step S505: go resource for the input port connecting root node and restrictive ports distributes more central cache, and then avoid these positions to become the bottleneck of network service.
The present invention's Java language achieves the above-mentioned adaptive routing method without dead based on multiple spanning tree and dynamic buffering district allocation strategy, and what be implemented also has traditional up/down method for routing, method for routing based on Duato principle, multilayer method for routing, region ordering based on the method for routing of label simultaneously.Wherein need many virtual links, so need the port for all routers all to distribute two or more buffer area based on the method for routing of Duato principle and multilayer method for routing.Scramble network topology for testing is stochastic generation, and physical link is added between network node at random under the degree meeting each node is no more than the condition of 4.
Present invention achieves all root node selection situations having three or four spanning trees in network topology.It is the processor time selected first root node in the network of 16,32,64,128,256,512 and the processor average time selected residue root node that following table 1 illustrates at nodes.
Table 1
The quantity of node 16 32 64 128 256 512
First root node 1.01 1.98 3.90 14.68 248.5 65428
All the other root nodes (3 spanning trees) 1.02 2.09 4.11 16.79 260.4 66099
All the other root nodes (4 spanning trees) 1.04 2.15 4.75 16.43 260.0 66048
Usually the performance of different routing algorithm is assessed with two amounts: transmit the delay of a packet and the maximum load of whole network.In the network having 32 nodes and 116 physical links.Traditional up/down method for routing just reaches saturation point very soon after offered load is a bit larger tham 0.1.Expansion method for routing based on Duato principle reaches saturation point when offered load is 0.24.The performance of multilayer method for routing is obviously better than traditional up/down method for routing and the expansion method for routing based on Duato principle, when offered load by 0.18 time its receptible flow slightly many with the expansion method for routing based on Duato principle.The adaptive routing method without dead based on multiple spanning tree that the present invention proposes, no matter whether apply the dynamic buffering district allocation strategy that the present invention proposes, under any circumstance performance is all obviously better than the method for routing of region ordering based on label.
In the network of 64 network nodes, 232 physical links, region ordering is better than the adaptive routing method without dead based on multiple spanning tree based on the performance of the method for routing of label, but the dynamic buffering district that its performance is all obviously worse than in all cases based on the adaptive routing method without dead of multiple spanning tree distributes version.
When the scale of network increases, above-mentioned difference will be more obvious.That is the method that the present invention proposes has better extensibility.Can find in the network of 128 network nodes, 464 physical links, when the number of spanning tree is 3, the performance of the inventive method is best.In a network, the number of best spanning tree affected by the buffer area quantity of the number of network node in network, the number of physical link and each input port.
Describe in detail below based on the concrete router implementation method of the adaptive routing method without dead of multiple spanning tree.Suppose that router has k input or output port, be exchanged for basis with VCT.As shown in Figure 4, the route header of packet comprises two flag t being used for identifying this packet and transmitting in which spanning tree 1t 2.One group of flag being used for recognition purpose node, the network such as having 16 nodes needs 4 bit-identify position d 1d 2d 3d 4represent destination node.A flag s being used for identifying a upper bar state, under showing that as s=1 upper hop is, otherwise upper hop is upper.
Flag s 1,1, s 1,2, s 2,1, s 2,2..., s k, 1, s k, 2be used for identifying the state of output link.S i,jthe state of i-th output link of=1 expression jth spanning tree is upper, otherwise under being then.After the spanning tree in network is established, flag s 1,1, s 1,2, s 2,1, s 2,2..., s k, 1, s k, 2value be exactly changeless.The rule of up/down routing algorithm must be followed to the selection of output link in whole routing procedure.That is, when the state of upper hop is upper, all output links are all alternative link, and when under the state of upper hop is, the output link under with selection mode being only.
Flag q 1, q 2..., q kalso be the state identifying the buffer area queue corresponding with output link, work as q irepresent when=1 that the length of the buffer area queue corresponding to i-th output link is at least 1, otherwise queue is empty.Here k flag C is used 1, C 2..., C kwhether k the output port come in identifier router is restrictive ports.Work as C iwhen=1, i-th port of router and the state of physical link be connected with it are constrained state.When the state of a physical link is for being subject in limited time, packet can only, when the quantity in the free buffer district of the down hop port be connected with it is more than or equal to 2, select this physical link to transmit.Flag b 1, b 2be used for representing the free buffer district quantity of output port corresponding down hop input port, work as b 1, b 2value when being respectively 00,01,10 and 11, represent that the quantity in down hop input port free buffer district is 0,1,2,3.
Whole logical routing part is also uncomplicated, and we realize the function of routing table with route and arbitration unit.The logic realizing routing table function very succinct.As shown in Figure 5, the packet being source node with node 5 can be distributed to two spanning trees by average.The concrete method of salary distribution is as follows: 5 → 1 (8) (packet transmits for source node with 5 in spanning tree 8), 5 → 6 (8), 5 → 2 (8), 5 → 3 (1), 5 → 4 (1), 5 → 8 (1), 5 → 7 (1).In our network, only have destination node to be 3,2, the transmission of the packet of 8 may through the b port of node 5.The packet 5 → 3 and 5 → 8 transmitted in spanning tree 1 have passed through restriction link.
Present consideration is using node 5 as the packet of transit node.The packet that physical link on by state being arrives node 5 can be delivered to node 3,8,2; The packet that physical link under by state being arrives node 5 can be delivered to node 3 and node 8.Like this, the route equation of the b port of node 5 is:
R b = b 1,1 · q 2 ‾ · C 2 · ( t ‾ · ( d 1 ‾ d 2 d 3 ‾ + d 1 d 2 d 3 ) + t · s · ( d 1 ‾ d 2 d 3 ‾ + d 1 d 2 d 3 ) +
t ‾ · d 1 ‾ d 2 ‾ d 3 + t · ( d 1 ‾ d 2 d 3 ‾ + d 1 d 2 d 3 ) )
= b 1,1 · q 2 ‾ · C 2 · ( d 1 ‾ d 2 d 3 ‾ + t ‾ · d 1 ‾ d 2 ‾ d 3 + d 1 d 2 d 3 )
Q 2=1 represents that the queue length of output port is at least 1, represent the packet using node 5 as intermediate node transmitted on spanning tree 8, represent the packet using node 5 as intermediate node transmitted on spanning tree 1, with represent in spanning tree 1 and produce above tree 8 using node 5 as the packet of source node.
In multiple candidate ports that routing unit provides, tendency selects the port of untethered usually, thus makes the port of down hop have more buffer area quantity.When there being two states to be the port of untethered, usually select less that of the port place node number of degrees.Because select the less node of the number of degrees often to bring less network congestion.When candidate ports quantity still more than 1 time, then at they middle Stochastic choice one, therefore selection logic of the present invention is also very simple.
The above is only the preferred embodiment of the present invention; it should be pointed out that for those skilled in the art, under the prerequisite not departing from the technology of the present invention principle; can also make some improvement and replacement, these improve and replace and also should be considered as protection scope of the present invention.

Claims (2)

1. based on an adaptive routing method without dead for multiple spanning tree, it is characterized in that, comprise the following steps:
S1, determine each root node of multiple spanning tree, and construct multiple spanning tree;
S2, by different source/destination network communication nodes to distributing to different spanning trees, make different source/destination network communication nodes to by different spanning trees transmit data;
S3, the resources circulation broken in communication network topology figure rely on, and avoid potential deadlock;
S4, in the router, uses route and arbitration unit to replace routing table;
S5, Dynamic buffer allocation strategy is adopted to described router;
Described step S1 is further comprising the steps:
S101, determine first root node, the average distance making all the other nodes be undertaken communicating by the spanning tree that is root node with it is the shortest, and described first root node obtains according to following formula:
FR = min r { Σ u , v dist r ( u , v ) } ,
Wherein, dist r(u, v) represents u node and the distance of v node in conventional up/down method for routing;
S102, determine second root node, make the nodes involved by Circular dependency of each node input port buffer area and the distance sum of all inter-node communications in communication network topology all as far as possible minimum, described second root node obtains according to following formula:
SR = Σ u , v Δdist ( u , v ) Σ c size ( c ) ,
Wherein, size (c) represents the nodes in Circular dependency, ∑ csize (c) represents all node total number involved by all Circular dependency identified, ∑ u,vΔ dist (u, v) represents the summation of the communication distance shortened between all nodes that newly-increased root node brings;
S103, determine remaining root node according to following formula:
h = Σ u , v Δdist ( u , v ) ΔT ,
ΔT = Σ c ∈ c 2 size ( c ) - Σ c ∈ c 1 size ( c ) ,
Wherein c 1and c 2the node set before newly-generated tree is set up and after setting up in network involved by Circular dependency, the communication distance that Δ dist (u, v) representative reduces between each node after newly-generated tree is set up;
Described step S3 is further comprising the steps:
S301, find in communication network topology figure may occur resources circulation rely on ring;
S302, in each ring, find restrictive ports, when described restrictive ports meets pre-defined rule, packet is allowed to be transmitted by it, when described restrictive ports does not meet pre-defined rule, do not allow packet to be transmitted by it, its pre-defined rule is that down hop port has unnecessary or equals two buffer areas;
Can determine that input port in a node is as restrictive ports according to following benefit metering formula:
m ( v i ) = Σ v i ∈ C size ( C ) ,
Wherein, the input port i of node v is the restrictive ports in Circular dependency C, and size (C) is the size of Circular dependency C, selects input port that above-mentioned benefit variable is large as restrictive ports;
S303, when the benefit variable of two input ports is equal, select input port in the little node of the number of degrees as restrictive ports;
S304, after selecting each restrictive ports, the benefit variable of each port of each node will upgrade, and the node namely comprised in the Circular dependency broken all will deduct the size of Circular dependency with the circulation variable of the input port in these nodes;
S305, repeat above step, until all Circular dependency are all broken;
Described step S4 is further comprising the steps:
S401, the packet through the some ports of router is divided into two classes: the packet that wherein a class is is source node with this router; Another kind ofly be through this router, the packet being intermediate node with this router;
S402, the packet that is source node with this router is specifically transmitted spanning tree classification at place according to it, situation being expressed as in route equation by the packet being source node with this router is classified according to the spanning tree that it specifically transmits place: represent that the flag bit of spanning tree is multiplied by the flag bit sum of each destination node of described packet in this spanning tree, if the packet being source node with this router is restrictive ports through the output port of this router in this spanning tree, then also need to be multiplied by restrictive ports flag bit;
S403, by being intermediate node with this router, packet is divided into two classes according to the state of the physical link arriving this router: wherein a class be through state be on physical link arrive the packet of this router; Another kind of be through state be under physical link arrive the packet of this router;
S404, the packet arriving this router with the physical link of this router for intermediate node and on state is specifically is transmitted spanning tree classification at place according to it, the packet arriving this router with the physical link of this router for intermediate node and on state is specifically is transmitted situation being expressed as in route equation of spanning tree classification at place according to it: represent that the flag bit of spanning tree is multiplied by the flag bit sum of each destination node of described packet in this spanning tree, if the packet arriving this router with the physical link of this router for intermediate node and on state is through the output port of this router in this spanning tree for restrictive ports, then also need to be multiplied by restrictive ports flag bit,
S405, the packet arriving this router with the physical link of this router for intermediate node and under state is specifically is transmitted spanning tree classification at place according to it, the packet arriving this router with the physical link of this router for intermediate node and under state is specifically is transmitted situation being expressed as in route equation of spanning tree classification at place according to it: represent that the flag bit of spanning tree is multiplied by the flag bit sum that upper hop flag bit is multiplied by each destination node of described packet in this spanning tree again, if the packet arriving this router with the physical link of this router for intermediate node and under state is through the output port of this router in this spanning tree for restrictive ports, then also need to be multiplied by restrictive ports flag bit,
S406, the expression formula in each route equation above-mentioned is added and is multiplied by down hop free buffer distinctive emblem position again, then be multiplied by the negate of output port buffer area queue length flag bit;
Described step S5 is further comprising the steps:
S501, buffer area resource is divided into two classes, a Lei Shi particular cache district, another kind of is central cache district;
S502, particular cache district and some specific input ports to be bound, make each input port have a particular cache district being enough to load a packet;
S503, central cache district can distribute to any one input port;
S504, each buffer area be provided with a flag bit being used for marking its state, one be used for marking it and whether be applied its whether occupied flag bit of the flag bit that takies and mark;
S505, distribute more central cache area resource for the input port connecting root node and restrictive ports.
2. the method for claim 1, is characterized in that, described step S2 is further comprising the steps:
S201, one group of source/destination network communication node is communicated with the shortest spanning tree of distance to distributing to;
The network communication node of S202, identical sources node, different destination node gives different spanning trees to equilibrium assignment;
S203, when one group of source/destination network communication node to the communication distance in multiple spanning tree be all minimum and equal time, by this group source/destination network communication node to distributing to any one spanning tree.
CN201310017506.9A 2013-01-17 2013-01-17 Based on the adaptive routing method without dead of multiple spanning tree Active CN103095588B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310017506.9A CN103095588B (en) 2013-01-17 2013-01-17 Based on the adaptive routing method without dead of multiple spanning tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310017506.9A CN103095588B (en) 2013-01-17 2013-01-17 Based on the adaptive routing method without dead of multiple spanning tree

Publications (2)

Publication Number Publication Date
CN103095588A CN103095588A (en) 2013-05-08
CN103095588B true CN103095588B (en) 2015-09-30

Family

ID=48207741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310017506.9A Active CN103095588B (en) 2013-01-17 2013-01-17 Based on the adaptive routing method without dead of multiple spanning tree

Country Status (1)

Country Link
CN (1) CN103095588B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079490B (en) * 2014-06-27 2017-09-22 清华大学 Multi-level dragonfly interference networks and adaptive routing method
CN107870949B (en) * 2016-09-28 2021-09-07 腾讯科技(深圳)有限公司 Data analysis job dependency relationship generation method and system
CN109120537B (en) * 2017-06-23 2020-10-16 迈普通信技术股份有限公司 Multicast tree calculation method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1754410A (en) * 2003-02-28 2006-03-29 思科技术公司 Industrial Ethernet switch
CN1820463A (en) * 2002-10-24 2006-08-16 思科技术公司 Large-scale layer 2 metropolitan area network
CN101247253A (en) * 2008-03-21 2008-08-20 清华大学 Multi-cast transmission method based on virtual distribution network in IP network
CN101488922A (en) * 2009-01-08 2009-07-22 浙江大学 Network-on-chip router having adaptive routing capability and implementing method thereof
CN101834789A (en) * 2010-04-15 2010-09-15 南京大学 Packet-circuit exchanging on-chip router oriented rollback steering routing algorithm and router used thereby
CN102170402A (en) * 2011-05-31 2011-08-31 清华大学 A deadlock-free adaptive routing algorithm in a Torus network
EP1162788B1 (en) * 2000-06-09 2012-11-21 Broadcom Corporation Trunking and mirroring across stacked gigabit switches

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7830793B2 (en) * 2004-10-22 2010-11-09 Cisco Technology, Inc. Network device architecture for consolidating input/output and reducing latency

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1162788B1 (en) * 2000-06-09 2012-11-21 Broadcom Corporation Trunking and mirroring across stacked gigabit switches
CN1820463A (en) * 2002-10-24 2006-08-16 思科技术公司 Large-scale layer 2 metropolitan area network
CN1754410A (en) * 2003-02-28 2006-03-29 思科技术公司 Industrial Ethernet switch
CN101247253A (en) * 2008-03-21 2008-08-20 清华大学 Multi-cast transmission method based on virtual distribution network in IP network
CN101488922A (en) * 2009-01-08 2009-07-22 浙江大学 Network-on-chip router having adaptive routing capability and implementing method thereof
CN101834789A (en) * 2010-04-15 2010-09-15 南京大学 Packet-circuit exchanging on-chip router oriented rollback steering routing algorithm and router used thereby
CN102170402A (en) * 2011-05-31 2011-08-31 清华大学 A deadlock-free adaptive routing algorithm in a Torus network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive bubble router: a design to improve performance in torus networks;Puente, V. 等;《Parallel Processing, 1999》;19990924;第58-67页 *
Multiple spanning tree construction for deadlock-free adaptive routing in irregular networks;D. Xiang and J. Han;《10th IEEE Int. Symp. On Parallel and Distributed Processing with Application》;20120713;第9-16页 *

Also Published As

Publication number Publication date
CN103095588A (en) 2013-05-08

Similar Documents

Publication Publication Date Title
CN100417138C (en) Load sharing method
CN107294852B (en) Network routing method using topology dispersed short path set
US8098583B2 (en) Network having multiple QoS levels
CN101180841B (en) electronic device and method of communication resource allocation
CN102217238A (en) Service instance applied to mpls networks
CN105871722A (en) Tag structure and tag message forwarding method and device
JP2016503594A (en) Non-uniform channel capacity in the interconnect
CN106105130A (en) Carry the source routing of entropy head
EP3186928B1 (en) Bandwidth-weighted equal cost multi-path routing
CN102035735A (en) Device and method for providing forwarding and qos information
CN103095588B (en) Based on the adaptive routing method without dead of multiple spanning tree
CN103380597A (en) Asymmetric ring topology for reduced latency in on-chip ring networks
CN107302396B (en) Network route planning method between dynamic star based on mixed strategy
CN107342939A (en) The method and apparatus for transmitting data
US8908526B2 (en) Controlled interconnection of networks using virtual nodes
US20060215660A1 (en) Device and a method for generating routing messages for a GMPLS control plane communications network
CN104601473A (en) Route generating method and system for multi-target path with restriction
RU2636665C1 (en) Method of multipath routing using data traffic flow splitting
CN103597786A (en) Method of and apparatus for configuring quality of service
CN103609063A (en) Protocol independent multicast last hop router discovery
US11722406B2 (en) Route selection based on buffer congestion
CN110324249B (en) Dragonfly network architecture and multicast routing method thereof
US20170171085A1 (en) Traffic Engineering System and Method for a Communications Network
Raszhivin et al. Deterministic scheduling of SpaceWire data streams
CN102316527A (en) Multi-path ad hoc on-demand distance vector (AODV) routing method based on service quality sensing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant