CN111324429B - 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
CN111324429B
CN111324429B CN201910957452.1A CN201910957452A CN111324429B CN 111324429 B CN111324429 B CN 111324429B CN 201910957452 A CN201910957452 A CN 201910957452A CN 111324429 B CN111324429 B CN 111324429B
Authority
CN
China
Prior art keywords
service
resource
micro
user
resource center
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.)
Active
Application number
CN201910957452.1A
Other languages
Chinese (zh)
Other versions
CN111324429A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

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 concurrency of a large number of users distributed in different regions and with different service requirements, the expansibility, fault tolerance, stability and survivability of the single application obviously cannot meet the concurrency requirements of large-scale distributed users in the mobile internet, so that the application research based on micro-services becomes a hotspot. The micro-service splits the traditional single application into independent micro-services from the horizontal or vertical 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 to be started and closed according to the concurrency requirements of users, and these starts and closures may be for a specific service module. For example, in the electronic commerce microservice, the concurrency of the payment business of the user is suddenly increased at a certain time, and the concurrency requirement of the user is met only by increasing the quantity of the payment business microservice, but the simultaneous expansion of the whole business line service is not needed like the traditional single application, so that the flexible expansion mechanism can save resources and provide high-concurrency service for the user; high availability is another typical characteristic of microservices, and since resources required by microservices for starting instances are relatively small, each service can simultaneously start a plurality of instances, 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 micro-service is an effective means for solving the problems of huge number of users and access equipment and massive concurrent requests under the conditions of the mobile internet and the 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 extension 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 instance starting and the service request of the micro service 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 lineage 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 real-time 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 GDA0003940478410000031
wherein F (x) is the objective function of the model, h represents the number of sub-objective functions, g i (x) Representing inequality constraint conditions, m representing the number of inequality constraints, h j (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 of each micro-service; the user attribute data comprises a user set, and service request information and position information of each user; a sub-objective function in an objective function F (x) of the model, wherein the sub-objective 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.
Further, resource centric set representationIs RC = { RC = 1 ,rc 2 ,...,rc N N is the number of resource centers, and the information of the ith resource center is denoted as rc i =(RRes(r_com i ,r_sto i ),RLoc(r_lat i ,r_lon i ) Where i ∈ [1, N ])],RRes(r_com i ,r_sto i ) Indicating that the ith resource center contains the computing resource r _ com i And storage resource r _ sto i ,RLoc(r_lat i ,r_lon i ) Indicating the location information longitude r _ lat of the ith resource center i And latitude r _ lon i (ii) a Microservice set denoted MS = { s = } 1 ,s 2 ,...,s K K is the number of types of microservices, and the jth microservice is denoted as s j =(SRes(r_com j ,r_sto j )),j∈[1,K]Wherein SRes (r _ com) j ,r_sto j ) Indicating the computing resource r _ com consumed by the jth microservice initiating an instance j And storage resource r _ sto j (ii) a User set expressed as Users = { u = { u = 1 ,u 2 ,...,u M M is the number of users, and the q-th user is denoted as u q =(UReq(S q (s p ,..,s k )),ULoc(u_lat q ,u_lon q )),q∈[1,M]0 < p < K < K, wherein UReq (S) q (s p ,..,s k ) Represents the request requirement of the qth user for the microservice portfolio, ULoc (u _ lat) q ,u_lon q ) Position information longitude u _ lat indicating that the service is currently located q And latitude u _ lon q (ii) a The micro service number vector is expressed as Strategy (RC, MS) = [ RC [ (=) and (RC, MS) = 1 (x 11 ,...,x 1K ),rc 2 (x 21 ,...,x 2K ),...,rc N (x N1 ,...,x NK )] T Wherein rc is i (x i1 ,...,x iK ) Representing a combined operation strategy of the micro service MS in the resource center i;
computing resource idleness f 1 (x) The calculation formula of (2) is as follows:
Figure GDA0003940478410000041
wherein rc i (x i1 ,...,x iK ) Represents the actual number of microservices vector, SRes (r _ com) started at the ith resource center 1 ,...,r_com K ) A vector of computational resource values, RRes (r _ com), representing the actual consumption of the microservices i ) A computing resource value representing an ith resource center;
idleness f of memory resources 2 (x) The calculation formula of (2) is as follows:
Figure GDA0003940478410000042
SRes(r_sto 1 ,...,r_sto K ) A vector of values of storage resources, RRes (r _ sto), representing the actual consumption of the microservices i ) A storage resource value representing an ith resource center;
actual idle rate f of microservice 3 (x) The calculation formula is as follows:
Figure GDA0003940478410000051
wherein mu j Represents the maximum number of service subscribers allowed by the microservice, serServAbiliity (x) ij ,mu j ) The calculation formula of (2) is as follows:
Figure GDA0003940478410000052
RealUserNum(s j ,rc i ) Is a micro-service s j At resource center rc i Actual number of service users;
calculating the load balance rate f 4 (x) The calculation formula of (2) is as follows:
Figure GDA0003940478410000053
wherein the content of the first and second substances,
Figure GDA0003940478410000054
Figure GDA0003940478410000055
storage load balancing rate f 5 (x) The calculation formula of (2) is as follows:
Figure GDA0003940478410000056
wherein the content of the first and second substances,
Figure GDA0003940478410000057
Figure GDA0003940478410000058
further, completeness constraint g 1 (x) That is, it must be guaranteed that all microservices start at least one instance, requiring:
g 1 (x):x ij ≥1,1≤i≤N,1≤j≤K;
wherein N is the number of resource centers, and K is the number of detachable micro-services of the single service;
computing total resource constraint g 2 (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:
g 2 (x):rc i (x i1 ,...,x iK )·SRes(r_sto 1 ,...,r_sto K ) T <RRes(r_sto i ),1≤i≤N;
total storage resource constraint g 3 (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:
g 3 (x):rc i (x i1 ,...,x iK )·SRes(r_com 1 ,...,r_com K ) T <RRes(r_com i ),1≤i≤N;
total amount of service sequence constraint g 4 (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 GDA0003940478410000061
wherein UserReq (u) i ,s j ) Indicating whether the ith user requested service s j If yes, returning to 1, and if not, returning to 0;
for a solution space decision vector x ∈ Ω, expressed as:
Figure GDA0003940478410000062
the multi-objective optimization model is expressed as follows:
Figure GDA0003940478410000063
in particular, realUserNum(s) j ,rc i ) I.e. micro service s j At resource center rc i For 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 of a resource center, a remMicServiceStart vector of the resource center, a residual resource vector remMicSerability 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 by each resource center, and the population iteration process comprises the following steps:
step 101, initializing a population set and lineage set linkage t Then carrying out cross mutation on the parent population, and reserving blood systems after cross mutation to be stored in a offspring blood system set Z t Performing the following steps;
step 102, merging the parent and child into JointP t+1 In 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 generation t+1 Performing the following steps;
103, selecting the dominant solutions of the first i levels until the solution quantity of the first i +1 levels is larger than the maximum population quantity, and selecting a plurality of solutions from the solutions of the (i + 1) th level to enable the population scale to be equal to the maximum population quantity;
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 first t Lineage List Link t (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 by MaxLineagum, and when the number of parent population exceeds the defined number, the ancestral lists are deleted until the distance from the ancestral lists to the ancestral list is increasedThe value of the ancestral ancestry is 2, and the freshness of the ancestry is guaranteed; step 10103, merging the contents in the ancestral blood system list, determining whether mutation is performed according to probability, and storing the mutation into the descendant blood system category.
Specifically, in step 104, when selecting the optimal object according to the reference vector, 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 vector rp, if the set is more than 0, having two conditions, the first is that rp is in Q t Is 0, and rp is selected to be F l The closest distance population of (1); second, rp is at Q t If 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.
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 an improved NSGA-III algorithm based on a multi-generation ancestral reference distance into a combined scheduling problem of micro-services for the first time, so that the algorithm can be more suitable for solving the combined scheduling problem of the micro-services.
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 schematic flowchart of a method for combined deployment and scheduling of microservice according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the 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 (MircoServices, MS), user sets (Users, U), micro service instance combination operation policies are involved, and first, definitions and attributes of these terms are described.
The resource center of the present embodiment is an entity capable of providing an environment for the launching and running of instances of microservices, comprising computing and storage resources distributed at different locations. The existence of N resource centers in space is denoted as RC = { RC 1 ,rc 2 ,...,rc N Each resource center contains two types of information: resource information and location information, rc i =(RRes(r_com i ,r_sto i ),RLoc(r_lat i ,r_lon i )),i∈[1,N]Wherein RRes (r _ com) i ,r_sto i ) Indicating the computing resource r _ com contained in the ith resource center i And storage resource r _ sto i . 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_lon i ) And representing the longitude and latitude of the position where the ith resource center is located.
The service set of this embodiment refers to a micro service set after a certain single application is logically split. The symbolization is described as follows: MS = { s = 1 ,s 2 ,...,s K The MS is divided into K micro services with mutually independent functions by the single application MS, and the jth micro service is expressed as s j =(SRes(r_com j ,r_sto j )),j∈[1,K],SRes(r_com j ,r_sto j ) Indicating that the jth microservice starts an instance and needs to consume the computing resource r _ com j And storage resource r _ sto j
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. User set is denoted as Users = { u = } 1 ,u 2 ,...,u M M is the number of users, each user also contains two kinds of information, service request information and position information, u q =(UReq(S q (s p ,..,s k )),ULoc(u_lat q ,u_lon q )),q∈[1,M]0 < p < K < K, wherein UReq (S) q (s p ,..,s k ) Represents the request requirements of the qth user for the microservice composition, ULoc (u _ lat) q ,u_lon q ) Indicating the current location of the service.
RC = { RC) for N resource centers 1 ,rc 2 ,...,rc N And MS = { s } for microservice to be run 1 ,s 2 ,...,s K For example, the micro-service instance combination operation Strategy is expressed by Strategy (RC, MS), and the mathematical expression is as follows: strategy (RC, MS) = [ RC = 1 (x 11 ,...,x 1K ),rc 2 (x 21 ,...,x 2K ),...,rc N (x N1 ,...,x NK )] T Wherein rc is 1 (x 11 ,...,x 1K ) 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 started, certain 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 operating strategy of a micro-service instance in each resource center is sought, so that efficient and rapid 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:
suppose that within a spatial region, there are N resource centers RC = { RC = 1 ,rc 2 ,...,rc N K micro services MS = { s) with mutually independent functions 1 ,s 2 ,...,s K }, and M user Users = { u = 1 ,u 2 ,...,u M And the decision vector is: x = Strategy (RC, MS) is a continuous search space of arguments. 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 GDA0003940478410000111
Where F (x) is the objective function of the model, g i (x) And h j (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 f 1 (x)。
Figure GDA0003940478410000112
Wherein rc i (x i1 ,...,x iK ) Represents the actual number of microservices, SRes (r _ com), started at the ith resource center 1 ,...,r_com K ) A vector of computational resource values, RRes (r _ com), representing the actual consumption of the microservices i ) Representing the computing resource value of the ith resource center.
The second way of calculating the idle rate of the storage resources of the objective function is f 2 (x)。
Figure GDA0003940478410000113
The third objective function is the actual idle rate f of the microservice 3 (x) In that respect Generally, initiating a micro-service 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. Suppose that the maximum number of service users allowable per micro-service vector (micro-service maximum load vector) is MSMaxUsers = [ mu ] m 1 ,mu 2 ,...,mu K ]. Once a micro-service instance is started, it is desirable that the micro-service be fully utilized so that resources are not wasted, otherwise the micro-service instance may be selected not to be started.
Actual idle rate definition for microservices, e.g./f 3 (x)。
Figure GDA0003940478410000121
Figure GDA0003940478410000122
It should be noted that RealUserNum(s) is used herein j ,rc i ) Is a micro-service s j At resource center rc i The actual number of service users.
Under the premise of the service discovery strategy of the user, the user can find at least one available service because the feasible solution searched in the invention must meet the constraint conditionThe micro-service, meanwhile, the micro-service instance started by each resource center can also obtain the number RealUserNum(s) of users to be served j ,rc i )。
The fourth objective function is the calculated load balancing rate f for the resource center 4 (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 f 4 (x)。
Figure GDA0003940478410000123
Figure GDA0003940478410000124
Figure GDA0003940478410000125
The fifth objective function is to balance the storage load of the resource center by the rate f 5 (x) And the storage load balancing rate is used for measuring the storage use condition of the resource center. Generally, because there are more or less data synchronization tasks among resource centers, 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 f 5 (x)。
Figure GDA0003940478410000131
Figure GDA0003940478410000132
Figure GDA0003940478410000133
In the problem of the multi-objective-based micro-service combined scheduling strategy, a result constraint condition exists, and the detailed description is as follows:
first constraint g 1 (x) Is a service integrity constraint that must ensure that all microservices start at least one instance. The mathematical expression is as follows:
g 1 (x):x ij ≥1,1≤i≤N,1≤j≤K
wherein N is the number of resource centers, and K is the number of individual services which can be split into micro-services.
Second constraint g 2 (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:
g 2 (x):rc i (x i1 ,...,x iK )·SRes(r_sto 1 ,...,r_sto K ) T <RRes(r_sto i ),1≤i≤N
third constraint g 3 (x) It is a storage resource total amount constraint, that is, the total amount of storage resources occupied by the operation of each resource center service instance cannot exceed its own total amount. Namely:
g 3 (x):rc i (x i1 ,...,x iK )·SRes(r_com 1 ,...,r_com K ) T <RRes(r_com i ),1≤i≤N
the fourth constraint is a service sequence total constraint, that is, the total service of all the started micro-service instances is greater than the total demand of the user for the micro-service. The expression is as follows:
Figure GDA0003940478410000141
wherein UserReq (u) i ,s j ) Indicates whether the ith user requested service s j If 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:
suppose a microservice set O = { O = } 1 ,o 2 ,...,o K For a solution space decision vector x e omega,
Figure GDA0003940478410000142
Figure GDA0003940478410000143
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 an evolution mechanism of NSGA-III, and a descent concept is added into the evolution mechanism, so that the population is subjected to elite strategy selection according to the descent of the population while the dominance relation and the crowding degree between the populations are considered. Under the same condition, the populations with pure descent and higher Rank are selected as iteration objects.
The present embodiment adopts a binary coding rule, and the length of the code is determined by the maximum number of micro service instances that can be started by each resource center. The present embodiment assumes that each resource center is capable of maximally allowing the launching of a certain microservice instance to be 16. Therefore, the number of micro service instances started by a certain resource center can be expressed by using four-bit binary codes. Obviously, the total length of the binary code is 4 × N × K.
The population iteration steps in this embodiment are as follows: step 101, initializing a population set and a ancestry set Link t Then, carrying out cross variation on the parent population, and reserving the blood ancestors after cross variation and storing the blood ancestors into a offspring blood ancestor set Z t Performing the following steps; step 102, merging the parent and child into JointP t+1 In 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 generation t+1 In step 103, selecting the dominant solutions of the first i levels until the number of solutions 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 in the next generation of population.
The embodiment adds a ancestor ancestry crossing strategy on the basis of a traditional crossing mutation strategy, determines the ancestry of the population through a non-dominated sorting result of a ancestry system, and then aggregates and inherits the ancestry to next generation individuals in a crossing process. Meanwhile, in order to maintain the freshness of ancestry, a loss mechanism for ancestral ancestry at a longer distance is adopted.
In step 10In 1, the blood-lineage crossing process is calculated, and the steps are as follows: step 10101, initialize the result list O first t Lineage List of lineage t Step 10102, traversing all populations, and crossing two adjacent individuals according to a traditional strategy; <xnotran> , , MaxLineageNum, , MaxLineageNum/2 , ; </xnotran> Step 10103, merging the contents in the ancestral blood system list, determining whether mutation is performed according to probability, and storing the mutation into the descendant blood system 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 vector, 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 vector rp, if the set is more than 0, having two conditions, the first is that rp is in Q t Is 0, when rp is selected to be F l The smallest distance population in (3); second, rp is at Q t If the closest distance population set in (2) is greater than 0, then selecting the population with better historical blood system according to the average blood system rank sorting.
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 quantity vector realMicroServiceStart of each resource center, a residual resource vector remMicSeraBioity of the resource center and a user list userServiced 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 answer is returned to-1, the fact that all the resource centers have been visited is shown, no solution is obtained, 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 complexity analysis of the method of the embodiment is as follows: since each iteration requires 1 invocation of the above step. The complexity of step 101 is O (N) + O (M.K) (assuming that each user contains requests for all K microservices, which is less than this number in practice), and the nature of step 104 is a recursive computation with a complexity of 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 the ancestry of 2Q population is O (Q) log T-2 Q, in the extreme case (i.e., each ancestor requires a computational choice, each ancestor has the maximum allowed number), the computation time per crossing and merging of ancestors is O (Q G) 2 ) Selection calculation of lineage in a single iterationThe complexity is O (Q · G), and since each pedigree selection calculation is performed after the reference point calculation and normalization of the conventional NSGA-III, the complexity O (T · Q · H) is calculated based on the conventional reference point, and then the calculation complexity of all pedigree selections is: o (T.Q) 2 H.G) due to the overall complexity of MGR-NSGA-III being O (Q) 2 )log T-2 Q, 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+G 2 )log T-2 Q·(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 running 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 values of experimental parameters are as follows:
Figure GDA0003940478410000181
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-core 3.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 combined scheduling problem of the micro-service for the first time, so that the algorithm can be more suitable for solving the combined scheduling problem of the micro-service, and the time efficiency, the solution convergence degree and the calculation effect of the algorithm are comprehensively evaluated through experiments, thereby proving that the NSGA-III algorithm introduced with the multi-generation pedigree reference distance can obtain a good effect on solving the problem.
According to the contents and the embodiments of the invention, the method for micro-service combined scheduling based on the 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 combined operation strategy and the like, constructing a micro-service combined 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 the multi-generation ancestral 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, the load balancing rate and the actual service utilization rate are calculated in a resource center and are greatly improved.

Claims (7)

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 FDA0003940478400000011
wherein F (x) is the objective function of the model, h represents the number of sub-objective functions, g i (x) Representing inequality constraint conditions, m representing the number of inequality constraints, h j (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 descent reference distance-based multi-objective optimization algorithm NSGA-III, and calculating the micro-service quantity vector required to be started in 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; a sub-objective function in an objective function F (x) of the model, wherein the sub-objective 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 comprise a service completeness constraint, a computing resource total quantity constraint, a storage resource total quantity constraint and a service sequence total quantity constraint;
the resource center set is represented as RC = { RC = 1 ,rc 2 ,...,rc N N is the number of resource centers, and the information of the ith resource center is denoted as rc i =(RRes(r_com i ,r_sto i ),RLoc(r_lat i ,r_lon i ) Where i ∈ [1, N ])],RRes(r_com i ,r_sto i ) Indicating that the ith resource center contains the computing resource r _ com i And storage resource r _ sto i ,RLoc(r_lat i ,r_lon i ) Indicating the location of the ith resource centerPosition information longitude r _ lat i And latitude r _ lon i (ii) a Microservice set denoted MS = { s = } 1 ,s 2 ,...,s K K is the number of types of microservices, and the jth microservice is denoted as s j =(SRes(r_com j ,r_sto j )),j∈[1,K]Wherein SRes (r _ com) j ,r_sto j ) Indicating the computing resource r _ com consumed by the jth microservice to start an instance j And storage resource r _ sto j (ii) a User set is denoted as Users = { u = } 1 ,u 2 ,...,u M M is the number of users, and the q-th user is denoted as u q =(UReq(S q (s p ,..,s k )),ULoc(u_lat q ,u_lon q )),q∈[1,M]0 < p < K < K, wherein UReq (S) q (s p ,..,s k ) Represents the request requirements of the qth user for the microservice composition, ULoc (u _ lat) q ,u_lon q ) Longitude u _ lat indicating the location information of the current location of the service q And latitude u _ lon q (ii) a The micro service number vector is expressed as Strategy (RC, MS) = [ RC [ (=) and (RC, MS) = 1 (x 11 ,...,x 1K ),rc 2 (x 21 ,...,x 2K ),...,rc N (x N1 ,...,x NK )] T
Computing resource idleness f 1 (x) The calculation formula of (2) is as follows:
Figure FDA0003940478400000021
wherein rc i (x i1 ,...,x iK ) Represents the actual number of microservices vector, SRes (r _ com) started at the ith resource center 1 ,...,r_com K ) A vector of computational resource values, RRes (r _ com), representing the actual consumption of the microservices i ) A computing resource value representing the ith resource center;
idleness f of memory resources 2 (x) The calculation formula of (2) is as follows:
Figure FDA0003940478400000022
SRes(r_sto 1 ,...,r_sto K ) A vector of values of storage resources, RRes (r _ sto), representing the actual consumption of the microservices i ) A storage resource value representing an ith resource center;
actual idle rate f of microservice 3 (x) The calculation formula is as follows:
Figure FDA0003940478400000023
wherein mu j Represents the maximum number of service subscribers, servAbility (x), allowed by the microservice ij ,mu j ) The calculation formula of (2) is as follows:
Figure FDA0003940478400000031
RealUserNum(s j ,rc i ) Is a micro-service s j At resource center rc i Actual number of service users;
calculating the load balance rate f 4 (x) The calculation formula of (c) is:
Figure FDA0003940478400000032
wherein the content of the first and second substances,
Figure FDA0003940478400000037
Figure FDA0003940478400000033
storage load balancing rate f 5 (x) The calculation formula of (2) is as follows:
Figure FDA0003940478400000034
wherein the content of the first and second substances,
Figure FDA0003940478400000035
Figure FDA0003940478400000036
completeness constraint g 1 (x) That is, it must be guaranteed that all microservices start at least one instance, requiring:
g 1 (x):x ij ≥1,1≤i≤N,1≤j≤K;
wherein N is the number of resource centers, and K is the number of detachable micro-services of the single service;
computing total resource constraint g 2 (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:
g 2 (x):rc i (x i1 ,...,x iK )·SRes(r_sto 1 ,...,r_sto K ) T <RRes(r_sto i ),1≤i≤N;
total storage resource constraint g 3 (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:
g 3 (x):rc i (x i1 ,...,x iK )·SRes(r_com 1 ,...,r_com K ) T <RRes(r_com i ),1≤i≤N;
total amount of service sequence constraint g 4 (x) That is, the total service amount of all the started micro-service instances is greater than the total demand amount of the user for the micro-service, the requirements are as follows:
Figure FDA0003940478400000041
wherein UserReq (u) i ,s j ) Indicating whether the ith user requested service s j If yes, 1 is returned, and if not, 0 is returned.
2. The method of claim 1, wherein for a solution space decision vector x e Ω, expressed as:
Figure FDA0003940478400000042
the multi-objective optimization model is expressed as follows:
Figure FDA0003940478400000043
3. the combined micro-service scheduling method according to claim 2, 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 includes the following steps:
step 101, initializing a population set and lineage set linkage t Then, carrying out cross variation on the parent population, and reserving the blood ancestors after cross variation and storing the blood ancestors into a offspring blood ancestor set Z t Performing the following steps;
step 102, merging the parent and child into JointP t+1 In 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 generation t+1 Performing 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.
4. The micro-service combination scheduling method according to claim 3, wherein in step 101, a cross-ancestry process is calculated, and the steps are as follows: step 10101, initialize the result list O first t Lineage List of lineage t (ii) a 10102, traversing all populations, and crossing two adjacent individuals according to a traditional strategy; <xnotran> , , MaxLineageNum, , MaxLineageNum/2 , ; </xnotran> Step 10103, merging the contents in the ancestral blood system list, determining whether mutation is performed according to probability, and storing the mutation into the descendant blood system category.
5. The method of claim 3, wherein in step 104, when selecting the optimal object according to the reference vector, the selection is ordered according to ancestry, and the steps are as follows: firstly, judging a nearest distance population set of a reference vector rp, if the set is more than 0, having two conditions, the first is that rp is in Q t Is 0, and rp is selected to be F l The closest distance population of (1); second, rp is at Q t If 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.
6. The method of claim 1 or 3, wherein RealUserNum(s) j ,rc i ) I.e. micro service s j At resource center rc i For 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; otherwiseThen, the nearest service is further searched according to the nearest distance principle until the user finds an available micro service, and the calculation steps are as follows:
initializing the service quantity and the residual user quantity parameters of each resource center operation and the served user array;
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.
7. The method of claim 6, 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 CN111324429A (en) 2020-06-23
CN111324429B true 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)

