CN111711576A - Controller load balancing system and method based on efficient switch migration - Google Patents
Controller load balancing system and method based on efficient switch migration Download PDFInfo
- Publication number
- CN111711576A CN111711576A CN202010610460.1A CN202010610460A CN111711576A CN 111711576 A CN111711576 A CN 111711576A CN 202010610460 A CN202010610460 A CN 202010610460A CN 111711576 A CN111711576 A CN 111711576A
- Authority
- CN
- China
- Prior art keywords
- controller
- switch
- load
- migration
- controllers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A controller load balancing system and method based on efficient switch migration comprises a switch, an agent, a controller and a sub-domain network, wherein the controller is additionally provided with a load measurement module, a switch selection module, a target controller selection module and a switch migration module. The method comprises the steps of collecting load information of each sub-domain network through a controller, judging the load state of the controller, outputting an overload controller and a light load controller set, selecting switches to be migrated through minimized migration cost, migrating the switches from the switch set controlled by the overload controller to the switch set controlled by the light load controller, and realizing the balanced distribution of the controller load. The invention is used in the elastic optical network of the data center interconnection, and the controller load balancing effect is obvious.
Description
Technical Field
The invention belongs to the technical field of communication, and further relates to a controller load balancing system and method based on efficient switch migration in the technical field of network communication. The invention can be used for balancing the load of a plurality of controllers when the statically matched controllers are deployed in the elastic optical network under the software defined network.
Background
Software-defined networking is an important data center network architecture, and is widely applied to flexible optical networks interconnected by data centers. Since the software defined network with a single controller structure cannot cope with the ever-increasing network traffic, a multi-controller scheme is in progress. At this time, the network is divided into a plurality of sub-domain networks, each of which has a controller to manage request messages of switches and flows. However, with the dynamic change of network traffic, the controller deployment scheme based on static matching may cause load imbalance among multiple controllers, resulting in a decrease in network resource utilization. In order to implement load balancing of the controller, a dynamic switch migration method is proposed to implement load dynamic matching of the switch and the controller: it migrates to the less loaded controller by selecting some switches from the collection of switches controlled by the overloaded controller. Most of the solutions are inefficient in migration through investigation of existing switch migration solutions. Because, after the switch is migrated, the load balancing performance of the controller is not obviously improved; also, during the migration of the switch, a large migration cost may be generated.
The patent document "a load balancing method and system of SDN multi-controller" applied by beijing post and telecommunications university (application No. 2018109724859, application publication No. CN 108880918A) discloses a method and system for load balancing of multi-controller. The system of the invention includes a master controller, a plurality of slave controllers, and a switch to which each slave controller is connected. The method comprises the steps that a master controller records mark information of a switch to be migrated and sends the mark information of an slave controller which is not overloaded to the slave controller; when the slave controller detects that the slave controller is overloaded, the identification information of the switch to be migrated is selected and reported to the master controller. The overloaded slave controllers are used for sending auction requests to the non-overloaded slave controllers, selecting the non-overloaded slave controllers which participate in the auction and enable the benefits of the slave controllers to be maximum as target controllers, and migrating the switch to be migrated to the target controllers. And judging whether to participate in the auction or not by each un-overloaded slave control according to the identification information of the switch to be migrated in the auction request, the average request rate and the self load condition. The system has the disadvantages that an independent main controller needs to be added at the control layer for controlling other slave controllers, the structure is complicated, and the flexibility of the network is poor. The method disclosed by the invention patent comprises the following specific steps: with the auction mechanism for the goods, the slave controllers participating in the auction that are not overloaded bid on the switches to be migrated from the overloaded slave controllers. The overloaded slave controller selects the un-overloaded slave controller which maximizes its own profit as the target controller. The auction mechanism of the invention mainly considers the resource utilization rate of the un-overloaded controller, the average request rate of the switch to be migrated and the round trip time of the switch to be migrated for sending information to the assumed target controller at the average request rate to bid the un-overloaded slave controller. The method has the defects that when the load of the controller is calculated, only the cost related to the flow request is considered, and the cost of the switch rule formulation and the state synchronization is not considered, so that the load measurement of the controller is not accurate enough. In addition, this approach ignores the cost of switch migration, resulting in lower switch migration efficiency. Moreover, the scheme can only process one overload controller in one migration activity, and the migration efficiency is low.
The patent document "a method and device for load balancing of controllers" (application number 201610609689.7, publication number CN 106027410B) applied by the beijing post and telecommunications university discloses a method and device for load balancing of controllers. The method comprises the following specific steps: the selection of the switch and the target controller is made by local decision making when the load of the controller itself exceeds a threshold and is the most heavily loaded controller and a request is sent to the target controller. The target controller judges whether or not to accept the switch based on its own load and the average information arrival amount of the migrated switches. And if the requirement is met, carrying out switch migration. The method has the disadvantages that the target controller is selected according to the residual load value of the assumed target controller and the round-trip time from the controller to be migrated to each assumed target controller, the switch migration cost is ignored, and the overload of the switch after the migration is easily caused.
Disclosure of Invention
The invention aims to provide a controller load balancing system and method based on efficient switch migration, which aims to overcome the problems of uneven controller load and low migration efficiency in an elastic optical network and improve the efficiency of controller load balancing. The invention is suitable for the elastic optical network interconnected with the large-scale multi-domain network data center.
To achieve the above objects, the present invention includes a controller load balancing system and method based on efficient switch migration.
The basic idea of the invention is that in a time period, a load measurement module of each controller collects load information of each subdomain network through an extended OpenFlow protocol; then judging the load state of the controller, and outputting an overload controller and a light load controller set; the switch selection module calculates the migration cost through the switch controlled by the overload controller, and based on the minimized migration cost, the optimal switch can be selected as the switch to be migrated; selecting an optimal target controller by maximizing the utilization rate of the residual resources by utilizing the output light load controller; and finally, the switch migration module migrates the selected switch to be migrated to the switch set controlled by the target controller.
The system of the invention comprises switches, agents, controllers and a sub-domain network, and is characterized in that each controller is arranged at a control layer of the system and is provided with a load measuring module, a switch selection module to be migrated, a target controller selection module and a multi-switch migration module; wherein:
the switch is deployed on a data forwarding layer of the system and used for forwarding a data packet;
the agent is deployed on a data forwarding layer of the system and used for being matched with the OpenFlow protocol connection between the connected switch and the controller, receiving the flow table entry issued by the controller and converting the flow table entry into a logic language which can be identified by the connected switch.
The load measuring module obtains the load of the controller of the module through link protocol data packets mutually transmitted between the controller of the module and all the switches controlled by the controller of the module; judging whether the loads among the controllers are balanced or not; and dividing all controllers into an overload controller and a light load controller to generate an overload controller set and a light load controller set.
The switch selection module to be migrated acquires the migration cost required by each switch to be migrated to each light load controller in the light load controller set under the control of the overload controller in the overload controller set of the module through packet _ in and packet _ out messages mutually sent between the overload controller in the overload controller set of the module and all switches controlled by the overload controller in the overload controller set of the module; forming a migration cost matrix by the migration costs of all the switches controlled by the overload controllers in the overload controller set in which the module is positioned; and selecting the minimum value of the migration cost in each column from the migration cost matrix, and determining the switch corresponding to each minimum value as the switch to be migrated.
The target controller selection module is used for calculating the average residual resource utilization rate of each light load controller in the light load controller set; calculating the profit value of each switch controlled by each overload controller in the overload controller set to the light load controllers in all the light load controller sets by utilizing the average residual resource utilization rate; and selecting the controller corresponding to the maximum profit value from the profits of each switch to the light load controllers in all the light load controller sets as a target controller.
The multi-switch migration module is used for migrating a plurality of switches to be migrated to the switch set controlled by the respective target controller respectively.
The number of the sub-domain networks is determined by the total number of controllers, and the sub-domain networks are divided by a system at the time of network initialization, are interconnected by optical fibers by different numbers of switches, and are individually controlled by one controller.
The method of the invention is a switch migration method which measures the controller load through a plurality of load indexes, selects a switch to be migrated through the minimum switch migration cost, selects a target controller through the maximum residual resource utilization rate and can simultaneously process the migration of a plurality of switches; the method comprises the following specific steps:
(1) initializing a system:
the method comprises the following steps of randomly dividing a system into f sub-domain networks, wherein f and n have equal values, and n represents the total number of controllers;
(2) measuring the controller load:
(2a) a load measurement module of the controller acquires the affiliated relationship between the controller and all switches controlled by the controller from link protocol data packets mutually transmitted between each controller and the switches controlled by the controller, and establishes an affiliated relationship matrix of the affiliated relationship between all controllers and all switches through the affiliated relationship between each controller and all switches controlled by the controller;
(2b) acquiring the load of each controller from a link protocol data packet mutually transmitted between each controller and a switch controlled by the controller;
(2c) making a ratio of the load between every two controllers to obtain a load difference value, and forming a load difference matrix by the load difference values between all the controllers;
(3) generating an overload controller set and a light load controller set:
(3a) a controller load measurement module of the controller respectively generates an overload controller set and a light load controller set, and initializes the two sets into an empty set;
(3b) selecting two unselected load difference values from the load difference matrix according to the following formula, and calculating the difference value between the two load difference values;
β=|ωcd-ωdc|
β list of themIndicating the difference value of the difference values of the two selected loads, | | represents the operation of taking the absolute value, omegacdA load difference value, ω, representing the c-th row and d-th column of the load difference matrixdcRepresenting the load difference value of the d row and the c column of the load difference matrix;
(3c) judging whether the difference value of the two selected load difference values is greater than a load difference threshold value, if so, executing the step (3d), otherwise, executing the step (3 e);
(3d) respectively adding a high-load controller and a low-load controller in the two controllers corresponding to the two selected load difference values into an overload controller set and a light-load controller set;
(3e) judging whether all load difference values in the load difference matrix are selected, if so, executing the step (4), otherwise, executing the step (3 b);
(4) obtaining the migration cost of the switch:
a switch selection module to be migrated of the controller acquires migration cost required by each switch under the control of each overload controller to be migrated to a corresponding light load controller from packet _ in and packet _ out messages mutually sent between each overload controller and the switch controlled by the overload controller;
(5) determining a switch to be migrated:
(5a) a switch selection module to be migrated of the controller generates a switch set to be migrated, and initializes the set to be an empty set;
(5b) forming a migration cost matrix by the migration costs of all the switches controlled by each overload controller;
(5c) selecting the minimum value of the migration cost in each column from each migration cost matrix, and adding the switch corresponding to the minimum value into a switch set to be migrated;
(6) the target controller selection module of the controller calculates the average remaining resource utilization of each light load controller in the set of light load controllers according to the following formula:
where ρ isqRepresenting the average remaining resource utilization of the qth light load controller in the set of light load controllers, α representing the capacity of each controller, b representing the number of light load controllers in the set of light load controllers, LCqRepresenting light load controllers C in a set of light load controllersqThe load of (2);
(7) determining a target controller:
(7a) according to the following formula, a target controller selection module of the controller calculates the profit value of each switch in the switch set to be migrated to all light load controllers in the light load controller set;
wherein, ygqRepresenting switches S in a set of switches to be migratedgLight load controller C in light load controller set to be migratedqThe value of the gain obtained, ∈, is denoted as belonging to the symbol, KeIs SgOverload controller C in belonging overload controller setlControlled switch assembly, Sg∈KeIndicating a switch SgController ClControl, vgqIndicating a switch SgTo controller CqIs evaluated with respect to the evaluation value of (c),indicating a switch SgThe controller controls the average flow request rate for all switches under control,a denotes a switch SgThe number of the switches controlled by the overload controller,indicating a switch SgAll switches to controller C under the control of the controllerqThe average minimum number of hops of (a),ρ and arbitrary ρqAre equal, theta denotes the switch SgTransaction price per unit resource of xgqIndicating a switch SgAnd a controller CqThe relationship of (a);
(7b) selecting a controller corresponding to the maximum profit value from the profit values of all light load controllers in the light load controller set of each switch as a target controller;
(8) and realizing multi-switch migration:
(8a) the multi-switch migration module of the controller selects a controller C with the heaviest load from the overload controller set from the switch set to be migratedsControlled switch S to be migratedw;
(8b) The selected switch S to be migratedwMigration to the optimal controller C in the light load controller setm;
(8c) Respectively mixing C withs、Cm、SwDeleting the data from an overload controller set, a light load controller set and the switch set to be migrated;
(8d) judging whether the overload controller set is an empty set, if so, executing the step (9), otherwise, executing the step (8 a);
(9) the balance of controller load of switch migration is realized.
Compared with the prior art, the invention has the advantages that:
firstly, the controller in the system is provided with a controller load measurement module, a switch to be migrated, a target controller module and a multi-switch migrated module, and a main controller is not required to be added; the problems that in the existing scheme, an independent master controller needs to be added to a control layer to control other slave controllers, so that the structure is complex and the flexibility of a network is poor are solved; the system has stronger expansibility and flexibility.
Secondly, the switch migration method provided by the invention overcomes the problems of inaccurate load measurement and low migration efficiency caused by considering only the processing overhead of the flow request message as the load index in most of the prior art by defining a plurality of load indexes to measure the overload controller. Furthermore, most existing technologies randomly select or choose a higher flow request rate switch from the set of switches controlled by the overload controller as the migrated switch. However, they ignore the migration cost of the switch, which cuts the effectiveness of the migration. The invention selects the optimal switch based on the minimized migration cost, thereby reducing the additional migration cost. In addition, most of the prior art selects the controller with the least overhead for processing the flow request message as the target controller, which may result in overload of the target controller after the switch is migrated. In view of the above, the present invention provides an efficient switch migration method for selecting a target controller by maximizing the utilization rate of the remaining resources, thereby improving the load balancing performance of the controller. Moreover, the prior art can only process one overload controller in one migration activity, and the invention can process a plurality of overload controllers in parallel, thereby improving the migration effectiveness.
Drawings
FIG. 1 is a schematic diagram of a controller load balancing system of the present invention;
FIG. 2 is a flow chart of the present invention for implementing controller load balancing;
fig. 3 is a flow chart of the present invention implementing switch migration.
Detailed Description
Embodiments of the present invention are described in further detail below with reference to the accompanying drawings.
In the traditional small-scale flexible optical network, the flow request messages are fewer, and a single controller can easily process the flow request messages, but when the network scale is enlarged, the single controller causes the problem of expansibility due to the limitation of the capacity of the single controller. Under the condition of a large-scale network, a distributed multi-controller is used for controlling a plurality of subdomain networks, so that the expansibility of the network is improved. However, improper deployment of multiple controllers results in unequal distribution of controller loads. Although the existing switch migration methods can effectively improve the load balancing performance of the controller to a certain extent, the efficiency of the existing switch migration methods is low because a large amount of migration cost is generated in the switch migration process, and the load balancing performance of the controller is not ideal after the switch migration. In order to adapt to the balanced distribution of controller loads in a large-scale network, the invention develops innovation and research and provides a controller load balancing system and method based on efficient switch migration.
The system of the present invention will be further described in conjunction with an embodiment of the present invention with reference to fig. 1.
A controller load balancing system based on efficient switch migration comprises switches, agents, controllers and a sub-domain network and is characterized in that each controller is arranged on a control layer of the system and is provided with a load measuring module, a switch selection module to be migrated, a target controller selection module and a multi-switch migration module. Wherein:
the switch is deployed on a forwarding layer of the system and used for forwarding the data packet.
The agent is deployed on a forwarding layer of the system and used for matching with OpenFlow protocol connection between the switch connected with the agent and the controller, receiving the flow table entry issued by the controller and converting the flow table entry into a logic language which can be identified by the switch connected with the agent.
The load measuring module obtains the load of the controller of the module through link protocol data packets mutually transmitted between the controller of the module and all the switches controlled by the controller of the module; judging whether the loads among the controllers are balanced or not; and dividing all controllers into an overload controller and a light load controller to generate an overload controller set and a light load controller set.
And the switch selection module to be migrated is used for measuring the load index of the controller and judging whether the controller is overloaded. Acquiring migration cost required by each switch to be migrated to each light load controller in the light load controller set under the control of the overload controller in the overload controller set of the module through packet _ in and packet _ out messages mutually sent between the overload controller in the overload controller set of the module and all switches controlled by the overload controller in the overload controller set of the module; forming a migration cost matrix by the migration costs of all the switches controlled by the overload controllers in the overload controller set in which the module is positioned; and selecting the minimum value of the migration cost in each column from the migration cost matrix, and determining the switch corresponding to each minimum value as the switch to be migrated.
The target controller selection module is used for calculating the average residual resource utilization rate of each light load controller in the light load controller set; calculating the profit value of each switch controlled by each overload controller in the overload controller set to the light load controllers in all the light load controller sets by utilizing the average residual resource utilization rate; and selecting the controller corresponding to the maximum profit value from the profits of each switch to the light load controllers in all the light load controller sets as a target controller.
The multi-switch migration module is used for migrating a plurality of switches to be migrated to the switch set controlled by the respective target controller respectively.
The number of the sub-domain networks is determined by the total number of controllers, and the sub-domain networks are divided by a system at the time of network initialization, are interconnected by optical fibers by different numbers of switches, and are individually controlled by one controller.
In the implementation of the method of the invention, the data center generates traffic and transmits it in different sub-domain networks. In a time period, a load measurement module of each controller collects load information of each subdomain network through an expanded OpenFlow protocol; and then judging the load state of the controller, and outputting an overload controller and a light load controller set. The switch selection module calculates the migration cost of the switch controlled by the overload controller, and based on the minimized migration cost, the optimal switch is selected as the switch to be migrated. And based on the output light load controller, selecting the optimal target controller by maximizing the utilization rate of the residual resources. And finally, the switch migration module migrates the selected switch to be migrated to the switch set controlled by the target controller.
The method of the invention will be further described with reference to fig. 2, in conjunction with an embodiment of the invention.
(1) Initializing a system:
and randomly dividing the system into f sub-domain networks, wherein f and n have equal values, and n represents the total number of the controllers.
(2) Measuring the controller load:
(2a) a load measurement module of the controller acquires the affiliated relationship between the controller and all switches controlled by the controller from link protocol data packets mutually transmitted between each controller and the switches controlled by the controller, and establishes an affiliated relationship matrix of the affiliated relationship between all controllers and all switches through the affiliated relationship between each controller and all switches controlled by the controller; the elements of the membership matrix are as follows:
wherein x iscdThe element values of the row c and column d in the membership matrix are represented by ∈ representing symbols, KpIndicating a switch SiTo the controller CjControlled switch assembly, Si∈KpIndicating a switch SiController CjAnd (5) controlling.
(2b) Acquiring the load of each controller from a link protocol data packet mutually transmitted between each controller and a switch controlled by the controller; the controller load consists of three parts, including processing overhead of flow request messages, processing overhead of rule formulation and processing overhead of state synchronization messages.
The processing overhead of the stream request information is obtained by:
wherein, P1Presentation controller CjProcessing overhead of flow request information, R (S), for all switches controlledi) Indicating a switch SiThe number of traffic request messages sent to its controller, Σ, represents a summation operation.
The processing overhead formulated by the rule is used for representing the processing overhead of the controller for calculating the forwarding path and installing the routing rule, and is obtained by the following formula:
wherein, P2Representing the processing overhead of protocol rule formulation between all controllers and all switches, S representing the set of switches, C representing the set of controllers, hijIndicating a switch SiAnd a controller CjThe number of hops between the two is,packet_inindicating a switch SiAverage size, x, of packet _ in messages sentijIndicating a switch SiAnd a controller CjThe value of the relationship therebetween.
The processing overhead of the state synchronization message, which is used for sending the state information periodically among the multiple controllers in the multi-domain network to maintain the global network view of each controller, is obtained by the following formula:
wherein, P3Presentation controller CjOverhead of processing state synchronization messages with all other controllers, ηstateRepresenting the average amount of status information, h, sent between all controllersjuPresentation controller CjAnd a controller CuThe number of hops in between.
(2c) And (3) making a ratio of the load between every two controllers to obtain a load difference value, and forming a load difference matrix by using the load difference values between all the controllers.
(3) Generating an overload controller set and a light load controller set:
(3a) and a controller load measurement module of the controller respectively generates an overload controller set and a light load controller set, and initializes the two sets into an empty set.
(3b) Selecting two unselected load difference values from the load difference matrix and calculating the difference between the two values according to the following formula:
β=|ωcd-ωdc|
β represents the difference between the two selected load difference values, | | | represents the operation of taking the absolute value, |cdA load difference value, ω, representing the c-th row and d-th column of the load difference matrixdcAnd representing the load difference value of the d row and the c column of the load difference matrix.
(3c) Judging whether the difference value of the two selected load difference values is greater than a load difference threshold value, if so, executing the step (3d), otherwise, executing the step (3 e);
the load difference threshold is derived from:
the load difference threshold is represented, max Ω represents a maximum load difference value in the load difference matrix Ω, and min Ω represents a minimum load difference value in the load difference matrix Ω.
(3d) And respectively adding a high-load controller and a low-load controller in the two controllers corresponding to the two selected load difference values into the overload controller set and the light-load controller set.
(3e) And (4) judging whether all the load difference values in the load difference matrix are selected, if so, executing the step (4), and otherwise, executing the step (3 b).
(4) Obtaining the migration cost of the switch:
the switch selection module to be migrated of the controller obtains migration costs required by each switch under the control of each overload controller to be migrated to the corresponding light load controller from packet _ in and packet _ out messages mutually sent between each overload controller and the switch controlled by the overload controller, wherein the migration costs include the change cost of processing flow request messages, the deployment cost of migration rules and the update cost of load imbalance degree.
The varying cost of processing the stream request message is derived from:
F1=R(Sk)×min(hkq)×xkq-R(Sk)×min(hkl)×xkl
wherein, F1Indicating overload controller ClSwitch S to be migrated assuming control thereofkController C for migrating to light loadqFront and back exchanges SkVarying cost of handling streaming request messages, R (S)k) Indicating a switch SkThe number of traffic request messages, min (h), sent to its controllerkq) Indicating a switch SkAnd a controller CqShortest number of hops between, xkqIndicating a switch SkAnd a controller CqIn the relationship of (c), min (h)kl) Indicating a switch SkAnd a controller ClShortest number of hops between, xklIndicating a switch SkAnd a controller ClThe relationship of (2).
When the switch SkWhen it needs to be migrated, controller ClIt is necessary to deploy the migration rule Flow _ mod to the switch SkAbove, for migration execution. The cost of this process, which is the deployment cost of the migration rule, is obtained by the following formula:
F2=ωrule×hkl
wherein, F2Represents the deployment cost, ω, of the migration rulerulePresentation controller ClTo the exchange SkFlow _ mod message size, hklIndicating a switch SkAnd a controller ClThe number of hops in between.
The load imbalance directly reflects the distribution of the controller load, and after the switch is migrated, if the updated load imbalance is high, the load balancing performance of the controller is poor, so the switch migration will bring the update cost F of the load imbalance3. The update cost of the load imbalance degree is obtained by the following formula:
wherein, F3To representCost of updating the degree of load imbalance, λ*Indicating a switch SkThe average load of all controllers after migration,presentation controller ClShift-out switch SkTo the controller CqRear controller ClThe load is a load of the vehicle,indicating a controller C after a switch migrationqThe load of (2).
(5) Determining a switch to be migrated:
(5a) the switch selection module to be migrated of the controller generates a switch set to be migrated and initializes the set to an empty set.
(5b) And forming a migration cost matrix by the migration costs of all the switches controlled by each overload controller.
(5c) And selecting the minimum value of the migration cost in each column from each migration cost matrix, and adding the switch corresponding to the minimum value into the switch set to be migrated.
(6) In the switch migration process, the resource overhead of the controller mainly includes the processing overhead of the flow request message, the processing overhead of path calculation and installation, and the processing overhead of state synchronization. The target controller selection module of the controller calculates the average remaining resource utilization of each light load controller in the set of light load controllers according to the following formula:
where ρ isqRepresenting the average remaining resource utilization of the qth light load controller in the set of light load controllers, α representing the capacity of each controller, b representing the number of light load controllers in the set of light load controllers, LCqRepresenting light load controllers C in a set of light load controllersqThe load of (2).
(7) Determining a target controller:
(7a) and respectively defining the light load controllers in the light load controller set and the switches to be migrated in the switch set to be migrated as auctioneers and auction players. According to the following formula, a target controller selection module of the controller calculates the profit value of each switch in the switch set to be migrated to all light load controllers in the light load controller set; the benefit value of the switch is the switch's evaluation value for each light load controller in the set of light load controllers minus the price paid to each light load controller in the set of light load controllers.
Wherein, ygqRepresenting switches S in a set of switches to be migratedgLight load controller C in light load controller set to be migratedqThe value of the gain obtained, ∈, is denoted as belonging to the symbol, KeIs SgOverload controller C in belonging overload controller setlControlled switch assembly, Sg∈KeIndicating a switch SgController ClControl, vgqIndicating a switch SgTo controller CqIs evaluated with respect to the evaluation value of (c),indicating a switch SgThe controller controls the average flow request rate for all switches under control,a denotes a switch SgThe number of the switches controlled by the overload controller,indicating a switch SgAll switches to controller C under the control of the controllerqThe average minimum number of hops of (a),ρ and arbitrary ρqAre equal, theta denotes the switchSgTransaction price per unit resource of xgqIndicating a switch SgAnd a controller CqThe relationship of (a);
based on the auction mechanism, the profit of each light load controller in the set of light load controllers is the obtained auction resource revenue minus the migration cost of the switch, according to the following formula.
Wherein o isgqThe gain of the light load controller in the set of light load controllers is shown as the light load controller set, and tau is the controller CqThe price of unit resource consumption.
After the auction, the overall profit of the system is the total value of the profit of the light load controller in the light load controller set and the profit of each switch in the switch set to be migrated to the light load in the light load controller set, and can be represented by the following formula.
Where Z is the overall yield of the system. It can be seen that with switch SgThe overall profit Z of the system is increased. Thus, if selected, the switch S is enabledgWhen the income reaches the maximum, the corresponding light load controller in the light load controller set is used as a target controller, so that the system can obtain the optimal performance as a whole.
(7b) And selecting the controller corresponding to the maximum profit value from the profit values of all the light load controllers in the light load controller set of each switch as a target controller.
(8) And realizing multi-switch migration:
(8a) the multi-switch migration module of the controller selects a controller C with the heaviest load from the overload controller set from the switch set to be migratedsControlled switch S to be migratedw。
(8b) The selected switch S to be migratedwMigrating to the optimal target controller C in the light load controller setm。
Referring to fig. 3, the specific implementation steps of the switch migration protocol from the switch set controlled by the overload controller to the switch set controlled by the light load controller are as follows:
step 1, change target light load controller CbThe role of (1) is "Equal".
First, the overload controller CsSending migration messages to target light load controller CmController CmSending a roll-Request message to switch SwAnd change the controller CmIs "Equal", and then controller CmTo start receiving data from the switch S to be migratedwAnd asynchronous messages sent, such as Packet _ in and the like.
Step 2, insert and delete redundant flow table entries.
To detect the real-time nature of the migration, controller CsAdding an empty Flow table entry to switch S via a Flow-mod messagewTo then switch SwRespectively sending a Flow-removed message to the controller CsAnd a controller CmController C with Equal' rolemStart processing from switch SwOf the asynchronous message.
And 3, refreshing the request message to be processed by using a 'Barrier' request.
Although controller CmHas already begun to process data from switch SwBut controller C, butsThere may be pending processing requests; thus, at controller CsAfter all stream request message processing is completed, controller CsStarting to execute a 'Slave' role; controller CsSending a "Barrier" request to the switch SwAnd wait for the switch SwThe "Barrier" reply message of (1); controller CsReceiving a message from the switch SwAfter the reply, start to notify the controller CmSwitch SaAnd a controller CsIn betweenThe request processing has been completed.
Step 4, changing the light load controller CbThe role of (1) is "Master".
Controller CmSending a "roll-Request" Request message to the switch SwAnd changes its own role as 'Master', and the controller CsIs set to "Slave"; at this time, the switch SwFrom controller CsTo the controller CmHas been completed.
(8c) Respectively mixing C withs、Cm、SwAnd deleting the data from the overload controller set, the light load controller set and the switch set to be migrated.
(8d) And (4) judging whether the overload controller set is an empty set, if so, executing the step (9), otherwise, executing the step (8 a).
(9) The balance of controller load of switch migration is realized.
By the method of the embodiment, the switch to be migrated is effectively migrated, and the load balance of the controller is realized.
The above description is only some specific examples of the present invention and should not be construed as limiting the modifications of the present invention. It will be apparent to persons skilled in the relevant art(s) that, having the benefit of this disclosure and its principles, various modifications and changes in form and detail can be made without departing from the principles and structures of the invention, which are, however, encompassed by the appended claims.
Claims (6)
1. A controller load balancing system based on efficient switch migration comprises switches, agents, controllers and a sub-domain network, and is characterized in that each controller is arranged at a control layer of the system and is provided with a load measuring module, a switch selection module to be migrated, a target controller selection module and a multi-switch migration module; wherein:
the switch is deployed on a data forwarding layer of the system and used for forwarding a data packet;
the agent is deployed on a data forwarding layer of the system and used for being matched with the OpenFlow protocol connection between the connected switch and the controller, receiving the flow table items issued by the controller and converting the flow table items into a logic language which can be identified by the connected switch;
the load measuring module obtains the load of the controller of the module through link protocol data packets mutually transmitted between the controller of the module and all the switches controlled by the controller of the module; judging whether the loads among the controllers are balanced or not; dividing all controllers into overload controllers and light load controllers to generate an overload controller set and a light load controller set;
the switch selection module to be migrated acquires the migration cost required by each switch to be migrated to each light load controller in the light load controller set under the control of the overload controller in the overload controller set of the module through packet _ in and packet _ out messages mutually sent between the overload controller in the overload controller set of the module and all switches controlled by the overload controller in the overload controller set of the module; forming a migration cost matrix by the migration costs of all the switches controlled by the overload controllers in the overload controller set in which the module is positioned; selecting the minimum value of the migration cost in each column from the migration cost matrix, and determining the switch corresponding to each minimum value as the switch to be migrated;
the target controller selection module is used for calculating the average residual resource utilization rate of each light load controller in the light load controller set; calculating the profit value of each switch controlled by each overload controller in the overload controller set to the light load controllers in all the light load controller sets by utilizing the average residual resource utilization rate; selecting a controller corresponding to the maximum profit value from profits of each switch to the light load controllers in all the light load controller sets as a target controller;
the multi-switch migration module is used for migrating a plurality of switches to be migrated to switch sets controlled by respective target controllers respectively;
the number of the sub-domain networks is determined by the total number of controllers, and the sub-domain networks are divided by a system at the time of network initialization, are interconnected by optical fibers by different numbers of switches, and are individually controlled by one controller.
2. The system of claim 1, wherein controller load is measured by a plurality of load metrics, switches to be migrated are selected by minimum switch migration cost, target controllers are selected by maximum remaining resource utilization, and a switch migration method capable of handling multiple switch migrations simultaneously; the method comprises the following steps:
(1) initializing a system:
the method comprises the following steps of randomly dividing a system into f sub-domain networks, wherein f and n have equal values, and n represents the total number of controllers;
(2) measuring the controller load:
(2a) a load measurement module of the controller acquires the affiliated relationship between the controller and all switches controlled by the controller from link protocol data packets mutually transmitted between each controller and the switches controlled by the controller, and establishes an affiliated relationship matrix of the affiliated relationship between all controllers and all switches through the affiliated relationship between each controller and all switches controlled by the controller;
(2b) acquiring the load of each controller from a link protocol data packet mutually transmitted between each controller and a switch controlled by the controller;
(2c) making a ratio of the load between every two controllers to obtain a load difference value, and forming a load difference matrix by the load difference values between all the controllers;
(3) generating an overload controller set and a light load controller set:
(3a) a controller load measurement module of the controller respectively generates an overload controller set and a light load controller set, and initializes the two sets into an empty set;
(3b) selecting two unselected load difference values from the load difference matrix according to the following formula, and calculating the difference value between the two load difference values;
β=|ωcd-ωdc|
β represents the difference between the two selected load difference values, | | | represents the operation of taking the absolute value, |cdA load difference value, ω, representing the c-th row and d-th column of the load difference matrixdcRepresenting the load difference value of the d row and the c column of the load difference matrix;
(3c) judging whether the difference value of the two selected load difference values is greater than a load difference threshold value, if so, executing the step (3d), otherwise, executing the step (3 e);
(3d) respectively adding a high-load controller and a low-load controller in the two controllers corresponding to the two selected load difference values into an overload controller set and a light-load controller set;
(3e) judging whether all load difference values in the load difference matrix are selected, if so, executing the step (4), otherwise, executing the step (3 b);
(4) obtaining the migration cost of the switch:
a switch selection module to be migrated of the controller acquires migration cost required by each switch under the control of each overload controller to be migrated to a corresponding light load controller from packet _ in and packet _ out messages mutually sent between each overload controller and the switch controlled by the overload controller;
(5) determining a switch to be migrated:
(5a) a switch selection module to be migrated of the controller generates a switch set to be migrated, and initializes the set to be an empty set;
(5b) forming a migration cost matrix by the migration costs of all the switches controlled by each overload controller;
(5c) selecting the minimum value of the migration cost in each column from each migration cost matrix, and adding the switch corresponding to the minimum value into a switch set to be migrated;
(6) the target controller selection module of the controller calculates the average remaining resource utilization of each light load controller in the set of light load controllers according to the following formula:
where ρ isqRepresenting the average remaining resource utilization of the qth light-load controller in the set of light-load controllers, α representing the capacity of each controller, b representing the number of light-load controllers in the set of light-load controllers,representing light load controllers C in a set of light load controllersqRepresents a summing operation;
(7) determining a target controller:
(7a) according to the following formula, a target controller selection module of the controller calculates the profit value of each switch in the switch set to be migrated to all light load controllers in the light load controller set;
wherein, ygqRepresenting switches S in a set of switches to be migratedgLight load controller C in light load controller set to be migratedqThe value of the gain obtained, ∈, is denoted as belonging to the symbol, KeIs SgOverload controller C in belonging overload controller setlControlled switch assembly, Sg∈KeIndicating a switch SgController ClControl, vgqIndicating a switch SgTo controller CqIs evaluated with respect to the evaluation value of (c),R*(Sg) Indicating a switch SgThe controller controls the average flow request rate for all switches under control,a denotes a switch SgThe number of the switches controlled by the overload controller,indicating a switch SgAll switches to controller C under the control of the controllerqThe average minimum number of hops of (a),ρ and arbitrary ρqAre equal, theta denotes the switch SgTransaction price per unit resource of xgqIndicating a switch SgAnd a controller CqThe relationship of (a);
(7b) selecting a controller corresponding to the maximum profit value from the profit values of all light load controllers in the light load controller set of each switch as a target controller;
(8) and realizing multi-switch migration:
(8a) the multi-switch migration module of the controller selects a controller C with the heaviest load from the overload controller set from the switch set to be migratedsControlled switch S to be migratedw;
(8b) The selected switch S to be migratedwMigration to the optimal controller C in the light load controller setm;
(8c) Respectively mixing C withs、Cm、SwDeleting the data from an overload controller set, a light load controller set and the switch set to be migrated;
(8d) judging whether the overload controller set is an empty set, if so, executing the step (9), otherwise, executing the step (8 a);
(9) the balance of controller load of switch migration is realized.
3. The method for controller load balancing for efficient switch migration according to claim 2, wherein the elements of the membership matrix in step (2a) are as follows:
wherein x iscdValue of an element, K, representing the column d of the row c in the membership matrixpIndicating a switch SiTo the controller CjControlled switch assembly, Si∈KpIndicating a switch SiController CjAnd (5) controlling.
4. The controller load balancing method for efficient switch migration according to claim 2, wherein the load of each controller in step (2b) includes a processing overhead of a flow request message, a processing overhead established by a protocol rule, and a processing overhead of a status synchronization message;
the processing overhead of the stream request information is obtained by:
wherein, P1Presentation controller CjProcessing overhead of flow request information, R (S), for all switches controlledi) Indicating a switch SiThe quantity of the flow request messages sent to the controller to which the flow request messages belong;
the processing overhead is given by:
wherein, P2Representing the processing overhead of protocol rule formulation between all controllers and all switches, S representing the set of switches, C representing the set of controllers, hijIndicating a switch SiAnd a controller CjThe number of hops between the two is,packet_inindicating a switch SiAverage size, x, of packet _ in messages sentijIndicating a switch SiAnd a controller CjA value of the relationship therebetween;
the processing overhead of the state synchronization message is derived from the following equation:
wherein, P3Presentation controller CjOverhead of processing state synchronization messages with all other controllers, ηstateRepresenting the average amount of status information, h, sent between all controllersjuPresentation controller CjAnd a controller CuThe number of hops in between.
5. The method for controller load balancing for efficient switch migration according to claim 2, wherein the load difference threshold in step (3c) is obtained by the following formula;
the load difference threshold is represented, max Ω represents a maximum load difference value in the load difference matrix Ω, and min Ω represents a minimum load difference value in the load difference matrix Ω.
6. The controller load balancing method for efficient switch migration according to claim 2, wherein the migration cost in step (4) includes a change cost for processing flow request messages, a deployment cost for migration rules, and an update cost for load imbalance degree;
the varying cost of processing the stream request message is derived from:
F1=R(Sk)×min(hkq)×xkq-R(Sk)×min(hkl)×xkl
wherein, F1Indicating overload controller ClSwitch S to be migrated assuming control thereofkController C for migrating to light loadqFront and back exchanges SkVarying cost of handling streaming request messages, R (S)k) Indicating a switch SkThe number of traffic request messages, min (h), sent to its controllerkq) Indicating a switch SkAnd a controller CqShortest number of hops between, xkqIndicating a switch SkAnd a controller CqIn the relationship of (c), min (h)kl) Indicating a switch SkAnd a controller ClShortest number of hops between, xklIndicating a switch SkAnd a controller ClThe relationship of (a);
the deployment cost of the migration rule is obtained by the following formula:
F2=ωrule×hkl
wherein, F2Represents the deployment cost, ω, of the migration rulerulePresentation controller ClTo the exchange SkFlow _ mod message size, hklIndicating a switch SkAnd a controller ClThe number of hops in between;
the update cost of the load imbalance degree is obtained by the following formula:
wherein, F3Update cost, λ, representing the degree of load imbalance*Indicating a switch SkThe average load of all controllers after migration,presentation controller ClShift-out switch SkTo the controller CqRear controller ClThe load is a load of the vehicle,indicating a controller C after a switch migrationqThe load of (2).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010610460.1A CN111711576B (en) | 2020-06-30 | 2020-06-30 | Controller load balancing system and method based on efficient switch migration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010610460.1A CN111711576B (en) | 2020-06-30 | 2020-06-30 | Controller load balancing system and method based on efficient switch migration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711576A true CN111711576A (en) | 2020-09-25 |
CN111711576B CN111711576B (en) | 2022-03-04 |
Family
ID=72543255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010610460.1A Active CN111711576B (en) | 2020-06-30 | 2020-06-30 | Controller load balancing system and method based on efficient switch migration |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711576B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491747A (en) * | 2020-11-25 | 2021-03-12 | 湖南麒麟信安科技股份有限公司 | Application method of high-availability data exchange cluster |
CN113301143A (en) * | 2021-05-21 | 2021-08-24 | 河南工学院 | SDN distributed control plane load balancing method based on stable matching |
CN113630330A (en) * | 2021-08-09 | 2021-11-09 | 北京邮电大学 | Multi-controller load balancing method and system for software defined network |
CN113645146A (en) * | 2021-08-09 | 2021-11-12 | 北京邮电大学 | New stream density-based load balancing method and system for software defined network controller |
CN114979007A (en) * | 2022-05-18 | 2022-08-30 | 公诚管理咨询有限公司 | Load balancer adjusting method and system based on 5G core network NFV slicing technology |
CN115150342A (en) * | 2022-07-13 | 2022-10-04 | 杭州师范大学 | Switch migration method and system based on cost perception |
CN115361341A (en) * | 2022-10-19 | 2022-11-18 | 南京邮电大学 | SDN multi-controller-based data center network load balancing method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503826A (en) * | 2015-01-04 | 2015-04-08 | 中国联合网络通信集团有限公司 | Virtual machine mapping method and device for cloud computing data center |
US20170195254A1 (en) * | 2015-12-31 | 2017-07-06 | Fortinet, Inc. | Application based conditional forwarding and load balancing in a software defined networking (sdn) architecture |
CN107819695A (en) * | 2017-10-19 | 2018-03-20 | 西安电子科技大学 | A kind of distributed AC servo system SiteServer LBS and method based on SDN |
CN108880918A (en) * | 2018-08-24 | 2018-11-23 | 北京邮电大学 | A kind of SDN multi-controller load-balancing method and system |
CN108900428A (en) * | 2018-06-26 | 2018-11-27 | 南京邮电大学 | Controller load-balancing method based on interchanger dynamic migration |
CN110784366A (en) * | 2019-11-11 | 2020-02-11 | 重庆邮电大学 | Switch migration method based on IMMAC algorithm in SDN |
CN111092821A (en) * | 2018-10-24 | 2020-05-01 | 杨晨曦 | SDN network load balancing method based on dynamic migration |
-
2020
- 2020-06-30 CN CN202010610460.1A patent/CN111711576B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503826A (en) * | 2015-01-04 | 2015-04-08 | 中国联合网络通信集团有限公司 | Virtual machine mapping method and device for cloud computing data center |
US20170195254A1 (en) * | 2015-12-31 | 2017-07-06 | Fortinet, Inc. | Application based conditional forwarding and load balancing in a software defined networking (sdn) architecture |
CN107819695A (en) * | 2017-10-19 | 2018-03-20 | 西安电子科技大学 | A kind of distributed AC servo system SiteServer LBS and method based on SDN |
CN108900428A (en) * | 2018-06-26 | 2018-11-27 | 南京邮电大学 | Controller load-balancing method based on interchanger dynamic migration |
CN108880918A (en) * | 2018-08-24 | 2018-11-23 | 北京邮电大学 | A kind of SDN multi-controller load-balancing method and system |
CN111092821A (en) * | 2018-10-24 | 2020-05-01 | 杨晨曦 | SDN network load balancing method based on dynamic migration |
CN110784366A (en) * | 2019-11-11 | 2020-02-11 | 重庆邮电大学 | Switch migration method based on IMMAC algorithm in SDN |
Non-Patent Citations (3)
Title |
---|
YONG LIU,ETC: "Dynamic SDN Controller Placement in Elastic Optical Datacenter Networks", 《IEEE》 * |
YONG LIU,ETC: "Multi-Controller Placement Based on Load Balancing in Inter-DC Elastic Optical Networks", 《IEEE》 * |
蒋雯丽等: "SDN中区分交换机等级的控制器负载均衡算法", 《计算机应用与软件》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491747A (en) * | 2020-11-25 | 2021-03-12 | 湖南麒麟信安科技股份有限公司 | Application method of high-availability data exchange cluster |
CN112491747B (en) * | 2020-11-25 | 2022-06-14 | 湖南麒麟信安科技股份有限公司 | Application method of high-availability data exchange cluster |
CN113301143A (en) * | 2021-05-21 | 2021-08-24 | 河南工学院 | SDN distributed control plane load balancing method based on stable matching |
CN113301143B (en) * | 2021-05-21 | 2022-07-12 | 河南工学院 | SDN distributed control plane load balancing method based on stable matching |
CN113630330A (en) * | 2021-08-09 | 2021-11-09 | 北京邮电大学 | Multi-controller load balancing method and system for software defined network |
CN113645146A (en) * | 2021-08-09 | 2021-11-12 | 北京邮电大学 | New stream density-based load balancing method and system for software defined network controller |
CN113630330B (en) * | 2021-08-09 | 2023-07-28 | 北京邮电大学 | Multi-controller load balancing method and system for software defined network |
CN113645146B (en) * | 2021-08-09 | 2023-09-26 | 北京邮电大学 | New stream density-based software defined network controller load balancing method and system |
CN114979007A (en) * | 2022-05-18 | 2022-08-30 | 公诚管理咨询有限公司 | Load balancer adjusting method and system based on 5G core network NFV slicing technology |
CN115150342A (en) * | 2022-07-13 | 2022-10-04 | 杭州师范大学 | Switch migration method and system based on cost perception |
CN115361341A (en) * | 2022-10-19 | 2022-11-18 | 南京邮电大学 | SDN multi-controller-based data center network load balancing method |
Also Published As
Publication number | Publication date |
---|---|
CN111711576B (en) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111711576B (en) | Controller load balancing system and method based on efficient switch migration | |
Sahoo et al. | ESMLB: Efficient switch migration-based load balancing for multicontroller SDN in IoT | |
Wei et al. | Imperfect information dynamic stackelberg game based resource allocation using hidden Markov for cloud computing | |
Tang et al. | A dynamical and load-balanced flow scheduling approach for big data centers in clouds | |
JP2685067B2 (en) | How to control computers in the network | |
Ahmad et al. | Semi-distributed load balancing for massively parallel multicomputer systems | |
US6986139B1 (en) | Load balancing method and system based on estimated elongation rates | |
EP0926860B1 (en) | Traffic route finder in communications network | |
Loh et al. | How network topology affects dynamic loading balancing | |
CN110784366B (en) | Switch migration method based on IMMAC algorithm in SDN | |
CN102112981A (en) | Distribution of virtual machines in a communication network | |
CN108289064A (en) | Mixed load equalization methods in a kind of data center net | |
Ayoubi et al. | MINTED: Multicast virtual network embedding in cloud data centers with delay constraints | |
CN101883039A (en) | Data transmission network of large-scale clustering system and construction method thereof | |
JP2002278945A (en) | Method and system for distributing transaction load between computers with multi-processor configuration and program | |
CN114567598A (en) | Load balancing method and device based on deep learning and cross-domain cooperation | |
Liu et al. | Highly-efficient switch migration for controller load balancing in elastic optical inter-datacenter networks | |
Christodoulopoulos et al. | A comparison of centralized and distributed meta-scheduling architectures for computation and communication tasks in Grid networks | |
CN108880918A (en) | A kind of SDN multi-controller load-balancing method and system | |
Liu et al. | A port-based forwarding load-balancing scheduling approach for cloud datacenter networks | |
CN111143036A (en) | Virtual machine resource scheduling method based on reinforcement learning | |
CN101013955A (en) | Fast simulated annealing for traffic matrix estimation | |
CN116233133A (en) | Method for balancing network load of digital twin auxiliary data center | |
Liao et al. | Live: learning and inference for virtual network embedding | |
CN117155942A (en) | Micro-service dynamic self-adaptive client load balancing method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |