Summary of the invention
The switch constructing software definition data center network for the connection tree lacking the multiple controller of deployment in prior art forms the synchronous problem of minimum cost, the object of the invention is to the minimum cost synchronous method proposing a kind of controller based on software definition data center network, minimum cost isochronous controller can be used, form the effective technology scheme that the multiple controller of a set of logic centre physical distribution controls switch plane, make that Switch control plane is little from the ability of single controller, reliability is low and the restriction such as poor expandability.
According to an aspect of the present invention, a kind of minimum cost synchronous method of the controller based on software definition data center network is provided.
Minimum cost synchronous method according to the controller based on software definition data center network provided by the invention comprises: in software definition data center network, build Jellyfish topology, generate the random regular graph of switch, determine the linking relationship between switch, the 1-obtaining random regular graph covers the minimal set with 2-overlay controller; According to the minimal set of 1-overlay controller, the Multistage Graph under structure Jellyfish topology; Reached at the length restriction between any pair domination switch, the existing connection restriction connecting restriction, controller of data center is determined in the minimal set of 1-overlay controller; Determine reached at the length restriction between any pair domination switch, the existing connection restriction connecting restriction, controller of data center in minimal set according to 1-overlay controller, with the Multistage Graph under Jellyfish topology, construct minimum steiner and set; When the one or more 1-overlay controllers in minimum steiner tree lost efficacy, each switch of covering of inefficacy 1-overlay controller covered by the corresponding controller in 2-overlay controller corresponding to switch.
Wherein, the Multistage Graph under structure Jellyfish topology comprises: set up retrieval queue, all nodes are added retrieval queue; Select any one node as the source node of 0 grade and shift out retrieval queue; Source node be set to present node and retrieve all nodes in queue successively, be the child node being set to present node by all adjacent nodes of source node, node level is that present node grade adds one, and newly-installed child node is shifted out retrieval queue; Newly-installed child node is set to present node and again performs previous action, until stop when retrieval queue is empty.
Wherein, determine that reached at the length restriction between any pair domination switch, data center existingly connect restriction, the connection restriction of controller comprises: obtain the Number of Available/Faulty Ports of each switch in the sum of switch in software definition data center network, software definition data center network, each switch is used for the port number interconnected with other switch, build the random regular graph of Jellyfish topology, according to the set of link between switch in the set of switch in data center, random regular graph, obtain the topological non-directed graph between switch, 1-covers the minimal set with 2-overlay controller, according to the topological non-directed graph between switch, 1-covers the minimal set with 2-overlay controller, whether obtain expression switch is a binary vector arranging switch, represent whether a switch covers the binary vector of another switch, represent the time delay matrix from a switch to the propagation delay of another switch, represent the traffic matrix of the quantity mailing to the average stream of another switch in one second from a switch, the maximum quantity of each switch treatable stream per second, from the propagation delay that a switch allows to domination switch, deploy the domination switch set of controller, represent the matrix of steiner tree, represent the reachability matrix of path between any a pair node, according to the binary vector whether expression switch is a domination switch, represent whether a switch covers the binary vector of another switch, represent the time delay matrix from a switch to the propagation delay of another switch, represent the traffic matrix of the quantity mailing to the average stream of another switch in one second from a switch, the maximum quantity of each switch treatable stream per second, from the propagation delay that a switch allows to domination switch, deploy the domination switch set of controller, represent the matrix of steiner tree, represent the reachability matrix of path between any a pair node, obtain the restrictive condition of minimum fault-tolerant covering.
Wherein, reached at the length restriction between any pair domination switch, the existing connection restriction connecting restriction, controller of data center is determined in minimal set according to 1-overlay controller, with the Multistage Graph under Jellyfish topology, construct minimum steiner tree to comprise: according to the node level descending in Multistage Graph, retrieve all nodes successively; If be retrieved, node is associated with an isochronous controller, or the node that is retrieved is via node, then choose this node that is retrieved; If be retrieved, node is via node, and the node that is retrieved exists the father node that is also via node, then this edge be retrieved between node and father node is by selected; If be retrieved, node is via node, and it is also the father node of via node that the node that is retrieved does not exist, and the node that is retrieved exists the brotgher of node that one is also via node, then this edge be retrieved between node and the brotgher of node is by selected; If be retrieved, node is via node, and it is also father node or the brotgher of node of via node that the node that is retrieved does not exist, then from the father node of the node that is retrieved, random choose goes out a father node, and this father node is set to via node; Retrieve all nodes successively, until source node is examined, all limits chosen form minimum steiner and set.
In addition, the minimal set of the 1-overlay controller and 2-overlay controller that obtain described random regular graph comprises: in software definition data center network, build Jellyfish topology, generate the random regular graph of switch, determine the linking relationship between switch, obtain the minimal set of the 1-overlay controller of random regular graph; Determine that the capabilities limits of each controller, switch limit to the propagation delay of its domination switch, the 2-coverage limitation of switch, controller before remain valid restriction; Limit to the propagation delay of its domination switch according to the capabilities limits of the linking relationship between the total number of switch, switch, each controller, switch, the 2-coverage limitation of switch, the minimal set of 1-overlay controller, calculate the controller set of minimum fault-tolerant covering.
Wherein, determine that the capabilities limits of each controller, switch limit to the propagation delay of its domination switch, the restriction of remaining valid of the 2-coverage limitation of switch, controller before comprises: obtain the Number of Available/Faulty Ports of each switch in the sum of switch in software definition data center network, software definition data center network, each switch is used for the port number interconnected with other switch, build the random regular graph of Jellyfish topology, according to the set of link between switch in the set of switch in data center, random regular graph, obtain the minimal set of topological non-directed graph between switch and 1-overlay controller, according to the minimal set of the topological non-directed graph between switch and 1-overlay controller, whether obtain expression switch is a binary vector arranging switch, represent whether a switch covers the binary vector of another switch, represent the time delay matrix from a switch to the propagation delay of another switch, represent the traffic matrix of the quantity mailing to the average stream of another switch in one second from a switch, the maximum quantity of each switch treatable stream per second, from the propagation delay that a switch allows to domination switch, deploy the domination switch set of controller, according to expression switch be whether a domination switch binary vector, represent a switch whether cover another switch binary vector, represent time delay matrix from a switch to the propagation delay of another switch, represent in one second and mail to the traffic matrix of the quantity of the average stream of another switch, the maximum quantity of each switch treatable stream per second, the propagation delay allowed to domination switch from a switch, the domination switch set that deploys controller from a switch, obtain the restrictive condition of minimum fault-tolerant covering.
Wherein, the controller set calculating minimum fault-tolerant covering comprises: the neighbor switch obtaining each switch, check each switch successively according to the mode of breadth-first search, if switch has been covered by two domination switches and this switch itself is not domination switch, then skip this switch and check next switch, if switch has been covered by two domination switches and this switch itself is domination switch, and quantity of switch that this domination switch covers has exceeded the ability of controller, then skip this switch and check next switch, if a switch has been covered by two domination switches or has only been covered by a domination switch, and this switch itself is domination switch, and the quantity of the switch of this domination switch covering has not exceeded the ability of controller, then carry out retrieving not yet by the covering of domination switch or only by a neighbor switch of a switch covering in the neighbor switch of this switch, if the jumping figure that the neighbor switch of domination switch allows to the time delay of arranging switch beyond time delay, then skip neighbor switch, continue retrieval next neighbor switch otherwise, domination switch covers neighbor switch, and the controller ability of arranging switch will reduce 1, continue the next neighbor switch of retrieval, until neighbor switch is all detected, if a switch is not yet capped or is only covered by a domination switch, and this switch itself is not domination switch, it is selected as a domination switch, directly be connected with a controller, and carry out retrieving not yet by the covering of domination switch or only by a neighbor switch of a switch covering in the neighbor switch of this switch, if the jumping figure that the neighbor switch of domination switch allows to the time delay of arranging switch beyond time delay, then skip neighbor switch, continue retrieval next neighbor switch otherwise, domination switch covers neighbor switch, and the controller ability of arranging switch will reduce 1, continue the next neighbor switch of retrieval, until neighbor switch is all detected.
In addition, in software definition data center network, build Jellyfish topology, generate the random regular graph of switch, determine linking relationship between switch and the minimal set obtaining the 1-overlay controller of random regular graph comprises: in software definition data center network, build Jellyfish topology, generate the random regular graph of switch, determine the linking relationship between switch; Determine that the capabilities limits of each controller, switch limit to the propagation delay of its domination switch, the coverage limitation of switch; Limit to the propagation delay of its domination switch according to the capabilities limits of the linking relationship between the total number of switch, switch, each controller, switch, the coverage limitation of switch, calculate the controller set of minimum vertex-covering.
Wherein, determine the linking relationship between switch, determine the capabilities limits of each controller, switch limits to the propagation delay of its domination switch, the coverage limitation of switch comprises: obtain the Number of Available/Faulty Ports of each switch in the sum of switch in software definition data center network, software definition data center network, each switch is used for the port number interconnected with other switch, build the random regular graph of Jellyfish topology; According to the set of link between switch in the set of switch in data center, random regular graph, obtain the topological non-directed graph between switch; According to the topological non-directed graph between switch, obtain binary vector that whether expression switch is a domination switch, represent a switch whether cover another switch binary vector, represent time delay matrix from a switch to the propagation delay of another switch, represent in one second and mail to the traffic matrix of the quantity of the average stream of another switch, the maximum quantity of each switch treatable stream per second, the propagation delay that allows to domination switch from a switch from a switch; According to expression switch be whether a domination switch binary vector, represent a switch whether cover another switch binary vector, represent time delay matrix from a switch to the propagation delay of another switch, represent in one second and mail to the traffic matrix of the quantity of the average stream of another switch, the maximum quantity of each switch treatable stream per second, the propagation delay that allows to domination switch from a switch from a switch, obtain the restrictive condition of minimum vertex-covering.
Wherein, the controller set calculating minimum vertex-covering comprises: the neighbor switch obtaining each switch; Check each switch successively according to the mode of breadth-first search, if a switch is not also controlled by any controller, it is selected as a domination switch, is directly connected with a controller; Domination switch is judged, if the quantity of the switch of domination switch covering has exceeded the ability of controller, then stops the search to domination switch, continued the next switch of retrieval; Select a neighbor switch of domination switch, and domination switch is judged, if the jumping figure that the neighbor switch of domination switch allows beyond time delay to the time delay of arranging switch, then skip neighbor switch, continue the next neighbor switch of retrieval; Otherwise domination switch covers neighbor switch, and the controller ability of arranging switch will reduce 1, continue the next neighbor switch of retrieval, until neighbor switch is all detected.
As can be seen from above, technical scheme provided by the invention, by using algorithm G to construct Multistage Graph and using algorithm AMG to meet the restrictive condition of smallest synchronization cost problem, arranges and is used for the shortest multicast tree of synchronous localized network view.The solution of multi-controller cooperation in the Switch control plane that the method constitutes complete set, make that Switch control plane is little from the ability of single controller, reliability is low and the impact such as poor expandability, and there is higher universality, this method can be applied in other the data center centered by switch.
Embodiment
Clearly understand for making the object, technical solutions and advantages of the present invention, below in conjunction with the accompanying drawing in the embodiment of the present invention, to the technical scheme in the embodiment of the present invention carry out further clear, complete, describe in detail, obviously, described embodiment is only the present invention's part embodiment, instead of whole embodiments.Based on the embodiment in the present invention, the every other embodiment that those of ordinary skill in the art obtain, all belongs to the scope of protection of the invention.
In order to carry out the innovation of network virtualization and application better, the thought of software defined network can be applied in data center network.Traditional software defined network depends on the controller of a centralization, and the performance of this controller and extensibility are all limited.Although there are some ideas recently, want to use multiple controller to control general network, SDDN also lacks an extendible and reliable datum plane.When introducing multiple controller to SDDN, will bring the problem that new, we are called the covering problem of controller, comprise minimal covering, minimum cost state synchronized problem between minimum fault-tolerant covering problem and controller.
Minimal covering finds enough controllers and their position of minimum number, thus guarantees that each switch is at least controlled by a controller.For solving minimal covering, first we set forth the overlay model of single controller and carried out modeling to the minimal covering of SDDN middle controller.This needs the position finding the controller effectively of minimum number and them to be deployed, and guarantees that each switch is at least controlled by a controller.Can prove, this problem is a np complete problem, there is not optimal solution, and therefore we propose an approximate data under Jellyfish topology.It should be noted that, not The more the better at SDDN middle controller, more controller not only can cause extra cost, and complexity when can increase synchronous between controller, makes the work efficiency drop of SDDN on the contrary.
Minimum fault-tolerant covering problem finds controller and their position of minimum number, thus guarantee that each switch is at least controlled by two controllers, like this, when master controller lost efficacy time, each switch that it controls will take over by another controller.Minimum fault-tolerant covering problem is normally for designed by inefficacy common in data center, any inefficacy caused by master server or relevant switch or the link that is connected to switch all will make a controller not work normally, and can not be processed the new stream of arrival by the switch that these controllers lost efficacy cover.In order to the minimum fault-tolerant covering problem of the inefficacy and the SDDN middle controller proposed of resisting controller is also a np complete problem, therefore under the topology of Jellyfish, we further devise an approximate data.
In the distributed control plane of multiple controller, application in order to ensure Control Cooling can make correct controlling behavior, these application need the consistent normal operation of network view ability of an overall situation, have between controller their localized network view synchronous, this just brings the minimum cost state synchronized problem between controller.Controller needs their localized network view synchronous continually, and for the network bandwidth limited in data center, this will cause sizable network link and transship, and cause synchronizing relay, thus cause the control decision of a suboptimum.Therefore, synchronous overload is reduced and delay is very important.Traditional synchronous between n controller will cause n
2individual unicast transmission.We replace such unicast transmission with n individual to many multicast transmission.Multicast is relevant with minimum steiner tree problem, and in the data center of a Jellyfish, this is a np complete problem equally, we devise an approximate data effectively to reduce due to controller between the traffic load that produces of state synchronized.
Simulated experiment and assessment result show in large quantities, the quantity of the controller that our method can be effectively required, improve the fault-tolerant ability of control plane and reduce cost and the load of state synchronized.It is pointed out that method disclosed herein revises the network configuration that just may be used on other is a little in the data center network centered by switch.
As shown in Figure 1, the minimum vertex-covering dispositions method of the controller based on software definition data center network provided according to embodiments of the invention comprises:
Step S101, builds Jellyfish topology in software definition data center network, generates the random regular graph of switch, determines the linking relationship between switch;
Step S103, determines that the capabilities limits of each controller, switch limit to the propagation delay of its domination switch, the coverage limitation of switch;
Step S105, limit to the propagation delay of its domination switch according to the capabilities limits of the linking relationship between the total number of switch, switch, each controller, switch, the coverage limitation of switch, calculate the controller set of minimum vertex-covering.
Wherein, determine the linking relationship between switch, determine the capabilities limits of each controller, switch limits to the propagation delay of its domination switch, the coverage limitation of switch comprises: obtain the Number of Available/Faulty Ports of each switch in the sum of switch in software definition data center network, software definition data center network, each switch is used for the port number interconnected with other switch, build the random regular graph of Jellyfish topology; According to the set of link between switch in the set of switch in data center, random regular graph, obtain the topological non-directed graph between switch; According to the topological non-directed graph between switch, obtain binary vector that whether expression switch is a domination switch, represent a switch whether cover another switch binary vector, represent time delay matrix from a switch to the propagation delay of another switch, represent in one second and mail to the traffic matrix of the quantity of the average stream of another switch, the maximum quantity of each switch treatable stream per second, the propagation delay that allows to domination switch from a switch from a switch; According to expression switch be whether a domination switch binary vector, represent a switch whether cover another switch binary vector, represent time delay matrix from a switch to the propagation delay of another switch, represent in one second and mail to the traffic matrix of the quantity of the average stream of another switch, the maximum quantity of each switch treatable stream per second, the propagation delay that allows to domination switch from a switch from a switch, obtain the restrictive condition of minimum vertex-covering.
Wherein, the controller set calculating minimum vertex-covering comprises: the neighbor switch obtaining each switch; Check each switch successively according to the mode of breadth-first search, if a switch is not also controlled by any controller, it is selected as a domination switch, is directly connected with a controller; Domination switch is judged, if the quantity of the switch of domination switch covering has exceeded the ability of controller, then stops the search to domination switch, continued the next switch of retrieval; Select a neighbor switch of domination switch, and domination switch is judged, if the jumping figure that the neighbor switch of domination switch allows beyond time delay to the time delay of arranging switch, then skip neighbor switch, continue the next neighbor switch of retrieval; Otherwise domination switch covers neighbor switch, and the controller ability of arranging switch will reduce 1, continue the next neighbor switch of retrieval, until neighbor switch is all detected.
In order to improve the topology of the traditional similar tree of data center, the topology of some flattenings is suggested, and this method uses a representational flat topological Jellyfish centered by switch as the data center network of basic software definition.In Jellyfish topology, all switches form a random regular graph.If each switch comprises k available port, the r in k port is carried out interconnected with other switch, and a remaining k-r port is used to connection server and carries out exchanges data work, wherein 0<r<k.Shown in Fig. 4 is a topological diagram having the Jellyfish of 12 switches, and each switch uses 3 ports to connect other switch.A random regular graph can be expressed as RRG (N, k, r), and wherein N is the quantity of switch.
With the switch that controller is directly connected, we are called that is arranged a switch by one.Domination switch covers all switches that this controller controls, and comprises itself.If a switch is that c jumps to the distance that is arranged switch, and this domination switch covers this switch, and we claim this domination exchange function c-to cover this switch.
The precondition function of data center network being applied to SDDN be each switch at least control by the controller.Illustrate above, limited in one's ability due to controller, in large-scale data center, use a controller to control all switches is unpractiaca, and controller can only a part of switch at heart in control data.If a controller controls too many switch, this controller will become the bottleneck of network application.That is, the ability of controller determines the quantity of the switch that it can control.
Propagation delay limits the quantity of the switch that controller can control from another aspect.Usually can think, propagation delay determined to the distance of a general switch by the domination switch of controller.For given threshold value c, switch is to the distance of the domination switch of controller within c jumps and in the capacity of controller is enough, this switch just likely can control by this controller, in this case, this domination exchanges function c-and covers this switch.Shown in Fig. 5 is a 1-Overlay Topology figure having the Jellyfish of 12 switches, and the restriction of time delay is 1 jumping in Figure 5, and each controller can control 4 switches simultaneously, connecting line arrow points direction be controller controlling party to.For domination switch switch
1, switch
1connecting line arrow points switch
1, switch
2, switch
3and switch
9, i.e. switch
1controller 1-cover switch
1, switch
2, switch
3and switch
9.This illustrates that the ability of propagation delay and controller limits the number of the switch that a controller can control jointly.
According to the overlay model of single controller, SDDN should provide a distributed control plane be made up of multiple controller.The minimal covering of SDDN middle controller is the number and their position that determine controller, thus guarantees that each switch is controlled by least one controller.We determine, domination switch can cover all switches of controlling by this corresponding controller, comprise it self.Therefore, the minimal covering of controller has been converted into the minimal set found domination switch and form.In Figure 5, all domination switches represent with square, and general switch represents with circle, then { switch as shown in Figure 5
1, switch
4, switch
6, switch
7, switch
10the minimal set of this domination switch, this set can all switches at heart in 1-cover data.The set of given minimum switch, then the deployed position of controller can find according to the simple mode of one.Each domination switch distributes the master server of a seat controls in the server be connected with it.Clearly, minimum vertex-covering is fully necessary: after any one switch in domination switch is removed, will have some switches can not be capped; Similarly, if any one domination switch be instead of by another, such as, switch is used
8substitute switch
1after can cannot ensure that each switch is controlled; After having met minimum vertex-covering, also there is no need to dispose more controller.
In order to the minimal covering of formalization controller, we can represent the set of switch in data center with N, E represents the set of link between switch.Like this, the topology between switch is modeled as a non-directed graph G (N, E).Use binary vector X=< x
1, x
2..., x
| N|> represents whether a switch is a domination switch.If x
j=1, represent switch
jit is a domination switch; Otherwise, switch
jit not a domination switch.Define another binary vector Y=[y
ij]
| N| × | N|, y
ij=1 represents switch
jbe a domination switch and switch
jcover switch
i.T=[t
im]
| N| × | N|represent a traffic matrix, t
imrepresent in one second from switch
imail to switch
mthe quantity of average stream.Meanwhile, the ability of given each controller, k represents the maximum quantity of each switch treatable stream per second.Definition D=[d
ij]
| N| × | N|represent time delay matrix, d
ijrepresent from switch
ito switch
jpropagation delay.We also suppose, from switch
ito domination switch switch
jthe propagation delay allowed is ε.
The optimization aim of this covering problem is the quantity minimizing controller, namely arranges the quantity of switch, represents such as formula (1):
minΣ
f∈Nx
j(1)
Meanwhile, in order to ensure a feasible solution, restrictive condition (2) below should be satisfied to (7).
Inequality (2) can ensure that controller can process the computation requests of the flow path of all switches that he controls; Inequality (3) can ensure that the propagation delay from a switch to its domination switch can not exceed given threshold value; Inequality (4) and (5) can guarantee each switch at least control by the controller; Formula (6) and (7) present two two-dimentional variable x
jand y
ij.
Above-mentioned optimization problem is an integral linear programming problem, and integral linear programming problem is a famous np complete problem, and this problem can not be solved in polynomial time.Therefore we devise the optimal solution that a special method carrys out this problem approximate.
Minimal covering in SDDN described in this method is different from traditional disposal problem and covering problem.Traditional disposal problem point referred in dominant set can arrange its 1 hop neighbor; Traditional covering problem refers to and can cover the limit be connected with it.For the minimal covering in SDDN, a domination switch, except covering its 1 hop neighbor switch, it can also cover the farther switch in its coverage, and namely the control range of each controller may be jumped more than 1.And, even if the restriction of propagation delay can be satisfied, if but controller does not have enough abilities, so those switches can not control by this controller.That is, the minimal covering in SDDN has and more limits demand fulfillment.Therefore, by using traditional disposal problem and the solution of covering problem simply, this problem can not be solved well.
Therefore, all must be controlled based on all switches, we have proposed an approximate data, be expressed as ACC.The input of algorithm ACC comprises, the topological G of Jellyfish, the number N of switch, and each switch is used for the port number d interconnected with other switch, can meet the jumping figure r of time delay restriction, the ability u of each controller.Note, the number of the switch that the ability of a controller is controlled by it represents.The time delay restriction of every bar stream, is represented by the jumping figure of switch to corresponding controller.
Algorithm ACC can be expressed as follows by false code:
Show as algorithm ACC, first we obtain the neighbor switch of each switch from the topological G of data center.Then, we check each switch successively.If a switch is not also controlled by any controller, it is selected as a domination switch and directly will be connected with a controller.This domination switch will recursively cover some switches by call function Control, and function Control performs according to the mode of breadth-first search.If the quantity of the switch of the jumping figure that the degree of depth of recurrence allows beyond time delay or covering has exceeded the ability of controller, the search of function Control will be terminated.In each recursion period, each j hop neighbor of domination switch will be checked successively.J represents the degree of depth of recurrence.If the switch of a j hop neighbor is not also controlled, this domination switch will cover it, and the ability of corresponding controllers will reduce 1.
Can prove, algorithm ACC can ensure each switch in data center at least cover by the controller.Apparently, the term of execution of our algorithm ACC, each switch will be examined.If a switch is not also controlled, controller will be deployed on a station server that this switch connects, and this switch will become a domination switch, and this new domination switch covers itself and other some switches.In this manner, algorithm ACC can ensure, at the end of algorithm, all switches all will be controlled.
For algorithm ACC, in the data center of software definition, h is allowed to represent the maximum quantity of the switch of a controller working control.The time complexity of function Control is O (h).Principal function has a circulation, and time complexity is O (N), the number of switch at heart in N representative data.Therefore, the time complexity of algorithm ACC is O (N × h).
Analog result shows, algorithm ACC has good performance.We are in required amount controller, the performance of assessment algorithm ACC and random algorithm.Under often kind of configuration, these two algorithm operatings more than 100 are taken turns, and we compare the par of the controller that they use.Random algorithm thought is behind the position of Stochastic choice controller, and it can control all switch segments by overlay model.If when having at least a switch not have controlled, a new controller will by random placement.This algorithm repeat, until each switch in the data the heart controlled by least one controller.
First, we have evaluated algorithm ACC in the data the heart scale change time performance.Result shows, no matter the scale of data center, and algorithm ACC always utilizes the controller than random algorithm much less.
Clearly, the ability of a controller directly has influence on the controller of requirement.The cluster of 1500 station servers shows that intermediate value stream arrival rate is 100k per second, and the average generation rate of a stream is per second 67 on one server.When a switch with 24 ports wherein have 8 with other switches interconnected, a switch can connect 16 servers, and intermediate value stream arrival rate is 1072 per second.In addition, controller alone can process at least 30k per second and flows.Therefore, the ability being easy to calculate controller is 27.That is, a controller can control 27 switches.In addition, a controller can control the switch of 2 long-jumps farthest, so to meet the constraint of propagation delay.
Fig. 7 shows, when each switch retains 8 ports to connect other switches, have nothing to do in the quantity of switch, algorithm ACC always disposes the controller fewer than random algorithm.In addition, the quantity of controller that deploys of algorithm ACC is close to a lower bound.This lower bound is the ratio of sum to the ability of a controller of switch.The control range of controller may be overlapping, and the number ratio lower bound of the controller therefore needed for best solution also wants many.Therefore, the solution of algorithm ACC is also close to optimal solution.The controller of requirement increases from during 100 to 1000 change in the quantity of switch, and namely data center's scale is increased to 16000 from 1600.In order to the impact of measurement port allocation strategy, we make each switch retain 12 ports connection switches further, can as can be seen from Figure 8, and algorithm ACC is still better than random algorithm, the quantity of irrelevant switch.In addition, the amount controller of algorithm ACC is closer to theory lower bound.When the quantity of the port connecting switch is set to other values, also achieve similar result.
Secondly, the performance of we assessment algorithm ACC under the different ability of controller.Always we find that controller that algorithm ACC utilizes is than random algorithm much less, no matter the ability of a controller how.
A given Jellyfish structure is with the data center of 1000 switches, and controller ability is from 10 to 50 changes.That is, controller quantitative range of switch that can control is from 10 to 50.In order to meet the constraint of propagation delay, the coverage of each controller is maximum 2 jumpings.Distribute under 8 or 12 ports connect the condition of other switch at each switch, the performance of our assessment algorithm ACC and random algorithm.
Fig. 9 shows, when each switch retains 8 ports to connect other switches, algorithm ACC always utilizes the controller more less than random algorithm.In addition, when the control range ability of controller is from 10 to 60 change, the quantity of our algorithm and the controller needed for random algorithm all can reduce thereupon.But when the ability of a controller is increased to 50, the quantity of required controller can not continue to decline, and reason is, the coverage of each controller becomes main influencing factor.Although a controller has enough abilities, other switches too far away apart from this controller do not meet the constraint of propagation delay.In order to the impact of the allocation strategy of measurement port, we allow each switch distribute 12 ports to connect switches, and as seen from Figure 10, algorithm ACC is still better than random algorithm, and no matter the ability of each controller how.When the port number connecting switch is set to other values, similar result also there will be.
It can thus be appreciated that algorithm ACC always disposes the controller more less than random algorithm.In addition, when the ability of a controller is more than a threshold value, the principal element affecting amount controller becomes the connection quantity of switch ports themselves and the constraint of propagation delay.
As shown in Figure 2, the minimum fault-tolerant covering part arranging method of the controller based on software definition data center network provided according to embodiments of the invention comprises:
Step S201, builds Jellyfish topology in software definition data center network, generates the random regular graph of switch, determines the linking relationship between switch, obtain the minimal set of the 1-overlay controller of random regular graph;
Step S203, determines that the capabilities limits of each controller, switch limit to the propagation delay of its domination switch, the 2-coverage limitation of switch, controller before remains valid restriction;
Step S205, limit to the propagation delay of its domination switch according to the capabilities limits of the linking relationship between the total number of switch, switch, each controller, switch, the 2-coverage limitation of switch, the minimal set of 1-overlay controller, calculate the controller set of minimum fault-tolerant covering.
Wherein, determine that the capabilities limits of each controller, switch limit to the propagation delay of its domination switch, the restriction of remaining valid of the 2-coverage limitation of switch, controller before comprises: obtain the Number of Available/Faulty Ports of each switch in the sum of switch in software definition data center network, software definition data center network, each switch is used for the port number interconnected with other switch, build the random regular graph of Jellyfish topology, according to the set of link between switch in the set of switch in data center, random regular graph, obtain the minimal set of topological non-directed graph between switch and 1-overlay controller, according to the minimal set of the topological non-directed graph between switch and 1-overlay controller, whether obtain expression switch is a binary vector arranging switch, represent whether a switch covers the binary vector of another switch, represent the time delay matrix from a switch to the propagation delay of another switch, represent the traffic matrix of the quantity mailing to the average stream of another switch in one second from a switch, the maximum quantity of each switch treatable stream per second, from the propagation delay that a switch allows to domination switch, deploy the domination switch set of controller, according to expression switch be whether a domination switch binary vector, represent a switch whether cover another switch binary vector, represent time delay matrix from a switch to the propagation delay of another switch, represent in one second and mail to the traffic matrix of the quantity of the average stream of another switch, the maximum quantity of each switch treatable stream per second, the propagation delay allowed to domination switch from a switch, the domination switch set that deploys controller from a switch, obtain the restrictive condition of minimum fault-tolerant covering.
Wherein, the controller set calculating minimum fault-tolerant covering comprises: the neighbor switch obtaining each switch, check each switch successively according to the mode of breadth-first search, if switch has been covered by two domination switches and this switch itself is not domination switch, then skip this switch and check next switch, if switch has been covered by two domination switches and this switch itself is domination switch, and quantity of switch that this domination switch covers has exceeded the ability of controller, then skip this switch and check next switch, if a switch has been covered by two domination switches or has only been covered by a domination switch, and this switch itself is domination switch, and the quantity of the switch of this domination switch covering has not exceeded the ability of controller, then carry out retrieving not yet by the covering of domination switch or only by a neighbor switch of a switch covering in the neighbor switch of this switch, if the jumping figure that the neighbor switch of domination switch allows to the time delay of arranging switch beyond time delay, then skip neighbor switch, continue retrieval next neighbor switch otherwise, domination switch covers neighbor switch, and the controller ability of arranging switch will reduce 1, continue the next neighbor switch of retrieval, until neighbor switch is all detected, if a switch is not yet capped or is only covered by a domination switch, and this switch itself is not domination switch, it is selected as a domination switch, directly be connected with a controller, and carry out retrieving not yet by the covering of domination switch or only by a neighbor switch of a switch covering in the neighbor switch of this switch, if the jumping figure that the neighbor switch of domination switch allows to the time delay of arranging switch beyond time delay, then skip neighbor switch, continue retrieval next neighbor switch otherwise, domination switch covers neighbor switch, and the controller ability of arranging switch will reduce 1, continue the next neighbor switch of retrieval, until neighbor switch is all detected.
In recent years, a trend of design modern data center utilizes common business machine, comprises server and switch.Due to the problem of hardware, software, link and energy, a large amount of equipment faces various Problem of Failure.As above mentioned, the equipment failure of data center is very common.Due to controller be there is software function component deployment on a general switch, in SDDN each dispose controller face potential Problem of Failure too.The all switches directly causing it to control are lost the function of software defined network by the inefficacy of a controller---and the minimum fault-tolerant covering problem of SDDN middle controller is then a solution of this problem.
The basic idea of minimum fault-tolerant covering problem finds out controller and the position thereof of minimum number, and each switch is controlled by least two controllers, and when master controller lost efficacy, each switch that it controls can be taken over by another controller.We claim this problem to be that 2-covers, and namely each switch is covered by two domination switches, this means that each domination switch also will be arranged switch by another and cover.Clearly, 2-covers and achieves substantially fault-tolerant function.
Outside 2-covers, obviously also there is 3-covering and wait stronger fault-tolerant overlay model, better can tackle the failure of controller.But these models need to dispose more controller, and consume extra hardware cost, its cost performance is lower than 2-overlay model, and therefore embodiments of the invention adopt 2-overlay model as the solution of minimum fault-tolerant covering problem.But the covering method of our proposition can be applied to other fault-tolerant overlay model equally.
In aforesaid minimum vertex-covering dispositions method, namely in 1-overlay model, we have disposed a set of controller to ensure that each switch is controlled by least one controller.As shown in Figure 6, in minimum vertex-covering dispositions method, 5 controllers are arranged at switch
1, switch
4, switch
6, switch
7, switch
10.In order to solve 2-covering problem, some extra controllers need to be disposed further.Circle illustrated in fig. 6 represents switch, and square represents the domination switch that with the addition of controller in 1-overlay model, and triangle is expressed as and makes 2-overlay model set up the further domination switch adding controller of needs.As shown in Figure 6, three new controller portion are deployed to position switch
2, switch
5, switch
8.In this way, these controllers can ensure that each switch can be jointly controlled by two controllers.For any normal controller in Fig. 6, include one and point to the dotted arrow that the solid arrow of this controller and point to this controller, wherein, the other end of solid arrow is master controller place switch, and the other end of dotted arrow is from controller place switch.As shown in Figure 6, for a general switch switch
9, its master and slave controller is connected respectively to switch
1and switch
8.
Minimum fault-tolerant covering problem, the minimum 2-covering problem namely in the present embodiment is to find the minimal set meeting the controller that 2-covers.
The minimum 2-covering problem of SDDN can be expressed as a following optimization problem.In aforesaid 1-covering problem, inequality (4) imposes a constraint, and each switch is controlled by least one controller.But for 2-covering problem, each switch should be controlled by least two controllers.Therefore, inequality (4) is updated to following inequality (8).In addition, equation (2), (3), (5), (6) and (7) are still effective.We will introduce another binary vector C=[c
1, c
2..., c
| N|].For 1≤j≤| N|, c
j=1.According to algorithm ACC, mean that a controller has been deployed to the main frame that is connected to switch j.Equation (9) introduces a new constraint, to guarantee that the controller that these are determined by algorithm ACC before continues to be effective:
The output of minimum 2-covering problem is the quantity minimizing newly-increased controller, and guarantees that each switch is controlled by two controllers, can represent as shown in (10):
minΣ
j∈N(x
j-c
j) (10)
This optimization problem is also an integral linear programming problem with the complete difficulty of NP, there is not optimum solution in polynomial time.Therefore, we have proposed a special algorithm and carry out approximate optimal solution.
Algorithm ACC has deployed some controllers to realize the basic 1-of controller in SDDN and has covered.On this basis, we need to dispose extra minimum number controller and cover to realize 2-, and it possesses fault-tolerant ability.Namely to find the new domination switch of minimum number.This approximate data we become ABC algorithm.
Algorithm ABC can be expressed as follows by false code:
First algorithm ABC based on these existing controller C of topological sum of data center, derives the relation between switch, then checks the state of each switch in data center.If a switch is domination switch, the controller connecting it still can continue when there being surplus energy to control other switches.In addition, if current domination switch is only controlled by oneself, this algorithm is with the following method for it finds one from controller.Algorithm selects a non-dominant switch as a domination switch in the switch of its adjacent r jumping, and linking this switch chosen from controller.Be a non-dominant switch when switch and only controlled by a controller, it will be selected as a new domination switch to cover other switch of itself and surrounding.ABC algorithm can ensure, in the data at heart, each switch is at least controlled by two controllers.
Can prove, for given Initial controller set C, then in execution algorithm ABC process, each switch is examined successively.In this is arranged, the state of each switch must be one of following three kinds: (1) it controlled by two controllers; (2) only controlled by a controller, the master server of this controller is connected to current switch, and namely present switch is a domination switch; (3) it is controlled by a controller, and this switch is not a domination switch.In the latter case, algorithm ABC will find one from controller for it.In 3rd class situation, current switch is selected as arranging switch, and disposes the server of a new controller to connection.Up to the present, current switch will be controlled by two controllers.Therefore, algorithm ABC can ensure that each switch is controlled by two controllers after completing.
The time complexity of algorithm ABC is O (N × h), and wherein N is the quantity of switch, and h represents the maximum quantity of a controller working control switch.
Analog result shows, algorithm ABC has good performance.Identical with ACC algorithm, we are in required amount controller, the performance of assessment algorithm ABC and random algorithm.Algorithm ACC and ABC processes respectively and covers and 2-covering problem at the 1-of SDDN middle controller.The target of algorithm ABC is that the new controller of minimum number is added in the existing controller set determined by algorithm ACC.We are in the data center of different size, and just the quantitative aspects of new controller compares algorithm ABC and random algorithm.
Consider the controller set solving 1-covering problem, random algorithm can dispose some new controllers further at random, is satisfied until constraint 2-covers.We assess from 100 to 1000 the quantitative range of switch.The input of algorithm ABC, comprises the set of controller that algorithm ACC produces and other inherit input variable from algorithm ACC.After experiment is taken turns in 100 of often kind of setting, we calculate the par of the new controller that two algorithms are wanted.
Shown in Figure 11 is when each switch distributes 8 port interconnections, and the quantity of the new controller needed for algorithm ABC, far below random algorithm.In addition, when the quantity of the switch of data center increases, the benefit of algorithm ABC is more outstanding.In order to measure the impact of different port assignment strategies, we are the quantity of switch increase interconnect port, and the interconnect port number of each switch changes to 12 as shown in figure 12 from 8.Because newly deployed controller is less, and ensure that the demand that 2-covers, so algorithm ABC is always better than random algorithm.In addition, under same data center's scale, when each switch has more port to connect other switch, the quantity of the new controller of needs will reduce.The no matter scale of data center, under guaranteeing the demand prerequisite that 2-covers, the new amount controller needed for our algorithm is always less than random algorithm.
The importance that we are also covered by the impact evaluation 2-of invalid controller and validity, wherein each switch is controlled by two controllers.Evaluation result shows, 2-covers and covers can significantly improve fault-tolerant ability compared with 1-.It should be noted that 1-covering problem means that each switch is controlled by 1 controller.In the experiment of Jellyfish data center, be set using 1000 switches, each switch has 24 ports.The ability of each controller is identical with the controller that aforesaid assessment algorithm ACC uses with coverage.In assessment, given controller can be selected at random becomes invalid controller, then we observe 1-cover and 2-covering condition under, the quantity of invalid switch, the quantity of the switch namely do not controlled by any controller.
Figure 13 shows under two kinds of algorithms, and along with the increase of failed switch, invalid switch also increases.But,---specifically how much---no matter the controller of the failure of equal number can produce less invalid switch compared with covering with 1-under 2-covers.After each switch is increased to 12 for the port number distributing to switch interconnection from 8, also can draw similar conclusion as shown in figure 14.In addition, if there is the controller of equal number failure, and each switch employ more multiport to carry out switch interconnection time, the quantity of invalid switch can increase.This means under two kinds of algorithms, when the interconnect port number of switch increases, the impact of invalid controller can be even more serious.Therefore, the fault-tolerant ability that 2-covers covers considerably beyond 1-.
According to one embodiment of present invention, a kind of minimum cost synchronous method of the controller based on software definition data center network is provided.
As shown in Figure 3, the minimum cost synchronous method of the controller based on software definition data center network provided according to embodiments of the invention comprises:
Step S301, builds Jellyfish topology in software definition data center network, generates the random regular graph of switch, determines the linking relationship between switch, and the 1-obtaining random regular graph covers the minimal set with 2-overlay controller;
Step S303, according to the minimal set of 1-overlay controller, the Multistage Graph under structure Jellyfish topology;
Step S305, determines reached at the length restriction between any pair domination switch, the existing connection restriction connecting restriction, controller of data center in the minimal set of 1-overlay controller;
Step S307, reached at the length restriction between any pair domination switch, the existing connection restriction connecting restriction, controller of data center is determined in minimal set according to 1-overlay controller, with the Multistage Graph under Jellyfish topology, construct minimum steiner and set;
Step S309, when the one or more 1-overlay controllers in minimum steiner tree lost efficacy, each switch of covering of inefficacy 1-overlay controller covered by the corresponding controller in 2-overlay controller corresponding to switch.
Wherein, the Multistage Graph under structure Jellyfish topology comprises: set up retrieval queue, all nodes are added retrieval queue; Select any one node as the source node of 0 grade and shift out retrieval queue; Source node be set to present node and retrieve all nodes in queue successively, be the child node being set to present node by all adjacent nodes of source node, node level is that present node grade adds one, and newly-installed child node is shifted out retrieval queue; Newly-installed child node is set to present node and again performs previous action, until stop when retrieval queue is empty.
Wherein, determine that reached at the length restriction between any pair domination switch, data center existingly connect restriction, the connection restriction of controller comprises: obtain the Number of Available/Faulty Ports of each switch in the sum of switch in software definition data center network, software definition data center network, each switch is used for the port number interconnected with other switch, build the random regular graph of Jellyfish topology, according to the set of link between switch in the set of switch in data center, random regular graph, obtain the topological non-directed graph between switch, 1-covers the minimal set with 2-overlay controller, according to the topological non-directed graph between switch, 1-covers the minimal set with 2-overlay controller, whether obtain expression switch is a binary vector arranging switch, represent whether a switch covers the binary vector of another switch, represent the time delay matrix from a switch to the propagation delay of another switch, represent the traffic matrix of the quantity mailing to the average stream of another switch in one second from a switch, the maximum quantity of each switch treatable stream per second, from the propagation delay that a switch allows to domination switch, deploy the domination switch set of controller, represent the matrix of steiner tree, represent the reachability matrix of path between any a pair node, according to the binary vector whether expression switch is a domination switch, represent whether a switch covers the binary vector of another switch, represent the time delay matrix from a switch to the propagation delay of another switch, represent the traffic matrix of the quantity mailing to the average stream of another switch in one second from a switch, the maximum quantity of each switch treatable stream per second, from the propagation delay that a switch allows to domination switch, deploy the domination switch set of controller, represent the matrix of steiner tree, represent the reachability matrix of path between any a pair node, obtain the restrictive condition of minimum fault-tolerant covering.
Wherein, reached at the length restriction between any pair domination switch, the existing connection restriction connecting restriction, controller of data center is determined in minimal set according to 1-overlay controller, with the Multistage Graph under Jellyfish topology, construct minimum steiner tree to comprise: according to the node level descending in Multistage Graph, retrieve all nodes successively; If be retrieved, node is associated with an isochronous controller, or the node that is retrieved is via node, then choose this node that is retrieved; If be retrieved, node is via node, and the node that is retrieved exists the father node that is also via node, then this edge be retrieved between node and father node is by selected; If be retrieved, node is via node, and it is also the father node of via node that the node that is retrieved does not exist, and the node that is retrieved exists the brotgher of node that one is also via node, then this edge be retrieved between node and the brotgher of node is by selected; If be retrieved, node is via node, and it is also father node or the brotgher of node of via node that the node that is retrieved does not exist, then from the father node of the node that is retrieved, random choose goes out a father node, and this father node is set to via node; Retrieve all nodes successively, until source node is examined, all limits chosen form minimum steiner and set.
After realizing the minimum vertex-covering of controller, controller must use the network view that the overall situation is consistent, to guarantee correct controlling behavior.But the network view of a local only safeguarded by each controller, the network behavior due to many dynamic changes will cause localized network view to change continually.In order to safeguard the global network view between a consistent controller, all controllers are their localized network view synchronous constantly.Traditionally, between n controller, synchronously n is needed
2individual clean culture.This process will cause communication chain-circuit overload at heart in the data, and produces synchronization delay, thus causes the control decision of suboptimum.Therefore, be necessary to reduce synchronization overhead and delay.We solve minimum cost stationary problem from two aspects.
The first, we dispose the least possible controller at SDDN, guarantee the requirement that 2-covers simultaneously.In all controllers, the controller only having first time to dispose needs synchronous regime.When a master controller lost efficacy, relevant obtained up-to-date state from controller by from other controllers.
The second, n the multicast transmission that we are used in one-to-many between n controller replaces n
2individual unicast transmission.N such multicast transmission shares identical multicast tree.If multicast tree utilizes minimum network linking, we can minimize synchronous cost.The significant challenge faced is that the heart finds a minimum steiner tree to n controller in the data.In general figure, this is a np complete problem.Jellyfish topology is a random regular graph, and its minimum steiner tree is also np complete problem.
In order to by problem formalization, we are modeled as an integral linear programming problem the minimum steiner tree in Jellyfish data center.N is the quantity of switch in data center; Adjacency matrix G=[a
ij]
| N|x|N|represent the data center topology in switch aspect; a
ij=1 represents there is a limit between node i and node j, otherwise, a
ij=0; C represents that needs a synchronous controller.
We use W=[w
ij]
nxNrepresent steiner tree.W
ij=1 means that the limit between node i and node j is selected, and will appear in steiner tree.In addition, a is worked as
ijwhen=0, w
ij=0.W
n=[w
ij n]
n × Nrepresent one, between any a pair node, path is the reachability matrix of n, w
n ijexpression is the number of paths of n from node i to node j path.Z=[Z
ij]
| N| × | N|={ I+W+W
2+ W
3+ ... + W
n-1+ W
nrepresent reachability matrix, and wherein I is unit matrix, as i=j, and w
ij=1; Otherwise, w
ij=0.If Z
ij> 0, this means that the information of node i can arrive node j.Otherwise, Z
ij=0.
Can be proved by mathematical induction, W
n=[w
n ij]
nxNthe path of expression between any a pair node is the reachability matrix of n.As n=1, W
n=W=[w
ij]
| N| × | N|represent a reachability matrix, the path wherein between any two nodes is 1.If during n=k, W
k=[w
ij k]
| N| × | N|represent a reachability matrix, the path wherein between any a pair node is that k sets up, then, as n=k+1, have
Clearly, W
k+1represent an accessibility matrix, the path wherein between any node is k+1.So, W
n=[w
n ij]
| N| × | N|represent reachability matrix, the path wherein between any two node n is n.
The optimization aim of minimum cost stationary problem minimizes the quantity that corresponding steiner sets link, can be expressed as follows:
minΣ
i,j∈NW
ij(11)
Meanwhile, the solution that constraint guarantee one is below feasible must be met:
Inequality (12) guarantees that the topology in data center must be selected in limit, namely the existing limit of data center.Inequality (13) guarantees that all isochronous controllers are communicated with.Constraint (14) and (15) shows, a
ijand w
ijtwo binary variables.This is an integral linear programming problem, is also the problem of a NP difficulty.Therefore, we propose a special algorithm in the next section and carry out near-optimization and solve scheme.
Construct minimum steiner to set, first we obtain a Multistage Graph from data center topology, and the source node in figure can be that any one needs the controller of synchronously its state.For any node, if this node is connected to a lower level node, so this node is called the father node of lower level node; For any node, if another node locating is connected to it at same layer, so their brotgher of node each other.Shown in Figure 15 is scheme a topological multistage formed by Jellyfish.Node switch
0be source node, be positioned at the 0th layer; Node switch
6there are two father nodes, switch
2and switch
3; Switch
4and switch
5these two nodes are all switch
8the brotgher of node.For given Jellyfish topology, we propose algorithm G and construct a Multistage Graph T.
Algorithm G can be expressed as follows by false code:
Algorithm G adopts BFS method to build multistage figure.First, it adds queue any one controller node, is set to 0 at the node level of multistage figure.Then, it selects first node in queue, to check in Jellyfish topology its adjacent node.If a neighbor node not yet processes, it will be set to a child node of present node, and node rank is more than present node one.If neighbor node be processed and its grade in multistage figure fewer than the grade of present node one, it is set to the father node of present node.When the grade of a neighbor node in Multistage Graph equals present node, this node is set to the brotgher of node of present node.These child nodes can be added in queue.Algorithm G repeats, until do not have to stop during element in queue.
Once we construct multistage figure from data center topological structure, we need to select some telephone net nodes and limit to construct minimum steiner and set.These domination switches selected in the minimal set of 1-overlay controller, must choose in steniner tree.We need to find a steiner tree to connect these domination switch with minimum cost.
We have proposed an approximate data AMG, on the basis of the Multistage Graph obtained, construct steiner tree in the bottom-up mode of one.Algorithm AMG can be expressed as follows by false code:
Algorithm, from the node of the final stage of Multistage Graph, searches out the source node of Multistage Graph the 0th layer always.If a telephone net node is associated with an isochronous controller, or a via node, it must be selected.If current switch is a via node, if first algorithm AMG checks that its its father node of father node in Multistage Graph is also a via node, this edge so between it and father node is by selected.Otherwise algorithm AMG will continue the brotgher of node checking it, if the brotgher of node is a via node, this edge so between it and the brotgher of node is by selected.If its father's node and the brotgher of node all do not have selected, algorithm AMG selects a father node randomly, so this father node will become via node.Such operation is repeatedly executed, until source node in Multistage Graph examined after, algorithm stops.
The time complexity of algorithm AMG is O (N × d), and wherein N is the quantity of switch in a data center, and d represents that switch is used for the port number interconnected with other switch.
Analog result shows, algorithm G and algorithm AMG has good performance.We set by steiner in the performance of link number assessment algorithm AMG.In traditional synchronized algorithm, transmit leg gives other controller by shortest path synchronizing information, and the controller of n clean culture driving synchronously will bring n
2individual unicast transmission.For given data center, first derive the location of controls of 1-covering from algorithm ACC.Then, we construct a multicast tree and connect these controllers.Therefore, all controllers are along multicast tree their state synchronous.In order to minimize the link Overload synchronously produced, the quantity clearly linked in multicast tree should minimize, and steiner namely will be found to set.
As shown in figure 16, the multicast tree based on algorithm AMG links the clean culture driving synchronous method used before number is less than.Therefore, synchronous between controller can produce less network overhead by multicast tree.In addition, we find, when each switch distribute to the interconnected port number of switch be increased to 12 from 8 time, Figure 17 shows identical result.Meanwhile, under identical data center's scale, when switch uses more port to interconnect, the multicast tree of generation uses less link.
Therefore, algorithm AMG is always the state synchronized structure multicast tree between controller, the link number much less that the method takies than clean culture method, and less link causes less synchronous cost.
In sum, by means of technique scheme of the present invention, by the restrictive condition using algorithm ACC to meet minimal covering, dispose the controller of minimum number, guarantee all switches all at least cover by the controller, all switches are all under the control of controller; Algorithm ABC is used to meet the restrictive condition of minimum fault-tolerant covering problem, dispose the controller of minimum number, guarantee all switches all at least cover by two controllers, when a switch master controller lost efficacy time, this switch can be taken over by another controller; Construct Multistage Graph by using algorithm G and use algorithm AMG to meet the restrictive condition of smallest synchronization cost problem, arranging and be used for the shortest multicast tree of synchronous localized network view.The solution of multi-controller cooperation in the Switch control plane that said method constitutes complete set, make that Switch control plane is little from the ability of single controller, reliability is low and the impact such as poor expandability, and there is higher universality, this method can be applied in other the data center centered by switch.
Those of ordinary skill in the field are to be understood that: the foregoing is only specific embodiments of the invention; be not limited to the present invention; within the spirit and principles in the present invention all, any amendment made, equivalent replacement, improvement etc., all should be included within protection scope of the present invention.