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.
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.
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.
According to one embodiment of present invention, a kind of minimum vertex-covering dispositions method of the controller based on software definition data center network is provided.
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. 2 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. 3 is a 1-Overlay Topology figure having the Jellyfish of 12 switches, and the restriction of time delay is 1 jumping in figure 3, 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 3, all domination switches represent with square, and general switch represents with circle, then { switch as shown in Figure 3
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∑
j∈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. 4 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 5, 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. 6 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 7, 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.
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.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.
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.
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.
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.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.
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.