CN111324429A - Micro-service combination scheduling method based on multi-generation ancestry reference distance - Google Patents

Micro-service combination scheduling method based on multi-generation ancestry reference distance Download PDF

Info

Publication number
CN111324429A
CN111324429A CN201910957452.1A CN201910957452A CN111324429A CN 111324429 A CN111324429 A CN 111324429A CN 201910957452 A CN201910957452 A CN 201910957452A CN 111324429 A CN111324429 A CN 111324429A
Authority
CN
China
Prior art keywords
service
micro
resource
resource center
user
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
Application number
CN201910957452.1A
Other languages
Chinese (zh)
Other versions
CN111324429B (en
Inventor
马武彬
朱蒙娜
曾熠
邓苏
黄宏斌
吴亚辉
刘丽华
李璇
吴继冰
王懋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201910957452.1A priority Critical patent/CN111324429B/en
Publication of CN111324429A publication Critical patent/CN111324429A/en
Application granted granted Critical
Publication of CN111324429B publication Critical patent/CN111324429B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a micro-service combination scheduling method based on multi-generation ancestry reference distance, which comprises the steps of obtaining resource center related data, micro-service related data and user related data; establishing a multi-objective optimization model of micro-service combined deployment scheduling; solving the multi-objective optimization model by adopting a multi-generation ancestry reference distance-based multi-objective optimization algorithm NSGA-III; calculating the micro-service quantity vector required to be started by each resource center; and performing combined scheduling on the micro-services in the resource center according to the micro-service quantity vector. The invention introduces an improved NSGA-III algorithm based on the multi-generation ancestral reference distance into the problem of the micro-service combined scheduling, so that the algorithm can be more suitable for solving the problem of the micro-service combined scheduling, and the problem can be solved by the NSGA-III method introducing the multi-generation ancestral reference distance through comprehensive evaluation of the method by theory and experiment.

Description

Micro-service combination scheduling method based on multi-generation ancestry reference distance
Technical Field
The invention belongs to the field of high-performance cloud computing services, and particularly relates to a micro-service combination scheduling method based on multi-generation ancestral reference distance.
Background
The micro-service is a product of SOA architecture development and cloud technology development and application in a certain mature stage. The traditional single application has many defects, especially under the condition of a large number of concurrent users distributed in different regions and different service requirements, the expansibility, fault tolerance, stability and survivability of the single application obviously cannot meet the concurrent requirements of large-scale distributed users in the mobile internet, so the application research based on the micro service becomes a hotspot. The micro-service divides the traditional single application into services and decomposes the services into mutually independent micro-services from the transverse direction or the longitudinal direction according to the business and function requirements. Each service can run multiple instances independently, with as logical independence as possible between services. The micro-service has the characteristics of flexibility, expandability and high availability, wherein the flexibility is that each service instance can be flexibly deployed in a plurality of servers or cloud resource centers according to factors such as network communication overhead, calculation and storage resource overhead and the like; extensibility is based on enabling flexible instances of activation and deactivation according to the concurrent needs of the user, and these activations and deactivations may be for a particular dedicated service module. For example, in the electronic commerce microservice, the user payment business concurrency amount is suddenly increased at a certain specific time, and the user concurrency requirement is met only by increasing the service amount of the payment business microservice, and the condition that the whole business line service is required to be expanded simultaneously like the traditional single application is not needed, so that a flexible expansion mechanism can save resources and provide high-concurrency service for the user; the high availability is another typical characteristic of the micro-service, because the resources required by the micro-service to start the instances are relatively small, each service can start a plurality of instances simultaneously, and under the condition of limited resources, multi-service hot standby operation can be performed on some key services, so that the whole application has strong stability. Therefore, due to the characteristics of the micro-service, the method is an effective means for solving the problems of huge number of users and access equipment and massive concurrent requests under the conditions of mobile internet and internet of things.
Many large-scale network application companies or enterprises (amazon, IBM, Ebay, Twitter, Taobao, Tencent, etc.) both at home and abroad are beginning to gradually adopt a microservice-based architecture. In the military field, big data engineering application service systems are also moving step by step towards the architecture of micro-services. The micro-service brings strong flexible expansion and stable application, and simultaneously has the problem which needs to be solved urgently. One of the most critical issues is the service instance deployment and startup optimization problem. The problems are mainly described as follows: the core of the problem is how to configure and schedule the start and operation strategies of different micro-services or micro-service combinations for a plurality of service centers on the premise of fully considering hardware resources, service delay and service reliability. The technical problem is difficult to solve: a) The calculation and storage resource utilization rate, the service efficiency and the load balance indexes among the servers and the service center are mutually restricted, and the optimization is difficult to achieve at the same time; b) the calculation complexity is high, and the optimal solution is difficult to be obtained in polynomial time by adopting the traditional optimization algorithm; c) the micro-service instance starting and the service request have certain dynamic property, and the solving strategy needs to be quickly solved and completed to meet the actual requirement.
Disclosure of Invention
In view of this, the present invention aims to provide a micro-service combination scheduling method based on multi-generation blood system reference distance, which models a micro-service combination scheduling problem based on multi-objective optimization at a server, and solves the problem by introducing an improved Non-dominated Sorted Genetic Algorithm (Non-dominated Sorted Genetic Algorithm) NSGA-III, so as to solve the problems of numerous related objective functions, complex constraints, strong calculation requirement timeliness of the result, and high performance index in the deployment and scheduling process of the micro-service, and better provide support for the deployment and scheduling of the micro-service.
Based on the above purpose, a micro-service combination scheduling method based on multi-generation ancestry reference distance includes the following steps:
step 1, acquiring resource center attribute data, micro-service attribute data and user attribute data;
step 2, establishing a multi-objective optimization model of micro-service combined deployment and scheduling, wherein the model is expressed as follows:
Figure BDA0002227288100000031
wherein F (x) is the objective function of the model, h represents the number of sub-objective functions, gi(x) Representing inequality constraint conditions, m representing the number of inequality constraints, hj(x) Representing equality constraint conditions, n representing the number of equality constraint conditions;
step 3, solving the multi-objective optimization model by adopting a multi-generation ancestry reference distance-based multi-objective optimization algorithm NSGA-III, and calculating the micro-service quantity vector of each resource center to be started;
step 4, performing combined scheduling on the micro-services in the resource center according to the micro-service quantity vector;
the resource center attribute data comprises a resource center set, and resource information and position information of each resource center, wherein the resource information comprises calculation resource information and storage resource information, and the position information comprises longitude and latitude of the resource center; the micro-service attribute data comprises a micro-service set, and computing resources and storage resources required by starting an instance by each micro-service; the user attribute data comprises a user set, and service request information and position information of each user; an objective function F (x) of the model is a sub-objective function, and the sub-objective function comprises the minimization of the idle rate of computing resources, the minimization of the idle rate of storage resources, the minimization of the actual idle rate of micro-services, the minimization of the balancing rate of computing loads and the minimization of the balancing rate of storage loads; the constraint conditions include a completeness constraint of a service, a total amount of computing resources constraint, a total amount of storage resources constraint and a total amount of service sequences constraint.
Further, the resource center set is denoted as RC ═ RC1,rc2,...,rcNN is the number of resource centers, and the information of the ith resource center is denoted as rci=(RRes(r_comi,r_stoi),RLoc(r_lati,r_loni) Wherein i ∈ [1, N ]], RRes(r_comi,r_stoi) Indicating that the ith resource center contains the computing resource r _ comiAnd storage resource r _ stoi,RLoc(r_lati,r_loni) Indicating the location information longitude r _ lat of the ith resource centeriAnd latitude r _ loni(ii) a The microservice set is denoted as MS ═ s1,s2,...,sKK is the number of types of microservices, and the jth microservice is denoted as sj=(SRes(r_comj,r_stoj)),j∈[1,K]Wherein SRes (r _ com)j,r_stoj) Indicating the computing resource r _ com consumed by the jth microservice to start an instancejAnd storage resource r _ stoj(ii) a The user set is denoted as Users ═ u1,u2,...,uMM is the number of users, and the q-th user is denoted as uq=(UReq(Sq(sp,..,sk)),ULoc(u_latq,u_lonq)),q∈[1,M]0 < p < K < K, wherein UReq (S)q(sp,..,sk) Represents the request requirements of the qth user for the microservice composition, ULoc (u _ lat)q,u_lonq) Position information longitude u _ lat indicating that the service is currently locatedqAnd latitude u _ lonq(ii) a The micro-service number vector is expressed as Strategy (RC, MS) ═ RC1(x11,...,x1K),rc2(x21,...,x2K),...,rcN(xN1,...,xNK)]TWherein rc isi(xi1,...,xiK) Representing a combined operation strategy of the micro service MS in the resource center i;
computing resource idleness f1(x) The calculation formula of (2) is as follows:
Figure BDA0002227288100000041
wherein rci(xi1,...,xiK) Represents the actual number of microservices vector, SRes (r _ com) started at the ith resource center1,...,r_comK) A vector of computational resource values, RRes (r _ com), representing the actual consumption of the microservicesi) Representing a computing resource value of the ith resource center;
idleness f of memory resources2(x) The calculation formula of (2) is as follows:
Figure BDA0002227288100000042
SRes(r_sto1,...,r_stoK) A vector of values of storage resources, RRes (r _ sto), representing the actual consumption of the microservicesi) A storage resource value representing an ith resource center;
actual idle rate f of microservice3(x) The calculation formula is as follows:
Figure BDA0002227288100000051
wherein mujRepresentative micro-clothesMaximum number of service subscribers allowed by the service, ServAbility (x)ij,muj) The calculation formula of (2) is as follows:
Figure BDA0002227288100000052
RealUserNum(sj,rci) Is a micro-service sjAt resource center rciActual number of service users;
calculating the load balance rate f4(x) The calculation formula of (2) is as follows:
Figure BDA0002227288100000053
wherein the content of the first and second substances,
Figure BDA0002227288100000054
Figure BDA0002227288100000055
storage load balancing rate f5(x) The calculation formula of (2) is as follows:
Figure BDA0002227288100000056
wherein the content of the first and second substances,
Figure BDA0002227288100000057
Figure BDA0002227288100000058
further, completeness constraint g1(x) That is, it must be guaranteed that all microservices start at least one instance, requiring:
g1(x):xij≥1,1≤i≤N,1≤j≤K;
wherein N is the number of resource centers, and K is the number of split micro-services of the single service department;
computing total resource constraint g2(x) That is, the total amount of computing resources occupied by the operation of each resource center service instance cannot exceed the total amount of the resource center service instance, and the requirements are as follows:
g2(x):rci(xi1,...,xiK)·SRes(r_sto1,...,r_stoK)T<RRes(r_stoi),1≤i≤N;
total storage resource constraint g3(x) That is, the total amount of storage resources occupied by the operation of each resource center service instance cannot exceed the total amount of the storage resources, and the requirements are as follows:
g3(x):rci(xi1,...,xiK)·SRes(r_com1,...,r_comK)T<RRes(r_comi),1≤i≤N;
total amount of service sequence constraint g4(x) That is, the total amount of services of all the started micro-service instances is greater than the total amount of demands of users for micro-services, the requirements are as follows:
Figure BDA0002227288100000061
wherein UserReq (u)i,sj) Indicating whether the ith user requested service sjIf yes, returning to 1, and if not, returning to 0;
for the solution space decision vector x ∈ Ω, it is expressed as:
Figure BDA0002227288100000062
the multi-objective optimization model is expressed as follows:
Figure BDA0002227288100000063
in particular, RealUserNum(s)j,rci) I.e. micro service sjAt resource center rciThe actual service user number is calculated by adopting a distance-based priority service selection algorithm, for each user, firstly, the latest available micro service is searched according to the position nearest principle, whether the micro service reaches the maximum service load is judged, and if not, the use is requestedThe service; otherwise, further searching the nearest service according to the nearest distance principle until the user finds the available microservice, and the calculation steps are as follows:
initializing the service quantity and the residual user quantity parameters of each resource center and the served user arrays;
initializing an actual micro service starting vector realMicroServiceStart of a resource center, a residual resource vector remMicSeraBioity of the resource center and a resource center service list userServiced;
traversing each user, and finding the most appropriate resource center service: initializing an access identifier of each resource center for the service request in the user service request list;
recursively searching the nearest resource service center meeting the conditions according to the position of the user, and if the resource service center is found, continuously searching the next service; if not, returning to false;
and returning true after all services of all users find the service provider in the resource center.
Specifically, a binary coding rule is adopted in the multi-objective optimization algorithm, the coding length is determined by the maximum number of micro-service instances which can be started in each resource center, and the population iteration process comprises the following steps:
step 101, initializing a population set and lineage set linkagetThen, carrying out cross variation on the parent population, and reserving the blood ancestors after cross variation and storing the blood ancestors in a descendant blood ancestry set Zt
Step 102, merging the parent and child into JointPt+1In the method, the solutions are sorted according to the domination sequence of the solutions in NSGA-III, and the sorting result is stored as the ancestry code number into the ancestry set linkage of the current generationt+1Performing the following steps;
103, selecting the dominant solutions of the first i levels until the solution number of the first i +1 levels is larger than the maximum population number, and selecting a plurality of solutions from the solutions of the (i + 1) th level to enable the population size to be equal to the maximum population number;
and 104, firstly calculating ideal points and extreme points, then forming reference points and reference vectors, traversing the reference vectors with the minimum nearest solution, and searching the solution closest to the reference vectors as a candidate set to be placed into the next generation of population.
Specifically, in step 101, the cross-ancestry process is calculated as follows: step 10101, initialize the result list O firsttLineage List of lineaget(ii) a 10102, traversing all populations, and crossing two adjacent individuals according to a traditional strategy; in order to ensure that the number of ancestral lists cannot generate exponential explosion along with the increase of evolution algebra, a truncation strategy is introduced, the number of ancestral lists of the population is defined in advance, and when the number of parent population exceeds the defined number, the ancestral lists are deleted to the value of MaxLineagum/2 ancestral values far away from the ancestral lists, and the freshness of ancestral is also ensured; step 10103, merging the contents in the ancestral blood line list, determining whether to change according to the probability, and then storing the contents in the ancestral blood line category.
Specifically, in step 104, when selecting the optimal object according to the reference point, the selection needs to be sorted according to ancestry, and the steps are as follows: firstly, judging a nearest distance population set of a reference point rp, if the set is larger than 0, two conditions exist, the first condition is that rp is in QtIs 0, and rp is selected to be FlThe closest distance population of (1); second, rp is at QtIf the nearest distance population set in (1) is more than 0, selecting a population with better historical blood lineage according to the average blood lineage rank sorting.
Specifically, the step of recursively searching the nearest resource service center meeting the conditions according to the user position includes that firstly, the nearest resource center which is not visited is searched according to the user position, and a serial number neLoCenter of the resource center is returned; if the return is-1, the fact that all the resource centers have been visited is shown, no solution is found, and false is returned; then judging whether the resource center has available service matched with the user requirement; if the service quantity is more than or equal to 1, putting the user into a service user list, and updating an available service quantity list of the resource center; otherwise, changing the access identification of the resource center to 1, and recursively searching the nearest service of the user.
The embodiment of the invention introduces the improved NSGA-III algorithm based on the multi-generation ancestral reference distance into the combined scheduling problem of the micro-service for the first time, the algorithm is more suitable for solving the problem of micro-service combination scheduling, and specifically, the invention firstly deeply analyzes the attributes of relevant entities such as a resource center set, a micro-service set, a user set, a micro-service instance combination operation strategy and the like, secondly, a multi-objective optimization model of the combined scheduling problem of the micro-service is constructed in detail, the multi-objective optimization model comprises five sub-objective functions and four constraint conditions, then, the improved NSGA-III algorithm is adopted to solve the model to obtain a plurality of groups of pareto optimal solutions, and finally, in the experiment, the combined scheduling strategy of the pareto optimal solution is verified to be greatly improved in the resource center computing storage resource, the load balancing rate and the actual service utilization rate compared with the traditional deployment strategy.
Drawings
FIG. 1 is a diagram illustrating a micro-service combination scheduling problem according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating a micro-service combination deployment and scheduling method according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the embodiment of the present invention, several terms such as Resource Centers (RC), micro service sets (MSs), user sets (Users, U), micro service instance combination operation policies, etc. are involved, and first, definitions and attributes of these terms are explained.
This exampleIs an entity capable of providing an environment for the launching and running of instances of microservices, comprising computing and storage resources distributed in different locations. The existence of N resource centers in space is denoted as RC ═ RC1,rc2,...,rcNEach resource center contains two types of information: resource information and location information, rci=(RRes(r_comi,r_stoi),RLoc(r_lati,r_loni)),i∈[1,N]Wherein RRes (r _ com)i,r_stoi) Indicating the computing resource r _ com contained in the ith resource centeriAnd storage resource r _ stoi. To facilitate the model calculation solution, the calculation and storage resources are all normalized and quantized to a specific real value, RLoc (r _ lat)i,r_loni) And the longitude and latitude of the position where the ith resource center is located are shown.
The service set of this embodiment refers to a microservice set after a certain single application is logically split. The symbolization is described as follows: MS ═ s1,s2,...,sKMeans that the single application MS is divided into K micro-services with mutually independent functions, the jth micro-service is denoted as sj=(SRes(r_comj,r_stoj)),j∈[1,K], SRes(r_comj,r_stoj) Indicating that the jth microservice starts an instance and needs to consume the computing resource r _ comjAnd a storage resource r _ stoj
The user set of the embodiment refers to a service consumer set of the micro service, and each user may use a certain micro service or a service sequence of several micro services, and the users are relatively independent individuals. The set of Users is denoted as Users ═ u1,u2,...,uMM is the number of users, each user also contains two kinds of information, service request information and position information, uq=(UReq(Sq(sp,..,sk)),ULoc(u_latq,u_lonq)),q∈[1,M]0 < p < K < K, wherein UReq (S)q(sp,..,sk) Represents the request requirements of the qth user for the microservice composition, ULoc (u _ lat)q,u_lonq) Indicating where the service is currently locatedLocation.
For N resource centers RC ═ { RC1,rc2,...,rcNAnd MS ═ s for the microservice to be run1,s2,...,sKFor example, the micro-service instance combination operation Strategy is expressed by Strategy (RC, MS), and the mathematical expression is as follows: strategy (RC, MS) ═ RC1(x11,...,x1K),rc2(x21,...,x2K),...,rcN(xN1,...,xNK)]TWherein rc is1(x11,...,x1K) Representing the combined operating strategy of the micro-service MS in the resource center 1.
The problem of micro-service combination scheduling is shown in fig. 1, where a plurality of Resource Centers (RCs) are distributed in space, and each resource center has two resources for calculation and storage. Each time a microservice instance is initiated, a certain amount of resources are consumed. At the same time, a large number of service users are distributed in the space, each user using a combination of one or more microservices. The problem of the combined scheduling of the micro-services is that on the premise of a given resource center, a micro-service set and user requirements, a starting and running strategy of a micro-service instance in each resource center is sought, so that efficient and quick services can be provided for users while resource saving and resource center load balancing are considered.
Therefore, the multi-objective optimization model of the micro-service combination scheduling problem is as follows:
assume that within a spatial region, there are N resource centers RC ═ { RC ═ RC1,rc2,...,rcNK micro-services MS with mutually independent functions ═ s1,s2,...,sKAnd M Users ═ u1,u2,...,uMAnd the decision vector is: and x is a continuous search space of an argument (RC, MS). In order to facilitate algorithm coding, the method compresses an original model decision vector from a two-dimensional vector into a one-dimensional variable. The model is generally described as follows.
Figure BDA0002227288100000111
Wherein F (x) is the objective function of the model, gi(x) And hj(x) Representing two different types of constraints. The micro-service combined scheduling model based on multi-objective optimization has five objective functions in total, and respectively represents the utilization efficiency of calculation and storage resources, the actual idle rate of micro-services, the total variance of micro-service loads and the integrity of user services. These four objective functions are modeled below.
The first objective function is the computing resource idle rate, denoted as f1(x)。
Figure BDA0002227288100000112
Wherein rci(xi1,...,xiK) Represents the actual number of microservices vector, SRes (r _ com) started at the ith resource center1,...,r_comK) A vector of computational resource values, RRes (r _ com), representing the actual consumption of the microservicesi) Representing the computational resource value of the ith resource center.
The second way of calculating the idle rate of the storage resources of the objective function is f2(x)。
Figure BDA0002227288100000113
The third objective function is the actual idle rate f of the microservice3(x) In that respect Generally, launching one microservice instance may service several service requests. When the number of service requests exceeds the maximum load of a single microservice instance, a new instance needs to be started to provide an effective service. Assume that the maximum number of service users allowed per micro service vector (micro service maximum load vector) is MSMaxUsers ═ mu1,mu2,...,muK]. Once a microservice instance is started, it is desirable that the microservice be fully utilized so that resources are not wasted, otherwise the microservice instance may be selected not to be started.
Actual idle rate definition for microservices, e.g./f3(x)。
Figure BDA0002227288100000121
Figure BDA0002227288100000122
It should be noted that RealUserNum(s) is used hereinj,rci) Is a micro-service sjAt resource center rciThe actual number of service users.
On the premise of the service discovery strategy of the user, because the feasible solution sought in the invention must meet the constraint condition, the user can discover at least one available micro-service certainly, and meanwhile, the micro-service example started by each resource center can also acquire the number RealUserNum(s) of the users who need the servicej,rci)。
The fourth objective function is the calculated load balancing rate f for the resource center4(x) In that respect The load balancing index of the resource center is mainly used for measuring the degree of balance of a plurality of resource centers in the operation process. Some resource centers can not keep a high-load operation state for a long time, and some resource centers are always in an idle state.
Load balancing rate calculation method f4(x)。
Figure BDA0002227288100000123
Figure BDA0002227288100000124
Figure BDA0002227288100000125
The fifth objective function is to balance the storage load of the resource center by the rate f5(x) And the storage load balancing rate is used for measuring the storage use condition of the resource center. Generally speaking, due to the individual resource centersThere are more or less data synchronization tasks, and a resource center with a large data storage amount may synchronize or transfer data to a resource center with a small data amount, occupy a large amount of communication resources, and may cause service congestion. Therefore, in order to reduce the data synchronization overhead, the storage load balance of the resource center should be considered when the service is deployed and operated.
Stored load balancing calculation mode such as f5(x)。
Figure BDA0002227288100000131
Figure BDA0002227288100000132
Figure BDA0002227288100000133
In the problem of the multi-objective-based micro-service combination scheduling strategy, a result constraint condition exists, and the following detailed description is given:
first constraint g1(x) Is a service integrity constraint that must ensure that all microservices start at least one instance. The mathematical expression is as follows:
g1(x):xij≥1,1≤i≤N,1≤j≤K
wherein N is the number of resource centers, and K is the number of splitting micro-services of the single service department.
Second constraint g2(x) It is a total computing resource constraint, i.e. the total computing resource occupied by the operation of each resource center service instance cannot exceed its own total. Namely:
g2(x):rci(xi1,...,xiK)·SRes(r_sto1,...,r_stoK)T<RRes(r_stoi),1≤i≤N
third constraint g3(x) Is the total amount of storage resources constraint, i.e. the total storage resources occupied by the operation of each resource center service instanceThe amount cannot exceed its own total amount. Namely:
g3(x):rci(xi1,...,xiK)·SRes(r_com1,...,r_comK)T<RRes(r_comi),1≤i≤N
the fourth constraint is a service sequence total constraint, i.e. the total amount of service of all enabled microservice instances is greater than the total amount of user demand for microservices. The expression is as follows:
Figure BDA0002227288100000141
wherein UserReq (u)i,sj) Indicating whether the ith user requested service sjIf yes, 1 is returned, and if not, 0 is returned.
In summary, the micro-service combination scheduling model based on multi-objective optimization is described as follows:
assume microservice set O ═ O1,o2,...,oKH, for a solution space decision vector x ∈ omega,
Figure BDA0002227288100000142
Figure BDA0002227288100000143
from the problem description, the problem belongs to a typical NP difficult problem, the problem is difficult to solve by adopting a traditional polynomial solution method, and therefore an evolutionary computation method is required to be solved.
The Non-dominant sequencing Genetic Algorithm (NSGA) and its variant Algorithm are one of the most classical algorithms for solving the problem of multi-objective optimization at present. NSGA is a multi-objective optimization algorithm based on a genetic algorithm, and the method optimizes multiple objectives based on pareto frontier. The NSGA-II algorithm is also called a non-dominated sorting genetic algorithm with an elite strategy, the method stratifies the population, and retains elite solutions with absolute advantages as parents of next-generation cross variation according to the dominated relation among offspring. The NSGA-III is also called a non-dominated sorting genetic algorithm based on a reference point, the elite retention strategy is further improved on the basis of an NSGA-II calculation framework, and the calculation efficiency of seeking various elite solutions in a non-dominated layer is improved by using the reference point strategy on the basis of keeping population diversity.
The embodiment of the micro-service combined scheduling strategy method based on multi-objective optimization provides a multi-objective optimization algorithm (MGA-NSGA-III) based on multi-generation descent reference distance, the algorithm integrates the progressive mechanism of NSGA-III, and the conception of descent is added into the evolutionary mechanism, so that the domination relation and the crowding degree among populations are considered, and simultaneously, elite strategy selection is carried out on the populations according to the descent of the populations. Under the same condition, the populations with pure descent and higher Rank are selected as iteration objects.
The length of the code is determined by the maximum number of micro service instances which can be started by each resource center, the embodiment assumes that each resource center can maximally allow to start a certain micro service instance to be 16, therefore, the number of the certain micro service instances which can be started by a certain resource center can be expressed by four-bit binary codes, obviously, the total length of the binary codes is 4 × N × K.
The population iteration steps in this embodiment are as follows: step 101, initializing a population set and lineage set linkagetThen, carrying out cross variation on the parent population, and reserving the blood ancestors after cross variation and storing the blood ancestors in a offspring blood ancestor set Zt(ii) a Step 102, merging the parent and child into JointPt+1In the method, the solutions are sorted according to the domination sequence of the solutions in NSGA-III, and the sorting result is stored as the ancestry code number into the ancestry set linkage of the current algebrat+1In step 103, selecting the dominant solutions of the first i levels until the number of solutions of the first i +1 levels is greater than the maximum population number, and selecting a plurality of solutions from the solutions of the (i + 1) th level to make the population size equal to the maximum population number; step 104, calculating ideal points and extreme pointsThen, forming reference points and reference vectors, traversing the reference vectors with the minimum nearest solution, and finding the solution nearest to the reference vectors as a candidate set to be put into the next generation population.
In the embodiment, a ancestral crossing strategy of a parent is added on the basis of a traditional crossing mutation strategy, ancestry of the population is determined through a non-dominated sorting result of the ancestral system, and then the ancestry is aggregated and inherited to next-generation individuals in a crossing process. Meanwhile, in order to maintain the freshness of ancestry, a loss mechanism for a distant ancestral ancestry is adopted.
In step 101, the cross-lineage process is computed as follows: step 10101, initialize the result list O firsttLineage List of lineagetStep 10102, then traversing all populations, and taking two adjacent populations to cross according to a traditional strategy; in order to ensure that the number of ancestral lists cannot generate exponential explosion along with the increase of evolution algebra, a truncation strategy is introduced, the number of ancestral lists of the population is defined in advance, and when the number of the parent population exceeds the set number, the ancestral lists are deleted to the value of MaxLineagum/2 ancestral values far away from the ancestral lists, and the freshness of ancestral is also ensured; step 10103, merging the contents in the ancestral blood line list, determining whether to change according to the probability, and then storing the contents in the ancestral blood line category.
The population selection strategy adopted by the embodiment is based on NSGA-III calculation based on the distance between reference points, the pedigree calculation of the candidate set is added, and the solution with higher historical ranking is preferentially selected, so that the convergence rate is higher.
In step 104, when selecting the optimal object according to the reference point, the selection needs to be sorted according to ancestry, and the steps are as follows: firstly, judging a nearest distance population set of a reference point rp, if the set is larger than 0, two conditions exist, the first condition is that rp is in QtIs 0, and rp is selected to be FlThe closest distance population of (1); second, rp is at QtIf the closest distance population set in (1) is greater than 0, then the rootAnd sorting according to the average blood system rank, and selecting a population with better historical blood systems.
In this embodiment, the user service policy adopts a distance-first-based service selection algorithm, that is, for each user, first, a latest available micro service is searched according to a position closest principle, whether the micro service reaches a maximum service load is judged, and if not, the service is requested to be used; otherwise, the nearest service is further searched according to the nearest distance principle until the user finds the available micro service.
The calculation process comprises the following steps of initializing an actual micro service starting number vector realMicroServiceStart of each resource center, a residual resource vector remMicSerability of the resource center and a user list useServiced served by the resource center; next, traversing each user to find the most suitable resource center service: initializing an access identifier of each resource center for the service request in the user service request list; recursively searching the nearest resource service center meeting the conditions according to the position of the user, and if the resource service center is found, continuously searching the next service; if not, returning to false; and returning true after all services of all users find the service provider in the resource center.
The step of searching the nearest resource service center meeting the condition according to the position of the user in a recursion mode comprises the steps of firstly searching the nearest resource center which is not visited according to the position of the user and returning the serial number neloCenter of the resource center; if the return is-1, the fact that all the resource centers have been visited is shown, no solution is found, and false is returned; then judging whether the resource center has available service matched with the user requirement; if the service quantity is more than or equal to 1, putting the user into a service user list, and updating the available service quantity list of the resource center; otherwise, changing the access identification of the resource center to 1, and recursively searching the nearest service of the user.
The complexity analysis of the method of the embodiment is as follows: since each iteration generation requires 1 call to the above step. The complexity of step 101 is O (N) + O (M.K) (assuming that each user contains all K micro-keysThe number of requests for service will be less than this in practice), step 104 is essentially a recursive computation with complexity o (m). Suppose that in the algorithm, T represents the number of objective functions, Q represents the number of populations, U represents the number of weight vectors per neighbor based on the decomposition multi-objective optimization algorithm, H represents the number of reference points, and the maximum allowable number of population ancestors is G. The insertion computation time complexity for ancestry of population 2Q is O (Q) logT-2Q, in the extreme case (i.e., each ancestor requires a computational choice, each ancestor has the maximum allowable number), the calculation time for each crossing and merging of ancestors is O (Q G)2) The computational complexity of selecting the ancestry in a single iteration is O (Q · G), and since the calculation of selecting the ancestry in each iteration is required to be after the reference point calculation and normalization of the conventional NSGA-III, the computational complexity of selecting all ancestry is based on the conventional reference point calculation complexity O (T · Q · H): o (T.Q)2H.G) due to the overall complexity of MGR-NSGA-III being O (Q)2)logT-2Q, during which the ancestry needs to be inserted and selected, so the computational complexity in the method of the present embodiment is O (Q)2+Q·G+G2)logT-2Q·(O(N)+O(M·K))。
In the embodiment, two real data sets are adopted for carrying out experiments, one is a New York social network user CheckIn data set which is used for simulating different users existing in the space to simultaneously carry out service requests on a data center, and the other is a Tokyo social network user CheckIn data set. The micro service data adopts a typical data application service system, and a single application system is divided into 10 micro services such as a user center micro service, a report center micro service, an administrator center micro service, a GIS micro service, a message transmission micro service, a data quality audit micro service, a data acquisition micro service, a data comprehensive maintenance and management micro service, a data visual display component micro service, an authority control micro service and the like.
Suppose that 5 resource centers exist in New York and Tokyo respectively and are specially used for operating a combat data service microservice system, and each resource center is provided with 3000 units of computing resources and 3000 units of storage resources; starting up 1 instance per microservice requires consuming 2 units of computing resources and 1 unit of storage resources, and can serve 100 users simultaneously.
The method provided by the embodiment is adopted to solve the problem of micro-service combination scheduling, and the experimental parameters are as follows:
Figure BDA0002227288100000181
the experimental environment is as follows: the experimental background adopted by the invention is as follows: the computer is mainly configured as follows: pentium (R) Dual-core3.06CPU, 4G RAM memory.
Under the values of the experimental data and the parameters, the problem is solved by adopting the multi-objective optimization algorithm provided by the invention, and the experimental result shows that the problem solution can be well converged to the pareto frontier, and meanwhile, the time performance of the solution algorithm is also good. The embodiment of the invention introduces the improved NSGA-III algorithm based on the multi-generation pedigree reference distance into the problem of the micro-service combined scheduling for the first time, so that the algorithm can be more suitable for solving the problem of the micro-service combined scheduling, and the time efficiency, the convergence degree and the calculation effect of the algorithm are comprehensively evaluated through experiments, thereby proving that the NSGA-III method introducing the multi-generation pedigree reference distance can achieve a good effect on solving the problem.
According to the contents and the embodiments of the invention, the method for micro-service combination scheduling based on multi-generation ancestry reference distance comprises the steps of deeply analyzing the attributes of relevant entities such as a resource center set, a micro-service set, a user set, a micro-service instance combination operation strategy and the like, constructing a micro-service combination scheduling problem model based on multi-objective optimization, and determining the objective function and the constraint condition of the problem; and then, an NSGA-III improved algorithm based on multi-generation blood system reference distance is provided, so that the algorithm can be more suitable for solving the micro-service combined scheduling problem, and compared with a traditional deployment strategy, the combined scheduling strategy which verifies the pareto optimal solution in a theoretical level and an experimental level has the advantages that the storage resource calculation, the load balancing rate and the actual service utilization rate in a resource center are greatly improved.