Families Citing this family (3)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668788B2 (en) * 2005-06-06 2010-02-23 Wren William E Resource assignment optimization using direct encoding and genetic algorithms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
CN111324429A (en) 2020-06-23

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
Liu et al. A task scheduling algorithm based on classification mining in fog computing environment
CN111324429B (en) Micro-service combination scheduling method based on multi-generation ancestry reference distance
CN111538570B (en) Energy-saving and QoS guarantee-oriented VNF deployment method and device
Kang et al. Virtual network function allocation to maximize continuous available time of service function chains with availability schedule
CN111258980A (en) Dynamic file placement method based on combination prediction in cloud storage system
Li et al. Resource scheduling based on improved spectral clustering algorithm in edge computing
Li et al. Scalable and dynamic replica consistency maintenance for edge-cloud system
Li et al. Load balancing edge server placement method with QoS requirements in wireless metropolitan area networks
CN112543151A (en) SDN controller deployment method and device, electronic equipment and storage medium
CN105282045B (en) A kind of distributed computing and storage method based on consistency hash algorithm
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
Akila et al. QoS-aware rule-based traffic-efficient multiobjective service selection in big data space
Mobasheri et al. Toward developing fog decision making on the transmission rate of various IoT devices based on reinforcement learning
Wen et al. Load balancing consideration of both transmission and process responding time for multi-task assignment
Yang et al. Replica placement in content delivery networks with stochastic demands and M/M/1 servers
CN107360210B (en) Virtual machine allocation method for cloud computing data center considering energy consumption and access delay
Abdellah et al. RAP-G: Reliability-aware service placement using genetic algorithm for deep edge computing
Huang et al. Reliable redundant services placement in federated micro-clouds
Chen et al. Service recommendation: Similarity-based representative skyline
Yang et al. Resource reservation for graph-structured multimedia services in computing power network
Guan et al. Multidimensional Resource Fragmentation-Aware Virtual Network Embedding for IoT Applications in MEC Networks
Yao A Multi-Objective Cloud Workflow Scheduling Optimization Based on Evolutionary Multi-objective Algorithm with Decomposition

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