Resource pre-deployment method, device, electronic device and readable storage medium
The resource allocation is performed through the taboo search algorithm, which solves the problem of unbalanced resource allocation in batch instantiation of virtual network functions, and realizes the optimal deployment and global allocation of resources.
Patent Information
- Application Number
- CN202011237584.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-09
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2040-11-09
AI Technical Summary
During the batch instantiation of virtual network functions (VNF), it is difficult for the prior art to achieve global optimal resource deployment, resulting in unbalanced resource allocation.
By obtaining the resource requirements information of the VNF to be deployed and the available resource information of the virtual infrastructure manager VIM, the resource allocation is allocated using the taboo search algorithm, and the resource allocation results are generated and sent to the VIM.
The optimal deployment of resources is achieved, ensuring the global allocation and utilization of resources are maximized.
Smart Images

Figure CN114461331B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence technology, and in particular to a resource pre-deployment method, device, electronic device and readable storage medium. Background Art
[0002] Network Function Virtualization (NFV) is the use of virtualization technology to deploy traditional CT services on the cloud platform, thereby achieving coupling between software and hardware. During the normal instantiation and deployment of virtualized network functions (VNFs), virtual machines are created individually. During the creation of virtual machines, the scheduling mechanism in the Virtual Infrastructure Manager (VIM) refers to the already deployed virtual machine resources to decide the location of the next virtual machine deployment. Single VNF instantiation can ensure optimal deployment, but when VNFs are instantiated in batches, it is not the optimal deployment from a global perspective. Summary of the invention
[0003] The purpose of the present invention is to provide a resource pre-deployment method, device, electronic device and readable storage medium to solve the resource allocation problem in the resource deployment process.
[0004] To achieve the above object, an embodiment of the present invention provides a resource pre-deployment method, comprising:
[0005] Obtain resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM;
[0006] Obtaining a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information;
[0007] The resource allocation result is sent to the VIM.
[0008] Optionally, obtaining a resource allocation result by using a taboo search algorithm according to the resource demand information and the available resource information includes:
[0009] generating an initial solution according to the resource demand information and the available resource information;
[0010] The initial solution is perturbed by a neighborhood structure generated by a Cauchy distribution to generate a first solution set;
[0011] Evaluate the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set;
[0012] Determine a first target solution according to the target value;
[0013] Conduct taboo and contempt judgment on the first target solution;
[0014] When the first target solution satisfies the taboo rule and the contempt rule, outputting the first target solution;
[0015] In a case where the taboo search algorithm satisfies a termination condition, the first target solution is determined to be the resource allocation result.
[0016] Optionally, the neighborhood structure generated by the Cauchy distribution perturbs the initial solution to generate a first solution set, including:
[0017] Perturbing the first target bit in the initial solution through a centralized neighborhood generated by a Cauchy distribution to obtain a first solution;
[0018] The second target number of bits in the initial solution is perturbed by a diversified neighborhood generated by a Cauchy distribution to obtain a second solution;
[0019] The first solution and the second solution constitute the first solution set, and the first target number of bits is smaller than the second target number of bits.
[0020] Optionally, the formula for perturbing the initial solution by the neighborhood structure generated by the Cauchy distribution is:
[0021]
[0022] Where x represents the initial solution, f(x; x 0 ; γ) represents the perturbed solution corresponding to the initial solution, x 0 represents the offset of the initial solution, and γ represents the scale parameter of the Cauchy distribution.
[0023] Optionally, evaluating the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set includes:
[0024] Calculate the target value corresponding to each solution in the first solution set by using the target function, wherein at least two solutions in the first solution set calculate the target value in parallel;
[0025] The objective function is:
[0026]
[0027] Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit (CPU), ωMEM is the target weight value of memory MEM (Memory), ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P;
[0028] U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes;
[0029] Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
[0030] Optionally, the objective function U(CPU j (k)) is defined as:
[0031]
[0032] Objective function U(MEM j (k)) is defined as:
[0033]
[0034] Objective function U(ΔLoad p (k)) is defined as:
[0035]
[0036] Among them, TH CPU Indicates the threshold value of the CPU target value, TH MEM The threshold value of the target value of MEM, TH Load Indicates the threshold value of the target load value.
[0037] Optionally, performing taboo and contempt judgment on the first target solution includes:
[0038] Determining whether the first target solution is taboo;
[0039] If the first target solution is not tabooed, adding the first target solution to the taboo table;
[0040] If the first target solution is taboo, determining whether the first target solution is despised;
[0041] If the first target solution is despised, outputting the first target solution;
[0042] If the first target solution is not disrespected, the second target solution is selected to execute taboo and disrespect judgment.
[0043] Optionally, the termination condition includes one of the following:
[0044] The target value reaches a preset threshold;
[0045] The number of iterations of the taboo search algorithm reaches a preset number of iterations;
[0046] The search time of the taboo search algorithm reaches a preset time;
[0047] During the iterative calculation process, the historical optimal solution obtained by the taboo search algorithm has not been updated for a preset number of times.
[0048] Optionally, before obtaining resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM, the method further includes:
[0049] In the Network Function Virtualization Orchestrator (NFVO), determine the VNF to be deployed.
[0050] Optionally, after sending the resource allocation result to the virtual infrastructure manager VIM, the method further includes:
[0051] According to the resource allocation result, the virtual network function VNF is instantiated through the VIM, the network function virtualization orchestrator NFVO and the virtualized network function module manager (Virtualised Network Function Manager, VNFM).
[0052] To achieve the above object, an embodiment of the present invention provides a resource pre-deployment device, comprising:
[0053] A first acquisition module is used to obtain resource requirement information of a virtual network function VNF to be deployed and available resource information of a virtual infrastructure manager VIM;
[0054] A second acquisition module is used to obtain a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information;
[0055] The first sending module is used to send the resource allocation result to the virtual infrastructure manager VIM.
[0056] Optionally, the second acquisition module includes:
[0057] A first generating unit, configured to generate an initial solution according to the resource requirement information and the available resource information;
[0058] A first processing unit is used to perturb the initial solution through a neighborhood structure generated by a Cauchy distribution to generate a first solution set;
[0059] a second processing unit, configured to evaluate the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set;
[0060] A first determining unit, configured to determine a first target solution according to the target value;
[0061] A third processing unit, configured to perform taboo and contempt judgment on the first target solution;
[0062] A first output unit, configured to output the first target solution when the first target solution satisfies the taboo rule and the contempt rule;
[0063] The second determining unit is configured to determine that the first target solution is the resource allocation result when the taboo search algorithm satisfies a termination condition.
[0064] Optionally, the first processing unit is specifically configured to: perturb the first target bit number in the initial solution through a centralized neighborhood generated by a Cauchy distribution to obtain a first solution;
[0065] The second target number of bits in the initial solution is perturbed by a diversified neighborhood generated by a Cauchy distribution to obtain a second solution;
[0066] The first solution and the second solution constitute the first solution set, and the first target number of bits is smaller than the second target number of bits.
[0067] Optionally, the formula for perturbing the initial solution by the neighborhood structure generated by the Cauchy distribution is:
[0068]
[0069] Where x represents the initial solution, f(x; x 0 ; γ) represents the perturbed solution corresponding to the initial solution, x 0represents the offset of the initial solution, and γ represents the scale parameter of the Cauchy distribution.
[0070] Optionally, the second processing unit is specifically configured to: calculate a target value corresponding to each solution in the first solution set by using a target function, wherein at least two solutions in the first solution set calculate the target value in parallel;
[0071] The objective function is:
[0072]
[0073] Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P;
[0074] U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes;
[0075] Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
[0076] Optionally, the objective function U(CPU j (k)) is defined as:
[0077]
[0078] Objective function U(MEM j (k)) is defined as:
[0079]
[0080] Objective function U(ΔLoad p (k)) is defined as:
[0081]
[0082] Among them, TH CPU Indicates the threshold value of the CPU target value, TH MEM The threshold value of the target value of MEM, TH Load Indicates the threshold value of the target load value.
[0083] Optionally, the third processing unit is specifically configured to:
[0084] Determining whether the first target solution is taboo;
[0085] If the first target solution is not tabooed, adding the first target solution to the taboo table;
[0086] If the first target solution is taboo, determining whether the first target solution is despised;
[0087] If the first target solution is despised, outputting the first target solution;
[0088] If the first target solution is not disrespected, the second target solution is selected to execute taboo and disrespect judgment.
[0089] Optionally, the termination condition includes one of the following:
[0090] The target value reaches a preset threshold;
[0091] The number of iterations of the taboo search algorithm reaches a preset number of iterations;
[0092] The search time of the taboo search algorithm reaches a preset time;
[0093] During the iterative calculation process, the historical optimal solution obtained by the taboo search algorithm has not been updated for a preset number of times.
[0094] Optionally, the device further comprises:
[0095] The first determination module is used to determine the VNF to be deployed in the network function virtualization orchestrator NFVO.
[0096] Optionally, the device further comprises:
[0097] The processing module is used to instantiate the virtual network function VNF through the VIM, the network function virtualization orchestrator NFVO and the virtual network function module manager VNFM according to the resource allocation result.
[0098] To achieve the above object, an embodiment of the present invention provides an electronic device, including a transceiver and a processor, wherein:
[0099] The transceiver is used to: obtain resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM;
[0100] The processor is used to: obtain a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information;
[0101] The transceiver is further configured to send the resource allocation result to a virtual infrastructure manager VIM.
[0102] Optionally, when the processor obtains the resource allocation result by using a taboo search algorithm according to the resource demand information and the available resource information, the processor is further configured to:
[0103] generating an initial solution according to the resource demand information and the available resource information;
[0104] The initial solution is perturbed by a neighborhood structure generated by a Cauchy distribution to generate a first solution set;
[0105] Evaluate the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set;
[0106] Determine a first target solution according to the target value;
[0107] Conduct taboo and contempt judgment on the first target solution;
[0108] When the first target solution satisfies the taboo rule and the contempt rule, outputting the first target solution;
[0109] In a case where the taboo search algorithm satisfies a termination condition, the first target solution is determined to be the resource allocation result.
[0110] Optionally, the processor is further configured to:
[0111] Perturbing the first target bit in the initial solution through a centralized neighborhood generated by a Cauchy distribution to obtain a first solution;
[0112] The second target number of bits in the initial solution is perturbed by a diversified neighborhood generated by a Cauchy distribution to obtain a second solution;
[0113] The first solution and the second solution constitute the first solution set, and the first target number of bits is smaller than the second target number of bits.
[0114] Optionally, the formula for perturbing the initial solution by the neighborhood structure generated by the Cauchy distribution is:
[0115]
[0116] Where x represents the initial solution, f(x; x 0 ; γ) represents the perturbed solution corresponding to the initial solution, x 0 represents the offset of the initial solution, and γ represents the scale parameter of the Cauchy distribution.
[0117] Optionally, when the processor evaluates the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set, the processor is further configured to:
[0118] Calculate the target value corresponding to each solution in the first solution set by using the target function, wherein at least two solutions in the first solution set calculate the target value in parallel;
[0119] The objective function is:
[0120]
[0121] Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P;
[0122] U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes;
[0123] Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
[0124] Optionally, the objective function U(CPU j (k)) is defined as:
[0125]
[0126] Objective function U(MEM j (k)) is defined as:
[0127]
[0128] Objective function U(ΔLoad p (k)) is defined as:
[0129]
[0130] Among them, TH CPU Indicates the threshold value of the CPU target value, TH MEM The threshold value of the target value of MEM, TH Load Indicates the threshold value of the target load value.
[0131] Optionally, when the processor performs taboo and contempt judgment on the first target solution, it is further configured to:
[0132] Determining whether the first target solution is taboo;
[0133] If the first target solution is not tabooed, adding the first target solution to the taboo table;
[0134] If the first target solution is taboo, determining whether the first target solution is despised;
[0135] If the first target solution is despised, outputting the first target solution;
[0136] If the first target solution is not disrespected, the second target solution is selected to execute taboo and disrespect judgment.
[0137] Optionally, the termination condition includes one of the following:
[0138] The target value reaches a preset threshold;
[0139] The number of iterations of the taboo search algorithm reaches a preset number of iterations;
[0140] The search time of the taboo search algorithm reaches a preset time;
[0141] During the iterative calculation process, the historical optimal solution obtained by the taboo search algorithm has not been updated for a preset number of times.
[0142] Optionally, the processor is further used to: determine the VNF to be deployed in the network function virtualization orchestrator NFVO.
[0143] Optionally, the processor is further used to: instantiate a virtual network function VNF through the VIM, the network function virtualization orchestrator NFVO and the virtual network function module manager VNFM according to the resource allocation result.
[0144] To achieve the above objectives, an embodiment of the present invention provides an electronic device, including a transceiver, a processor, a memory, and a program or instruction stored in the memory and executable on the processor; when the processor executes the program or instruction, the resource pre-deployment method as described above is implemented.
[0145] To achieve the above objective, an embodiment of the present invention provides a readable storage medium having a program or instruction stored thereon, wherein the program or instruction, when executed by a processor, implements the steps in the resource pre-deployment method as described above.
[0146] The beneficial effects of the above technical solution of the present invention are as follows:
[0147] In an embodiment of the present invention, NFVO obtains resource demand information of all VNFs that need to be deployed at the current time node from VNFM, and queries VIM for available resource information at the current moment, and obtains resource allocation results through a taboo search algorithm, thereby obtaining the accurate location where each virtual machine should be deployed, and models the resource allocation problem as a problem of maximizing resource utilization when resources are determined in practice. Subsequently, it only needs to be directly deployed according to the virtual machine deployment location in the resource allocation result, and global allocation is performed, which can ensure optimal resource deployment. BRIEF DESCRIPTION OF THE DRAWINGS
[0148] Figure 1 This is one of the flow charts of the resource pre-deployment method according to an embodiment of the present invention;
[0149] Figure 2 This is a second flow chart of the resource pre-deployment method according to an embodiment of the present invention;
[0150] Figure 3 A schematic diagram of the structure of a resource pre-deployment device according to an embodiment of the present invention;
[0151] Figure 4 This is one of the structural schematic diagrams of an electronic device according to an embodiment of the present invention;
[0152] Figure 5 This is a second structural schematic diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0153] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0154] It should be understood that the references to "one embodiment" or "an embodiment" throughout the specification mean that the specific features, structures, or characteristics associated with the embodiment are included in at least one embodiment of the present invention. Therefore, the references to "in one embodiment" or "in an embodiment" appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0155] In various embodiments of the present invention, it should be understood that the size of the serial numbers of the following processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0156] Additionally, the terms "system" and "network" are often used interchangeably herein.
[0157] In the embodiments provided in the present application, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.
[0158] like Figure 1 As shown, a resource pre-deployment method according to an embodiment of the present invention includes:
[0159] Step 101: Obtain resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM.
[0160] In the NFVO system, select the VNF to be deployed, and there may be multiple VNFs. NFVO queries VNFM for a list of resource requirements required by each VNF, such as the number of virtual machines, specifications, affinity, etc. NFVO queries VIM for the resource information currently available to VIM, such as a list of host information available to VIM.
[0161] Step 102: Obtain a resource allocation result using a tabu search algorithm according to the resource demand information and the available resource information.
[0162] According to the resource requirements of the VNF to be deployed and the available resources of the VIM, a taboo search algorithm is used to calculate the resource reservation result, that is, the resource allocation result. The taboo search algorithm is an improved algorithm.
[0163] Step 103: Send the resource allocation result to the VIM.
[0164] NFVO sends the resource allocation results to VIM, and NFVO, VNFM, and VIM cooperate to instantiate VNF.
[0165] In an embodiment of the present invention, NFVO obtains resource demand information of all VNFs that need to be deployed at the current time node from VNFM, and queries VIM for available resource information at the current moment, and obtains resource allocation results through a taboo search algorithm, thereby obtaining the accurate location where each virtual machine should be deployed, and models the resource allocation problem as a problem of maximizing resource utilization when resources are determined in practice. Subsequently, it only needs to be directly deployed according to the virtual machine deployment location in the resource allocation result, and global allocation is performed, which can ensure optimal resource deployment.
[0166] For the resource reservation problem, when the resource requirement list and the virtual machine resource scale are large, it is necessary to find the optimal allocation plan, which needs to be solved by using an intelligent optimization algorithm. The embodiment of the present application uses a taboo search algorithm to achieve this.
[0167] Furthermore, the step 102 may include:
[0168] 1): Generate an initial solution according to the resource demand information and the available resource information; there are multiple methods for generating the initial solution, for example, a random generation method or a resource allocation method already existing in the existing network.
[0169] 2): The initial solution is perturbed by the neighborhood structure generated by the Cauchy distribution to generate a first solution set.
[0170] The taboo search algorithm in this embodiment perturbs the initial solution respectively through two kinds of neighborhood structures generated by Cauchy distribution. Specifically, the neighborhood structure generated by Cauchy distribution perturbs the initial solution to generate a first solution set, including: perturbing the first target number of bits in the initial solution through a centralized neighborhood generated by Cauchy distribution to obtain a first solution; perturbing the second target number of bits in the initial solution through a diversified neighborhood generated by Cauchy distribution to obtain a second solution; the first solution and the second solution constitute the first solution set, and the first target number of bits is less than the second target number of bits.
[0171] The formula for perturbing the initial solution through the neighborhood structure generated by the Cauchy distribution is:
[0172]
[0173] Where x represents the initial solution, f(x; x 0 ; γ) represents the perturbed solution corresponding to the initial solution, x 0 represents the offset of the initial solution, and γ represents the scale parameter of the Cauchy distribution.
[0174] It should be noted that the centralized neighborhood randomly selects a smaller number of digits in the solution vector for perturbation, and the perturbation model selects the scale parameter γ1 The diversified neighborhood randomly selects more digits in the solution vector for perturbation, and the perturbation model selects the scale parameter equal to γ 2 The Cauchy distribution of .
[0175] In order to achieve better performance of the algorithm, the number of solutions generated by the centralized neighborhood and the diversified neighborhood can be adaptively adjusted. During multiple iterations, if the performance of the solution has been on an upward trend, more solutions can be generated in the centralized neighborhood. Otherwise, when the performance of the solution shows a downward trend, more solutions are generated in the diversified neighborhood.
[0176] 3): Evaluate the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set.
[0177] All solutions generated in the neighborhood are evaluated and calculated according to the objective function to obtain the target value corresponding to each solution. In order to speed up the calculation, parallel computing can be used, that is, the target values of multiple solutions are calculated simultaneously. The purpose of pre-deployment of resources is to make global allocations based on virtual machine resources to ensure optimal resource deployment. Therefore, the resource reservation problem can be determined as a problem of maximizing resource utilization when resources are determined in practice. In this problem, the available resources are determined, and constraints need to be considered, that is, the available resources are determined.
[0178] Specifically, the evaluating the solutions in the first solution set to obtain the target value corresponding to each solution in the first solution set includes: calculating the target value corresponding to each solution in the first solution set by using the target function. At least two solutions in the first solution set calculate the target value in parallel. In order to speed up the calculation of the target value, spatial parallel computing is used, that is, multiple processors are used to perform the calculation concurrently. For example, using a quad-core processor for calculation, the calculation speed of the evaluation target can be accelerated by four times. The specific parallel computing scheme can be selected according to different programming languages. For example, if C++ is used for programming, openMP can be used for parallel computing.
[0179] The objective function is:
[0180]
[0181] Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Loadis the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P;
[0182] U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Represents the load difference between two adjacent nodes (always non-negative);
[0183] Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, Available represents the total value of available resources of VIM, and CPU and MEM are mainly considered here. If the optimization target is extended to other parameters, the resource constraints here should also be extended accordingly.
[0184] Objective function U(CPU j (k)) is defined as:
[0185]
[0186] Objective function U(MEM j (k)) is defined as:
[0187]
[0188] Objective function U(ΔLoad p (k)) is defined as:
[0189]
[0190] Among them, TH CPU Indicates the threshold value of the CPU target value, TH MEM The threshold value of the target value of MEM, TH Load Indicates the threshold value of the target load value.
[0191] In this embodiment, the resource requirement list set of the selected VNF queried from the VNFM is defined as: I = {1, 2, ... i}, and the load of node j is defined as the number of nodes in the set I allocated to node j, that is, Load j =∑i∈I n i .
[0192] 4): Determine a first target solution according to the target value.
[0193] The taboo search algorithm obtains the target value corresponding to each solution, and the target values of multiple solutions can be sorted, and the first target solution can be selected according to the optimization requirements, such as: selecting the solution corresponding to the largest target value in the sorting as the first target solution.
[0194] 5): Make taboo and contempt judgments on the first target solution.
[0195] Taboo and contempt are mainly used to judge whether a solution is acceptable. Specifically, the taboo and contempt judgment on the first target solution may include:
[0196] Determine whether the first target solution is taboo; after each iteration, multiple solutions are generated, the objective function is used to evaluate the performance of the multiple solutions, and then a relatively good solution is selected from the multiple solutions, that is, the first target solution, to determine whether the first target solution is taboo.
[0197] If the first target solution is not tabooed, the first target solution is added to the taboo table; when the first target solution is not tabooed, the first target solution is accepted and added to the taboo table.
[0198] If the first target solution is taboo, determining whether the first target solution is despised;
[0199] If the first target solution is despised, the first target solution is output; if the first target solution can be despised, the first target solution is accepted.
[0200] If the first target solution is not despised, the second target solution is selected to perform taboo and contempt judgment. When the first target solution cannot be despised, the first target solution is discarded, and the next better second target solution is selected to start from the step of judging whether it is taboo, and judge whether the second target solution is taboo and contempt in turn.
[0201] 6): When the first target solution satisfies the taboo rule and the contempt rule, the first target solution is output.
[0202] The taboo rule is: if the first target solution exists in the taboo table, the first target solution is tabooed. The contempt rule is: if the first target solution is better than the historical optimal solution, the first target solution can be contemptuous.
[0203] Taboo table operation: Set the length of the taboo table to L. After each iteration, determine whether the length of the taboo table exceeds L. If it exceeds L, clear the solution that was first added to the taboo table.
[0204] 7): When the taboo search algorithm meets the termination condition, determine that the first target solution is the resource allocation result.
[0205] Specifically, the termination condition may be set according to a specific application scenario. Optionally, the termination condition includes one of the following:
[0206] The target value reaches a preset threshold; that is, after the target value reaches a certain threshold, the algorithm is terminated.
[0207] When the number of iterations of the taboo search algorithm reaches a preset number of iterations, that is, when the number of iterations reaches a certain number threshold, the algorithm is terminated.
[0208] The search time of the taboo search algorithm reaches a preset time; that is, after the algorithm search time reaches a certain threshold, the algorithm is terminated.
[0209] During the iterative calculation process, the historical optimal solution obtained by the taboo search algorithm has not been updated for a preset number of times; that is, after the historical optimal solution has not been updated for a preset number of times, the algorithm is terminated.
[0210] The implementation process of the taboo search algorithm is described below by using specific embodiments in conjunction with the accompanying drawings. Figure 2 As shown: algorithm initialization; setting the current solution, i.e., the initial solution; generating several first solutions in a centralized neighborhood, and generating several second solutions in a diversified neighborhood. It should be noted that the steps of generating solutions in the centralized neighborhood and the diversified neighborhood do not distinguish between the order of precedence; all solutions generated in this iteration (i.e., the first solution and the second solution) form a set; using the objective function to evaluate multiple solutions, which can be calculated in parallel; selecting a better solution from the set, i.e., the first target solution; performing taboo and contempt processes; judging whether the first target solution is the historical optimal solution, if so, storing the first target solution as the historical optimal solution, otherwise directly judging whether the termination condition is met; when the termination condition is met, the taboo search algorithm ends and outputs the optimal solution.
[0211] Optionally, the method further includes: determining the VNF to be deployed in the network function virtualization orchestrator NFVO, that is, the VNF to be deployed is determined in the NFVO system.
[0212] The method further includes: instantiating a virtual network function VNF through the VIM, a network function virtualization orchestrator NFVO, and a virtual network function module manager VNFM according to the resource allocation result.
[0213] After using the taboo search algorithm to output the resource allocation results, NFVO directly sends the resource allocation results to VIM. Subsequently, NFVO, VNFM, and VIM cooperate to complete the instantiation of multiple VNFs, that is, multiple VNF instances are successfully deployed.
[0214] If the resources are insufficient, the results of the algorithm search are used to meet the resources required by the first k VNFs, and a prompt is given: due to resource limitations, resources have been allocated to the first k VNFs, and the remaining nk VNFs can wait for sufficient resources to be instantiated, or the last nk VNFs are prompted to select other VIMs for instantiation.
[0215] In an embodiment of the present invention, NFVO obtains resource demand information of all VNFs that need to be deployed at the current time node from VNFM, and queries VIM for available resource information at the current moment, and obtains resource allocation results through a taboo search algorithm, thereby obtaining the accurate location where each virtual machine should be deployed, and models the resource allocation problem as a problem of maximizing resource utilization when resources are determined in practice. Subsequently, it only needs to be directly deployed according to the virtual machine deployment location in the resource allocation result, and global allocation is performed, which can ensure optimal resource deployment.
[0216] like Figure 3 As shown, the embodiment of the present invention further provides a resource pre-deployment device 300, including:
[0217] A first acquisition module 310 is used to acquire resource requirement information of a virtual network function VNF to be deployed and available resource information of a virtual infrastructure manager VIM;
[0218] A second acquisition module 320 is used to obtain a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information;
[0219] The first sending module 330 is configured to send the resource allocation result to the virtual infrastructure manager VIM.
[0220] Optionally, the second acquisition module includes:
[0221] A first generating unit, configured to generate an initial solution according to the resource requirement information and the available resource information;
[0222] A first processing unit is used to perturb the initial solution through a neighborhood structure generated by a Cauchy distribution to generate a first solution set;
[0223] a second processing unit, configured to evaluate the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set;
[0224] A first determining unit, configured to determine a first target solution according to the target value;
[0225] A third processing unit, configured to perform taboo and contempt judgment on the first target solution;
[0226] A first output unit, configured to output the first target solution when the first target solution satisfies the taboo rule and the contempt rule;
[0227] The second determining unit is configured to determine that the first target solution is the resource allocation result when the taboo search algorithm satisfies a termination condition.
[0228] Optionally, the first processing unit is specifically configured to: perturb the first target bit number in the initial solution through a centralized neighborhood generated by a Cauchy distribution to obtain a first solution;
[0229] The second target number of bits in the initial solution is perturbed by a diversified neighborhood generated by a Cauchy distribution to obtain a second solution;
[0230] The first solution and the second solution constitute the first solution set, and the first target number of bits is smaller than the second target number of bits.
[0231] Optionally, the formula for perturbing the initial solution by the neighborhood structure generated by the Cauchy distribution is:
[0232]
[0233] Where x represents the initial solution, f(x; x 0 ; γ) represents the perturbed solution corresponding to the initial solution, x 0 represents the offset of the initial solution, and γ represents the scale parameter of the Cauchy distribution.
[0234] Optionally, the second processing unit is specifically configured to: calculate a target value corresponding to each solution in the first solution set by using a target function, wherein at least two solutions in the first solution set calculate the target value in parallel;
[0235] The objective function is:
[0236]
[0237] Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P;
[0238] U(CPU j (k)) indicates CPU j(k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes;
[0239] Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
[0240] Optionally, the objective function U(CPU j (k)) is defined as:
[0241]
[0242] Objective function U(MEM j (k)) is defined as:
[0243]
[0244] Objective function U(ΔLoad p (k)) is defined as:
[0245]
[0246] Among them, TH CPU Indicates the threshold value of the CPU target value, TH MEM The threshold value of the target value of MEM, TH Load Indicates the threshold value of the target load value.
[0247] Optionally, the third processing unit is specifically configured to:
[0248] Determining whether the first target solution is taboo;
[0249] If the first target solution is not tabooed, adding the first target solution to the taboo table;
[0250] If the first target solution is taboo, determining whether the first target solution is despised;
[0251] If the first target solution is despised, outputting the first target solution;
[0252] If the first target solution is not disrespected, the second target solution is selected to execute taboo and disrespect judgment.
[0253] Optionally, the termination condition includes one of the following:
[0254] The target value reaches a preset threshold;
[0255] The number of iterations of the taboo search algorithm reaches a preset number of iterations;
[0256] The search time of the taboo search algorithm reaches a preset time;
[0257] During the iterative calculation process, the historical optimal solution obtained by the taboo search algorithm has not been updated for a preset number of times.
[0258] Optionally, the device further comprises:
[0259] The first determination module is used to determine the VNF to be deployed in the network function virtualization orchestrator NFVO.
[0260] Optionally, the device further comprises:
[0261] The processing module is used to instantiate the virtual network function VNF through the VIM, the network function virtualization orchestrator NFVO and the virtual network function module manager VNFM according to the resource allocation result.
[0262] It should be noted here that the above-mentioned device provided in the embodiment of the present invention can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects that are the same as the method embodiment in this embodiment will not be described in detail here.
[0263] like Figure 4 As shown, an embodiment of the present invention provides an electronic device 400, including a transceiver 420 and a processor 410, wherein:
[0264] The transceiver 420 is used to: obtain resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM;
[0265] The processor 410 is used to: obtain a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information;
[0266] The transceiver 420 is further configured to send the resource allocation result to a virtual infrastructure manager VIM.
[0267] Optionally, when the processor obtains the resource allocation result by using a taboo search algorithm according to the resource demand information and the available resource information, the processor is further configured to:
[0268] generating an initial solution according to the resource demand information and the available resource information;
[0269] The initial solution is perturbed by a neighborhood structure generated by a Cauchy distribution to generate a first solution set;
[0270] Evaluate the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set;
[0271] Determine a first target solution according to the target value;
[0272] Conduct taboo and contempt judgment on the first target solution;
[0273] When the first target solution satisfies the taboo rule and the contempt rule, outputting the first target solution;
[0274] In a case where the taboo search algorithm satisfies a termination condition, the first target solution is determined to be the resource allocation result.
[0275] Optionally, the processor is further configured to:
[0276] Perturbing the first target bit in the initial solution through a centralized neighborhood generated by a Cauchy distribution to obtain a first solution;
[0277] The second target number of bits in the initial solution is perturbed by a diversified neighborhood generated by a Cauchy distribution to obtain a second solution;
[0278] The first solution and the second solution constitute the first solution set, and the first target number of bits is smaller than the second target number of bits.
[0279] Optionally, the formula for perturbing the initial solution by the neighborhood structure generated by the Cauchy distribution is:
[0280]
[0281] Where x represents the initial solution, f(x; x 0 ; γ) represents the perturbed solution corresponding to the initial solution, x 0 represents the offset of the initial solution, and γ represents the scale parameter of the Cauchy distribution.
[0282] Optionally, when the processor evaluates the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set, the processor is further configured to:
[0283] Calculate the target value corresponding to each solution in the first solution set by using the target function, wherein at least two solutions in the first solution set calculate the target value in parallel;
[0284] The objective function is:
[0285]
[0286] Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P;
[0287] U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes;
[0288] Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
[0289] Optionally, the objective function U(CPU j (k)) is defined as:
[0290]
[0291] Objective function U(MEM j (k)) is defined as:
[0292]
[0293] Objective function U(ΔLoad p (k)) is defined as:
[0294]
[0295] Among them, TH CPU Indicates the threshold value of the CPU target value, TH MEM The threshold value of the target value of MEM, TH Load Indicates the threshold value of the target load value.
[0296] Optionally, when the processor performs taboo and contempt judgment on the first target solution, it is further configured to:
[0297] Determining whether the first target solution is taboo;
[0298] If the first target solution is not tabooed, adding the first target solution to the taboo table;
[0299] If the first target solution is taboo, determining whether the first target solution is despised;
[0300] If the first target solution is despised, outputting the first target solution;
[0301] If the first target solution is not disrespected, the second target solution is selected to execute taboo and disrespect judgment.
[0302] Optionally, the termination condition includes one of the following:
[0303] The target value reaches a preset threshold;
[0304] The number of iterations of the taboo search algorithm reaches a preset number of iterations;
[0305] The search time of the taboo search algorithm reaches a preset time;
[0306] During the iterative calculation process, the historical optimal solution obtained by the taboo search algorithm has not been updated for a preset number of times.
[0307] Optionally, the processor is further used to: determine the VNF to be deployed in the network function virtualization orchestrator NFVO.
[0308] Optionally, the processor is further used to: instantiate a virtual network function VNF through the VIM, the network function virtualization orchestrator NFVO and the virtual network function module manager VNFM according to the resource allocation result.
[0309] It should be noted that the above-mentioned electronic device provided by the embodiment of the present invention can implement all the method steps implemented by the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects that are the same as the method embodiment in this embodiment will not be described in detail here.
[0310] An electronic device according to another embodiment of the present invention, such as Figure 5 As shown, it includes a transceiver 510, a processor 500, a memory 520, and a program or instruction stored in the memory 520 and executable on the processor 500; when the processor 500 executes the program or instruction, the steps of the above-mentioned resource pre-deployment method are implemented.
[0311] The transceiver 510 is used to receive and send data under the control of the processor 500 .
[0312] Among them, Figure 5 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically linking together various circuits of one or more processors represented by processor 500 and memory represented by memory 520. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 510 may be a plurality of components, i.e., including a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium. The processor 500 is responsible for managing the bus architecture and general processing, and the memory 520 may store data used by the processor 500 when performing operations. The processor 500 is responsible for managing the bus architecture and general processing, and the memory 520 may store data used by the processor 500 when performing operations.
[0313] A readable storage medium according to an embodiment of the present invention stores a program or instruction thereon. When the program or instruction is executed by a processor, the steps in the resource pre-deployment method as described above are implemented and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0314] The processor is the processor in the resource pre-deployment method described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0315] It should be further explained that the electronic devices described in this specification include but are not limited to smart phones, tablet computers, etc., and many of the functional components described are called modules in order to more particularly emphasize the independence of their implementation methods.
[0316] In the embodiment of the present invention, module can be implemented with software so that it can be executed by various types of processors. For example, an executable code module of an identification can include one or more physical or logical blocks of computer instructions, for example, it can be constructed as an object, process or function. Nevertheless, the executable code of the identified module does not need to be physically located together, but can include different instructions stored in different positions, and when these instructions are logically combined together, it constitutes a module and realizes the specified purpose of the module.
[0317] In fact, executable code module can be a single instruction or many instructions, and can even be distributed on a plurality of different code segments, distributed among different programs, and distributed across a plurality of memory devices. Similarly, operating data can be identified in the module, and can be implemented and organized in the data structure of any appropriate type according to any appropriate form. The operating data can be collected as a single data set, or can be distributed in different locations (including on different storage devices), and can only be present on a system or network as an electronic signal at least in part.
[0318] When a module can be implemented by software, considering the level of existing hardware technology, a person skilled in the art can build a corresponding hardware circuit to implement the corresponding function of the module that can be implemented by software without considering the cost. The hardware circuit includes a conventional very large scale integration (VLSI) circuit or gate array and existing semiconductors such as logic chips, transistors, or other discrete components. The module can also be implemented by a programmable hardware device, such as a field programmable gate array, a programmable array logic, a programmable logic device, etc.
[0319] The above exemplary embodiments are described with reference to the accompanying drawings, and many different forms and embodiments are feasible without departing from the spirit and teachings of the present invention. Therefore, the present invention should not be constructed as a limitation of the exemplary embodiments proposed herein. More specifically, these exemplary embodiments are provided so that the present invention will be perfect and complete, and the scope of the present invention will be conveyed to those who are familiar with the technology. In these figures, the component sizes and relative sizes may be exaggerated for clarity. The terms used here are only based on the purpose of describing specific exemplary embodiments and are not intended to be limiting. As used herein, unless the text clearly indicates otherwise, the singular forms "one", "an" and "the" are intended to include these multiple forms. It will be further understood that the terms "including" and / or "comprising" when used in this specification indicate the presence of the features, integers, steps, operations, components and / or components, but do not exclude the presence or increase of one or more other features, integers, steps, operations, components, components and / or their groups. Unless otherwise indicated, when stated, a range of values includes the upper and lower limits of that range and any subranges therebetween.
[0320] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A resource pre-deployment method, characterized in that: include: Obtain resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM; Obtaining a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information; Sending the resource allocation result to the VIM; The step of obtaining a resource allocation result by using a taboo search algorithm according to the resource demand information and the available resource information includes: Generate an initial solution according to the resource demand information and the available resource information; perturb the initial solution through the neighborhood structure generated by the Cauchy distribution to generate a first solution set; evaluate the solutions in the first solution set to obtain the target value corresponding to each solution in the first solution set; determine a first target solution according to the target value; perform taboo and contempt judgment on the first target solution; output the first target solution when the first target solution satisfies the taboo rule and the contempt rule; determine the first target solution as the resource allocation result when the taboo search algorithm satisfies the termination condition; The evaluating the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set includes: Calculate the target value corresponding to each solution in the first solution set by using the target function, wherein at least two solutions in the first solution set calculate the target value in parallel; The objective function is: Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P; U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes; Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
2. The method according to claim 1, characterized in that The neighborhood structure generated by the Cauchy distribution perturbs the initial solution to generate a first solution set, including: Perturbing the first target bit in the initial solution through a centralized neighborhood generated by a Cauchy distribution to obtain a first solution; The second target number of bits in the initial solution is perturbed by a diversified neighborhood generated by a Cauchy distribution to obtain a second solution; The first solution and the second solution constitute the first solution set, and the first target number of bits is smaller than the second target number of bits.
3. The method according to claim 1, characterized in that The formula for perturbing the initial solution through the neighborhood structure generated by the Cauchy distribution is: Wherein, x represents the initial solution, f(x; x0; γ) represents the perturbed solution corresponding to the initial solution, x0 represents the offset of the initial solution, and γ represents the scale parameter of the Cauchy distribution.
4. The method according to claim 1, characterized in that: Objective function U(CPU j (k)) is defined as: Objective function U(MEM j (k)) is defined as: Objective function U(ΔLoad p (k)) is defined as: Among them, TH CPU Indicates the threshold value of the CPU target value, TH MEM The threshold value of the target value of MEM, TH Load Indicates the threshold value of the target load value.
5. The method according to claim 1, characterized in that The step of performing taboo and contempt judgment on the first target solution includes: Determining whether the first target solution is taboo; If the first target solution is not tabooed, adding the first target solution to the taboo table; If the first target solution is taboo, determining whether the first target solution is despised; If the first target solution is despised, outputting the first target solution; If the first target solution is not disrespected, the second target solution is selected to execute taboo and disrespect judgment.
6. The method according to claim 1, characterized in that The termination condition includes one of the following: The target value reaches a preset threshold; The number of iterations of the taboo search algorithm reaches a preset number of iterations; The search time of the taboo search algorithm reaches a preset time; During the iterative calculation process, the historical optimal solution obtained by the taboo search algorithm has not been updated for a preset number of times.
7. The method according to claim 1, characterized in that Before obtaining resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM, the method further includes: In the network function virtualization orchestrator NFVO, determine the VNF to be deployed.
8. The method according to claim 1, characterized in that After sending the resource allocation result to the virtual infrastructure manager VIM, the method further includes: According to the resource allocation result, the virtual network function VNF is instantiated through the VIM, the network function virtualization orchestrator NFVO and the virtual network function module manager VNFM.
9. A resource pre-deployment device, characterized in that: include A first acquisition module is used to obtain resource requirement information of a virtual network function VNF to be deployed and available resource information of a virtual infrastructure manager VIM; A second acquisition module is used to obtain a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information; A first sending module, configured to send the resource allocation result to a virtual infrastructure manager VIM; The second acquisition module includes: A first generating unit, configured to generate an initial solution according to the resource requirement information and the available resource information; A first processing unit is used to perturb the initial solution through a neighborhood structure generated by a Cauchy distribution to generate a first solution set; a second processing unit, configured to evaluate the solutions in the first solution set to obtain a target value corresponding to each solution in the first solution set; A first determining unit, configured to determine a first target solution according to the target value; A third processing unit, configured to perform taboo and contempt judgment on the first target solution; A first output unit, configured to output the first target solution when the first target solution satisfies the taboo rule and the contempt rule; A second determining unit, configured to determine that the first target solution is the resource allocation result when the tabu search algorithm satisfies a termination condition; The second processing unit is specifically configured to: calculate a target value corresponding to each solution in the first solution set by using a target function, wherein at least two solutions in the first solution set calculate the target value in parallel; The objective function is: Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P; U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes; Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
10. An electronic device, characterized in that: include: transceivers and processors; The transceiver is used to: obtain resource requirement information of the virtual network function VNF to be deployed and available resource information of the virtual infrastructure manager VIM; The processor is used to: obtain a resource allocation result using a taboo search algorithm according to the resource demand information and the available resource information; The transceiver is also used to: send the resource allocation result to the virtual infrastructure manager VIM; When the processor obtains the resource allocation result by using a taboo search algorithm according to the resource demand information and the available resource information, the processor is further configured to: generating an initial solution according to the resource demand information and the available resource information; The initial solution is perturbed by a neighborhood structure generated by a Cauchy distribution to generate a first solution set; the solutions in the first solution set are evaluated to obtain a target value corresponding to each solution in the first solution set; and a first target solution is determined according to the target value; Performing taboo and contempt judgment on the first target solution; if the first target solution satisfies the taboo rule and the contempt rule, outputting the first target solution; In a case where the taboo search algorithm satisfies a termination condition, determining that the first target solution is the resource allocation result; When the processor evaluates the solutions in the first solution set to obtain the target value corresponding to each solution in the first solution set, it is further configured to: Calculate the target value corresponding to each solution in the first solution set by using the target function, wherein at least two solutions in the first solution set calculate the target value in parallel; The objective function is: Wherein, f(k) is the target value, k is a solution in the first solution set, representing a possible allocation result; ω CPU is the target weight value of the central processing unit CPU, ω MEM is the target weight value of memory MEM, ω Load is the target weight value of the load balancing index; J is the set of available resource lists obtained from the virtual infrastructure manager VIM, J = {1, 2, ... j}, j is a node in the set J; P is a set consisting of two adjacent nodes in the set J, and p is a node pair in the set P; U(CPU j (k)) indicates CPU j (k) objective function, U(MEM j (k)) indicates MEM j (k) objective function, U(ΔLoad p (k)) represents ΔLoad p The objective function, ΔLoad p Indicates the load difference between two adjacent nodes; Among them, the constraints of the objective function are: g(k)≤0, g(k)=Used(k)-Available, Used(k) represents the total resources used by solution k, and Available represents the total value of available resources of VIM.
11. An electronic device, comprising: A transceiver, a processor, a memory, and a program or instruction stored in the memory and executable on the processor; characterized in that when the processor executes the program or instruction, the resource pre-deployment method as described in any one of claims 1-8 is implemented.
12. A readable storage medium having a program or instruction stored thereon, characterized in that: When the program or instruction is executed by a processor, the steps in the resource pre-deployment method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
VNF instantiation method and device, equipment and storage medium
CN111106945A