Claims (8)

1. A micro-service combination scheduling method based on multi-generation ancestry reference distance is characterized by comprising the following steps:
step 1, acquiring resource center attribute data, micro-service attribute data and user attribute data;
step 2, establishing a multi-objective optimization model of micro-service combined deployment and scheduling, wherein the model is expressed as follows:
Figure FDA0002227288090000011
wherein F (x) is the objective function of the model, h represents the number of sub-objective functions, gi(x) Representing inequality constraint conditions, m representing the number of inequality constraints, hj(x) Representing equality constraint conditions, n representing the number of equality constraint conditions;
step 3, solving the multi-objective optimization model by adopting a multi-generation ancestry reference distance-based multi-objective optimization algorithm NSGA-III, and calculating the micro-service quantity vector required to be started by each resource center;
step 4, performing combined scheduling on the micro-services in the resource center according to the micro-service quantity vector;
the resource center attribute data comprises a resource center set, and resource information and position information of each resource center, wherein the resource information comprises calculation resource information and storage resource information, and the position information comprises longitude and latitude of the resource center; the micro-service attribute data comprises a micro-service set, and computing resources and storage resources required by starting an instance by each micro-service; the user attribute data comprises a user set, and service request information and position information of each user; an objective function F (x) of the model is a subobjective function, and the subobjective function comprises a calculation resource idle rate minimization, a storage resource idle rate minimization, a micro service actual idle rate minimization, a calculation load balancing rate minimization and a storage load balancing rate minimization; the constraint conditions include a completeness constraint of a service, a total amount of computing resources constraint, a total amount of storage resources constraint and a total amount of service sequences constraint.
2. The micro-service combination scheduling method of claim 1, wherein the resource center set is denoted as RC ═ RC1,rc2,...,rcNN is the number of resource centers, and the information of the ith resource center is denoted as rci=(RRes(r_comi,r_stoi),RLoc(r_lati,r_loni) Wherein i ∈ [1, N ]],RRes(r_comi,r_stoi) Indicating that the ith resource center contains the computing resource r _ comiAnd storage resource r _ stoi,RLoc(r_lati,r_loni) Indicating the location information longitude r _ lat of the ith resource centeriAnd latitude r _ loni(ii) a The microservice set is denoted as MS ═ s1,s2,...,sKK is the number of types of microservices, and the jth microservice is denoted as sj=(SRes(r_comj,r_stoj)),j∈[1,K]Wherein SRes (r _ com)j,r_stoj) Indicating the computing resource r _ com consumed by the jth microservice to start an instancejAnd storage resource r _ stoj(ii) a The user set is denoted as Users ═ u1,u2,...,uMM is the number of users, and the q-th user is denoted as uq=(UReq(Sq(sp,..,sk)),ULoc(u_latq,u_lonq)),q∈[1,M]0 < p < K < K, wherein UReq (S)q(sp,..,sk) Represents the request requirements of the qth user for the microservice composition, ULoc (u _ lat)q,u_lonq) Position information longitude u _ lat indicating that the service is currently locatedqAnd latitude u _ lonq(ii) a The micro-service number vector is expressed as Strategy (RC, MS) ═ RC1(x11,...,x1K),rc2(x21,...,x2K),...,rcN(xN1,...,xNK)]TWherein rc isi(xi1,...,xiK) Representing a combined operation strategy of the micro service MS in the resource center i;
computing resource idleness f1(x) The calculation formula of (2) is as follows:
Figure FDA0002227288090000021
wherein rci(xi1,...,xiK) Represents the actual number of microservices vector, SRes (r _ com) started at the ith resource center1,...,r_comK) A vector of computational resource values, RRes (r _ com), representing the actual consumption of the microservicesi) A computing resource value representing the ith resource center;
idleness f of memory resources2(x) The calculation formula of (2) is as follows:
Figure FDA0002227288090000022
SRes(r_sto1,...,r_stoK) A vector of values of storage resources, RRes (r _ sto), representing the actual consumption of the microservicesi) A storage resource value representing an ith resource center;
actual idle rate f of microservice3(x) The calculation formula is as follows:
Figure FDA0002227288090000031
wherein mujRepresents the maximum number of service subscribers, ServAbility (x), allowed by the microserviceij,muj) The calculation formula of (2) is as follows:
Figure FDA0002227288090000032
RealUserNum(sj,rci) Is a micro-service sjAt resource center rciActual number of service users;
calculating the load balance rate f4(x) The calculation formula of (2) is as follows:
Figure FDA0002227288090000033
wherein the content of the first and second substances,
Figure FDA0002227288090000034
Figure FDA0002227288090000035
storage load balancing rate f5(x) The calculation formula of (2) is as follows:
Figure FDA0002227288090000036
wherein the content of the first and second substances,
Figure FDA0002227288090000037
Figure FDA0002227288090000038
completeness constraint g1(x) That is, it must be guaranteed that all microservices start at least one instance, requiring:
g1(x):xij≥1,1≤i≤N,1≤j≤K;
wherein N is the number of resource centers, and K is the number of split micro-services of the single service department;
computing total resource constraint g2(x) That is, the total amount of computing resources occupied by the operation of each resource center service instance cannot exceed the total amount of the resource center service instance, and the requirements are as follows:
g2(x):rci(xi1,...,xiK)·SRes(r_sto1,...,r_stoK)T<RRes(r_stoi),1≤i≤N;
total storage resource constraint g3(x) That is, the total amount of storage resources occupied by the operation of each resource center service instance cannot exceed the total amount of the storage resources, and the requirements are as follows:
g3(x):rci(xi1,...,xiK)·SRes(r_com1,...,r_comK)T<RRes(r_comi),1≤i≤N;
total amount of service sequence constraint g4(x) That is, the total amount of services of all the started micro-service instances is greater than the total amount of demands of users for micro-services, the requirements are as follows:
Figure FDA0002227288090000041
wherein UserReq (u)i,sj) Indicating whether the ith user requested service sjIf yes, 1 is returned, and if not, 0 is returned.
3. The method of claim 2, wherein for a solution space decision vector x ∈ Ω, expressed as:
Figure FDA0002227288090000042
the multi-objective optimization model is expressed as follows:
Figure FDA0002227288090000043
4. the combined scheduling method of micro-services according to claim 1 or 3, wherein a binary coding rule is adopted in the multi-objective optimization algorithm, the length of the coding rule is determined by the maximum number of micro-service instances that can be started in each resource center, and the population iteration process comprises the following steps:
step 101, initializing a population set and lineage set linkagetThen, carrying out cross variation on the parent population, and reserving the blood ancestors after cross variation and storing the blood ancestors in a descendant blood ancestry set Zt
Step 102, merging the parent and child into JointPt+1In the method, the solutions are sorted according to the domination sequence of the solutions in NSGA-III, and the sorting result is stored as the ancestry code number into the ancestry set linkage of the current generationt+1Performing the following steps;
103, selecting the dominant solutions of the first i levels until the solution number of the first i +1 levels is larger than the maximum population number, and selecting a plurality of solutions from the solutions of the (i + 1) th level to enable the population size to be equal to the maximum population number;
and 104, firstly calculating ideal points and extreme points, then forming reference points and reference vectors, traversing the reference vectors with the minimum nearest solution, and searching the solution closest to the reference vectors as a candidate set to be placed into the next generation of population.
5. The micro-service combination scheduling method according to claim 4, wherein in step 101, a cross-ancestry process is calculated, and the steps are as follows: step 10101, initialize the result list O firsttLineage List of lineaget(ii) a 10102, traversing all populations, and crossing two adjacent individuals according to a traditional strategy; in order to ensure that the number of ancestral lists cannot generate exponential explosion along with the increase of evolution algebra, a truncation strategy is introduced, the number of ancestral lists of the population is defined in advance, and when the number of parent population exceeds the defined number, the ancestral lists are deleted to the value of MaxLineagum/2 ancestral values far away from the ancestral lists, and the freshness of ancestral is also ensured; step 10103, merging the contents in the paternal ancestry list, determining whether mutation is performed according to probability, and storing the mutation into the offspring ancestry category.
6. The method of claim 4, wherein in the step 104, when selecting the optimal object according to the reference point, the selection is ordered according to ancestry, and the steps are as follows: firstly, judging a nearest distance population set of a reference point rp, if the set is larger than 0, two conditions exist, the first condition is that rp is in QtIs 0, and rp is selected to be FlThe closest distance population of (1); second, rp is at QtIf the population set of the most recent distance in (1) is more than 0, then the population with better historical blood lineage is selected according to the average blood lineage rank sorting.
7. The method of claim 2 or 4, wherein RealUserNum(s)j,rci) I.e. micro service sjAt resource center rciFor each user, firstly searching the nearest available micro service according to a position nearest principle, judging whether the micro service reaches the maximum service load, and if not, requesting to use the service; otherwise, further searching the nearest service according to the nearest distance principle until the user finds the available micro-service, and the calculation steps are as follows:
initializing the service quantity and the residual user quantity parameters of each resource center and the served user arrays;
initializing an actual micro service starting vector realMicroServiceStart of a resource center, a residual resource vector remMicSeraBioity of the resource center and a resource center service list userServiced;
traversing each user, and finding the most appropriate resource center service: initializing an access identifier of each resource center for the service request in the user service request list;
recursively searching the nearest resource service center meeting the conditions according to the position of the user, and if the resource service center is found, continuously searching the next service; if not, returning to false;
and returning true after all services of all users find the service provider in the resource center.
8. The method of claim 7, wherein the step of recursively searching the nearest resource service center satisfying the condition according to the user location comprises searching the nearest resource center that has not been accessed according to the user location, and returning the serial number neLoCenter of the resource center; if the return is-1, the fact that all the resource centers have been visited is shown, no solution is found, and false is returned; then judging whether the resource center has available service matched with the user requirement; if the service quantity is more than or equal to 1, putting the user into a service user list, and updating an available service quantity list of the resource center; otherwise, changing the access identification of the resource center to 1, and recursively searching the nearest service of the user.
CN201910957452.1A 2019-10-09 2019-10-09 Micro-service combination scheduling method based on multi-generation ancestry reference distance Active CN111324429B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910957452.1A CN111324429B (en) 2019-10-09 2019-10-09 Micro-service combination scheduling method based on multi-generation ancestry reference distance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910957452.1A CN111324429B (en) 2019-10-09 2019-10-09 Micro-service combination scheduling method based on multi-generation ancestry reference distance

Publications (2)

Publication Number Publication Date
CN111324429A true CN111324429A (en) 2020-06-23
CN111324429B CN111324429B (en) 2023-03-24

Family

ID=71163150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910957452.1A Active CN111324429B (en) 2019-10-09 2019-10-09 Micro-service combination scheduling method based on multi-generation ancestry reference distance

Country Status (1)

Country Link
CN (1) CN111324429B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817725A (en) * 2021-02-06 2021-05-18 成都飞机工业(集团)有限责任公司 Microservice partitioning and optimizing method based on efficient global optimization algorithm
CN112969144A (en) * 2021-02-02 2021-06-15 武汉大学 Micro-service pre-deployment method and system for mobile edge calculation
CN115987998A (en) * 2022-11-24 2023-04-18 中国人民解放军国防科技大学 Micro-service system leader election method, system, storage medium and electronic equipment
CN115987998B (en) * 2022-11-24 2024-05-03 中国人民解放军国防科技大学 Micro-service system leader election method, system, storage medium and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005522A1 (en) * 2005-06-06 2007-01-04 Wren William E Resource assignment optimization using direct encoding and genetic algorithms
CN104842564A (en) * 2015-05-12 2015-08-19 南京师范大学 NSGA-II-based three-dimensional printing multi-task optimal scheduling method
CN108334986A (en) * 2018-02-06 2018-07-27 东华大学 A kind of multiple agent Multipurpose Optimal Method of the rescheduling method based on plastic mechanism
CN109190857A (en) * 2018-10-30 2019-01-11 武汉大学 A kind of optimization algorithm based on multiple target Resource-constrained Project Scheduling Problem model
CN109361725A (en) * 2018-08-14 2019-02-19 西安电子科技大学 Car networking cloud system resource allocation methods based on multi-objective genetic algorithm
CN109522104A (en) * 2018-10-15 2019-03-26 华南理工大学 Utilize the method for differential evolution algorithm optimization two goal task of Iaas scheduling

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005522A1 (en) * 2005-06-06 2007-01-04 Wren William E Resource assignment optimization using direct encoding and genetic algorithms
CN104842564A (en) * 2015-05-12 2015-08-19 南京师范大学 NSGA-II-based three-dimensional printing multi-task optimal scheduling method
CN108334986A (en) * 2018-02-06 2018-07-27 东华大学 A kind of multiple agent Multipurpose Optimal Method of the rescheduling method based on plastic mechanism
CN109361725A (en) * 2018-08-14 2019-02-19 西安电子科技大学 Car networking cloud system resource allocation methods based on multi-objective genetic algorithm
CN109522104A (en) * 2018-10-15 2019-03-26 华南理工大学 Utilize the method for differential evolution algorithm optimization two goal task of Iaas scheduling
CN109190857A (en) * 2018-10-30 2019-01-11 武汉大学 A kind of optimization algorithm based on multiple target Resource-constrained Project Scheduling Problem model

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112969144A (en) * 2021-02-02 2021-06-15 武汉大学 Micro-service pre-deployment method and system for mobile edge calculation
CN112969144B (en) * 2021-02-02 2022-04-26 武汉大学 Micro-service pre-deployment method and system for mobile edge calculation
CN112817725A (en) * 2021-02-06 2021-05-18 成都飞机工业(集团)有限责任公司 Microservice partitioning and optimizing method based on efficient global optimization algorithm
CN112817725B (en) * 2021-02-06 2023-08-11 成都飞机工业(集团)有限责任公司 Micro-service division and optimization method based on efficient global optimization algorithm
CN115987998A (en) * 2022-11-24 2023-04-18 中国人民解放军国防科技大学 Micro-service system leader election method, system, storage medium and electronic equipment
CN115987998B (en) * 2022-11-24 2024-05-03 中国人民解放军国防科技大学 Micro-service system leader election method, system, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN111324429B (en) 2023-03-24

Similar Documents

Publication Publication Date Title
CN111027736B (en) Micro-service combined deployment and scheduling method under multi-objective optimization
Deng et al. Optimal application deployment in resource constrained distributed edges
US8302100B2 (en) System for balance distribution of requests across multiple servers using dynamic metrics
US7856572B2 (en) Information processing device, program thereof, modular type system operation management system, and component selection method
CN104995870A (en) Multi-objective server placement determination
CN109104464B (en) Distributed data updating method for collaborative storage in edge computing environment
CN111538570B (en) Energy-saving and QoS guarantee-oriented VNF deployment method and device
CN103179052A (en) Virtual resource allocation method and system based on proximity centrality
CN111324429B (en) Micro-service combination scheduling method based on multi-generation ancestry reference distance
CN111258980A (en) Dynamic file placement method based on combination prediction in cloud storage system
Kang et al. Virtual network function allocation to maximize continuous available time of service function chains with availability schedule
CN109873772A (en) Stream scheduling method, device, computer equipment and storage medium based on stable matching
CN111044062B (en) Path planning and recommending method and device
CN105282045B (en) A kind of distributed computing and storage method based on consistency hash algorithm
Sun et al. SORD: a new strategy of online replica deduplication in Cloud-P2P
Beigrezaei et al. Minimizing data access latency in data grids by neighborhood‐based data replication and job scheduling
Vahidi et al. Optimization of resource allocation in cloud computing by grasshopper optimization algorithm
WO2015055502A2 (en) Method of partitioning storage in a distributed data storage system and corresponding device
CN115766876A (en) Resource scheduling method, device, equipment and storage medium
Wen et al. Load balancing consideration of both transmission and process responding time for multi-task assignment
Ghafoor et al. An efficient model of dynamic task scheduling for distributed systems
CN107360210B (en) Virtual machine allocation method for cloud computing data center considering energy consumption and access delay
Ghanbari et al. Improving Fog Computing Scalability in Software Defined Network using Critical Requests Prediction in IoT
Guan et al. Multidimensional Resource Fragmentation-Aware Virtual Network Embedding for IoT Applications in MEC Networks
CN113326129B (en) Heterogeneous virtual resource management system and method

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