Resource scheduling method and device, electronic equipment and readable storage medium

By using the first-order and second-order information of the cost function in a distributed multiprocessor system, combined with the iterative formula of Newton's descending direction, the problem of slow computing rate of the distributed resource scheduling scheme is solved, and the fast and optimal scheduling of computing power resources of the multi-CPU cloud computing system is achieved.

CN119847732AActive Publication Date: 2025-04-18CHINA TELECOM CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411823932.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-04-18
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

The existing distributed resource scheduling scheme has a slow calculation rate and requires a long scheduling time.

Method used

By obtaining multiple influencing factor variables of the target device, the cost function and Newton's descent direction are determined, and multiple iterations are performed until converged according to the updated influencing factor variables, Newton's descent direction, the preset computing power allocation constraint range, and the preset computing power iteration formula, to complete computing power resource scheduling.

Benefits of technology

This improves the convergence speed of the computing power iteration formula, thereby increasing the resource scheduling speed, and reducing the time spent on resource scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847732A_ABST
    Figure CN119847732A_ABST
Patent Text Reader

Abstract

The invention provides a resource scheduling method and device, electronic equipment and a readable storage medium. The method is applied to target equipment, the target equipment is any equipment in the distributed multiprocessor system, and the method comprises the following steps: acquiring a plurality of influence factor variables of the target equipment; the multiple influence factor variables are used for representing the operation cost of the target equipment; determining a cost function of the target equipment and a Newton descending direction of the cost function; the Newton descending direction is the direction in which the cost function reaches convergence fastest during iteration; according to the multiple updated influence factor variables, the Newton descent direction, a preset calculation power distribution quantity constraint range and a preset calculation power iteration formula, performing iteration for multiple times until convergence; and taking the convergence result as the computing power distribution quantity of the target equipment so as to complete computing power resource scheduling according to the computing power distribution quantity. Therefore, since the Newton descent direction is used in the multi-iteration process, the convergence speed of iteration can be improved, and the resource scheduling speed is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of computer technology, and in particular, relates to a resource scheduling method, device, electronic device and readable storage medium. Background Art

[0002] Among the related technologies, cloud computing is widely used in the fields of enterprise informatization, large resource scheduling, and the Internet of Things, and is one of the important infrastructures for realizing intelligent production, work, and life. A powerful cloud computing system usually uses many single central processing units (CPUs) to form a CPU cluster through network connections to provide computing services. Since each CPU in the cluster may have different manufacturers, different manufacturing processes, different aging levels, different work locations, etc., the cost of computing resources provided by each CPU is different, so the computing resources of multiple CPUs must be scheduled to reduce operating costs.

[0003] The traditional multi-CPU system computing power resource scheduling method is a centralized method, which requires a central server to collect information on all CPU computing power resources and obtain the optimal computing power resource scheduling value through a global optimization algorithm. The centralized scheduling method has disadvantages such as poor scalability, single node failure, and weak privacy. In order to overcome these shortcomings, the existing resource scheduling method adopts a distributed method to schedule CPU computing power resources.

[0004] However, existing distributed resource scheduling solutions have the problem of slow computing speed and long scheduling time. Summary of the invention

[0005] The present application provides a resource scheduling method, device, electronic device and readable storage medium to solve the technical problem of slow computing speed and long scheduling time.

[0006] In a first aspect, the present application provides a resource scheduling method, which is applied to a target device, wherein the target device is any device in a distributed multi-processor system, and the method comprises:

[0007] Acquire multiple influencing factor variables of a target device; the multiple influencing factor variables are used to characterize the operating cost of the target device;

[0008] Determine the cost function of the target device and the Newton descent direction of the cost function; the Newton descent direction is the direction in which the cost function converges fastest during iteration;

[0009] According to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation amount constraint range and the preset computing power iteration formula, multiple iterations are performed until convergence;

[0010] The convergence result is used as the computing power allocation amount of the target device so that computing power resource scheduling is completed according to the computing power allocation amount.

[0011] Optionally, determining the cost function of the target device and the Newton descent direction of the cost function includes:

[0012] Determine the cost function according to a preset cost coefficient and a cost function formula;

[0013] Calculate the second-order derivative of the cost function at this iteration;

[0014] The inverse operation of the second-order derivative is used as the Newton descent direction of the cost function in this iteration.

[0015] Optionally, before performing multiple iterations according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation amount constraint range and the preset computing power iteration formula until convergence, the method further includes:

[0016] A gradient descent algorithm is adopted to update the multiple influencing factor variables according to the cost function and the computing power allocation constraint range to obtain the updated multiple influencing factor variables.

[0017] Optionally, the influencing factor variables include constraint penalty multiplier variables, and the gradient descent algorithm is used to update the multiple influencing factor variables according to the cost function and the computing power allocation amount constraint range to obtain the updated multiple influencing factor variables, including:

[0018] The constraint penalty multiplier variable is updated according to the step size parameter of the iteration step and the upper and lower bounds.

[0019] Optionally, the influencing factor variables include Lagrange multiplier auxiliary variables and Lagrange multiplier variables, and the gradient descent algorithm is used to update the multiple influencing factor variables according to the cost function and the computing power allocation amount constraint range to obtain the updated multiple influencing factor variables, including:

[0020] According to the parity of the number of iterations, the weight coefficient of this iteration is determined;

[0021] The Lagrange multiplier auxiliary variable is updated according to the preset step size parameter, the Lagrange multiplier variable and the weight coefficient of the current iteration.

[0022] Optionally, the multiple influencing factor variables include Lagrange multiplier variables, and the method further includes:

[0023] Acquire performance data of a neighbor system; the neighbor system is a system in the distributed multi-processor system that is strongly connected to the target device;

[0024] The method of adopting a gradient descent algorithm to update the multiple influencing factor variables according to the cost function and the computing power allocation constraint range to obtain the updated multiple influencing factor variables includes:

[0025] According to the parity of the number of iterations, the weight coefficient of this iteration is determined;

[0026] The Lagrange multiplier variable is updated according to the weight coefficient of this iteration, the performance data of the neighbor system, the Newton descent direction of the cost function in this iteration, the Lagrange multiplier variable and the computing power upper and lower limit constraint penalty multiplier variable.

[0027] Optionally, the method further comprises:

[0028] Determine two neighbor systems of the target device according to a preset topological relationship;

[0029] The performance data of the neighbor system is obtained through a communication network.

[0030] In a second aspect, the present application provides a resource scheduling method, which is applied to a scheduling node in a distributed multi-processor system, and the method comprises:

[0031] In response to a computing power scheduling request, obtaining a computing power allocation amount for each target device in the distributed multi-processor system; the computing power allocation amount is to obtain initial values ​​of multiple influencing factor variables of the target device, the multiple influencing factor variables are used to characterize the computing power performance of the target device, determine the cost function of the target device and the Newton descent direction of the cost function, the Newton descent direction is the direction in which the cost function converges fastest during iteration, and perform multiple iterations according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power constraint range and the preset computing power iteration formula until convergence to obtain a convergence result;

[0032] Computing power resource scheduling is completed according to the computing power scheduling request and the computing power allocation amount.

[0033] Optionally, completing computing power resource scheduling according to the computing power scheduling request and the computing power allocation amount includes:

[0034] Determining the computing power requirement of the distributed multi-processor system according to the computing power scheduling request;

[0035] According to the computing power allocation amount of each target device, the computing power requirement is allocated to each device.

[0036] In a third aspect, the present application provides a resource scheduling device, which is applied to a target device, wherein the target device is any device in a distributed multi-processor system, and the device comprises:

[0037] A first acquisition module is used to acquire multiple influencing factor variables of a target device; the multiple influencing factor variables are used to characterize the operating cost of the target device;

[0038] A determination module, used to determine the cost function of the target device and the Newton descent direction of the cost function; the Newton descent direction is the direction in which the cost function converges fastest during iteration;

[0039] An iteration module, used for performing multiple iterations until convergence according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation constraint range and the preset computing power iteration formula;

[0040] The first scheduling module is used to use the convergence result as the computing power allocation amount of the target device so as to complete the computing power resource scheduling according to the computing power allocation amount.

[0041] In a fourth aspect, the present application provides a resource scheduling device, which is applied to a scheduling node in a distributed multi-processor system, and the device includes:

[0042] A second acquisition module is used to respond to a computing power scheduling request and obtain a computing power allocation amount for each target device in the distributed multi-processor system; the computing power allocation amount is to obtain the initial values ​​of multiple influencing factor variables of the target device, the multiple influencing factor variables are used to characterize the computing power performance of the target device, determine the cost function of the target device and the Newton descent direction of the cost function, the Newton descent direction is the direction in which the cost function converges fastest when iterating, and perform multiple iterations according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power constraint range and the preset computing power iteration formula until convergence to obtain a convergence result;

[0043] The second scheduling module is used to complete the computing power resource scheduling according to the computing power scheduling request and the computing power allocation amount.

[0044] In a fifth aspect, the present application provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned resource scheduling method when executing the program.

[0045] In a sixth aspect, the present application provides a readable storage medium, which, when instructions in the readable storage medium are executed by a processor of an electronic device, enables the electronic device to execute the above-mentioned resource scheduling method.

[0046] In an embodiment of the present application, first, any device in a distributed multi-processor system obtains multiple influencing factor variables that characterize its own operating costs, and secondly, determines the cost function of the device and the direction in which the cost function converges fastest during iteration, and again, performs multiple iterations until convergence based on the updated multiple influencing factor variables, Newton's descent direction, the preset computing power allocation constraint range, and the preset computing power iteration formula, and finally, uses the convergence result as the computing power allocation of the device so that computing power resource scheduling is completed according to the computing power allocation. In this way, the distributed optimization method using the first-order and second-order information of the cost function is used to achieve rapid and optimal scheduling of computing power resources in a multi-CPU cloud computing system. Since the Newton's descent direction is used in multiple iterations, the convergence speed of the computing power iteration formula can be improved, thereby improving the resource scheduling speed and reducing the time spent on resource scheduling. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0048] Figure 1 This is an overall architecture diagram provided by an embodiment of the present application;

[0049] Figure 2 It is a communication connection topology diagram provided in an embodiment of the present application;

[0050] Figure 3 It is a flowchart of the steps of a resource scheduling method provided by an embodiment of the present application;

[0051] Figure 4 is a flowchart of another resource scheduling method provided by an embodiment of the present application;

[0052] Figure 5 It is a communication connection topology diagram provided by an embodiment of the present application when the number of iterations is an odd number or an even number;

[0053] Figure 6 This is a flowchart of another resource scheduling method provided by an embodiment of the present application;

[0054] Figure 7 is a flowchart of the steps of another resource scheduling method provided in an embodiment of the present application;

[0055] Figure 8 is a structural diagram of a resource scheduling device provided in an embodiment of the present application;

[0056] Fig. 9 is a structural diagram of another resource scheduling device provided in an embodiment of the present application;

[0057] Fig.10 is a structural diagram of an electronic device provided in an embodiment of the present application;

[0058] Fig.11 It is a structural diagram of another electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0059] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0060] First, an application scenario involved in an embodiment of the present application is described.

[0061] At present, Cloud Computing is the product of the integration of traditional computer technologies and network technologies, such as Grid Computing, Distributed Computing, Parallel Computing, Utility Computing, Network Storage Technologies, Virtualization, and Load Balance.

[0062] The cloud computing system is an Internet-based computing model that provides various computing resources and services through the network, including storage, processing power, databases, applications, etc., and provides services to users on demand and in volume. The cloud computing system uses virtualization technology to process server clusters and realizes resource pooling and sharing. In other words, the cloud computing system can integrate multiple relatively low-cost computing entities into a system with powerful computing power through the network. Clients obtain computing resources and services on demand through the Internet. The cloud computing system can dynamically expand or reduce resources according to demand, realizing elastic expansion and automated deployment functions.

[0063] The traditional method of computing power resource scheduling for multi-CPU systems is a centralized method, which requires a central server and a central CPU unit to collect information from all CPU units, and to complete the optimal computing power resource scheduling through a global optimization algorithm. This leads to the disadvantages of centralized methods such as single node failure, poor scalability, and heavy communication and computing burden. The distributed method completes the optimal computing power resource scheduling of the multi-CPU system through local information exchange and local collaborative optimization algorithms between CPU units, which can effectively overcome the shortcomings of the centralized method. Therefore, the distributed resource scheduling method of multi-CPU systems has received more and more attention.

[0064] However, the existing distributed resource scheduling schemes have the following shortcomings: the existing optimization scheduling algorithm is designed based on the first-order gradient information of the cost function, and does not fully utilize the second-order information of the cost function, resulting in a very slow convergence rate of the scheduling algorithm. On the other hand, the scheduling algorithm does not consider the privacy protection issue in information transmission, which may lead to data leakage and cause related security issues.

[0065] See also Figure 1 As shown, the resource scheduling method provided in the present application is applied to a multi-CPU cloud computing system including multiple single CPU systems, each single CPU system is composed of a device layer 11, a control layer 12, an optimization layer 13, and a communication layer 14.

[0066] Optionally, the device layer 11 includes n (n is a positive integer, and n≥3) sub-cloud computing devices. The resource scheduling method in the embodiment of the present application can be applied to any sub-cloud computing device in the device layer 11.

[0067] Optionally, the control layer 12 includes n local controllers, and the control layer 12 is used to control the computing power supply of the n sub-cloud computing devices in the device layer 11 according to the scheduling command of the optimization layer 13.

[0068] Optionally, the optimization layer 13 includes n distributed resource scheduling modules, and the optimization layer 13 is used to optimize the computing power resource supply of each single CPU system according to the designed distributed resource scheduling algorithm based on its own local information and the information of the neighboring CPU system obtained through communication. Among them, the neighboring CPU system refers to a single CPU system that is strongly connected to a CPU system in a multi-CPU cloud computing system.

[0069] In some embodiments, the neighbor CPU system is obtained based on the communication connection topology relationship of the multi-CPU cloud computing system. For any single CPU system, different communication connection topologies have different neighbor CPU systems.

[0070] See also Figure 2 As shown, taking the multi-CPU cloud computing system including 4 single CPU systems as an example, according to Figure 2From the communication connection topology shown, it can be obtained that the neighbor CPU system of the single CPU system numbered 1 can be the single CPU system numbered 2 or the single CPU system numbered 3.

[0071] Optionally, the communication layer includes n communication devices, and the multiple communication devices are communicatively connected to each other, and the communication layer is used to exchange information between single CPU systems.

[0072] The resource scheduling method provided in the embodiment of the present application is described in detail below.

[0073] Figure 3 is a flowchart of a resource scheduling method provided in an embodiment of the present application. The resource scheduling method is applied to a target device, which may be Figure 1 Any cloud computing device in Figure 3 As shown, the method may include:

[0074] Step 101: Obtain multiple influencing factor variables of a target device.

[0075] In the embodiment of the present application, multiple influencing factor variables are used to characterize the operating cost of the target device.

[0076] In actual applications, multiple influencing factor variables are pre-set, which can affect the operating cost of the target device during the computing power iteration process.

[0077] In some embodiments, the plurality of influencing factor variables include Lagrange multiplier variables, Lagrange multiplier auxiliary variables, and constraint penalty multiplier variables.

[0078] It should be noted that the Lagrange multiplier variable is λ i The Lagrangian function is expressed as:

[0079]

[0080] Among them, x is the decision variable vector, λ i is the Lagrange multiplier, f(x) is the objective function, and g(x) is the constraint. The optimal values ​​of x and λ can be found by setting the gradient of the Lagrangian with respect to x and λ to zero, and the following formula is obtained:

[0081]

[0082] Solving the above equations can obtain the optimal values ​​of x and λ, which satisfy both the objective function and the constraint conditions. In the embodiment of the present application, the optimal solution of the cost function can be solved by Lagrange multiplier variables.

[0083] It should be noted that for an optimization problem with multiple equality constraints and inequality constraints, it can be transformed into an unconstrained optimization problem. Therefore, the Lagrange multiplier auxiliary variable Z is introduced. i , the Lagrange multiplier auxiliary variable can be expressed by the following formula:

[0084] Z i =λ i +αλ i

[0085] Among them, α represents the iterative step size parameter, which can be set according to actual needs.

[0086] It should be noted that the constraint penalty multiplier variable is c i It means that the constraint penalty multiplier variable can also be called the upper and lower limit constraint penalty multiplier variable of computing power, and the constraint range of the upper and lower limits of computing power is the constraint range of computing power allocation. The constraint penalty multiplier variable can be expressed by the following formula:

[0087] c i =αh(x i ,Ω i )

[0088] Among them, α represents the iterative step size parameter, which can be set according to actual needs; h(x i ,Ω i ) represents the distance function, Ω i Indicates the computing power allocation constraint range.

[0089] Step 102: Determine the cost function of the target device and the Newton descent direction of the cost function.

[0090] In the embodiment of the present application, the Newton descent direction is the direction in which the cost function converges fastest during iteration.

[0091] It should be noted that Newton direction is a concept in solving unconstrained optimization problems. Newton direction is the direction pointing to the optimal point of the quadratic function, and Newton descent direction is a type of negative gradient descent direction in the function iteration process.

[0092] Exemplarily, in the iteration process of the cost function, the gradient descent method is used for iteration. Taking the cost function as f(x) as an example, the gradient descent method can be written as follows:

[0093] x k+1 =x k -α

[0094] Among them, α represents the iterative step size parameter, which can be set according to actual needs.

[0095] During the kth iteration, represents the second-order derivative at the kth iteration step, express The inverse operation of is used to provide the Newton descent direction in the optimization. That is, Represents the Newton descent direction of the cost function.

[0096] Step 103: perform multiple iterations until convergence according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation constraint range, and the preset computing power iteration formula.

[0097] In an embodiment of the present application, the preset computing power iteration formula may be a gradient descent formula, and the preset computing power iteration formula may also be an iteration formula of Newton's method.

[0098] Exemplarily, the preset computing power iteration formula may be as follows:

[0099]

[0100] Among them, α represents the iterative step size parameter, which can be set according to actual needs; is the second-order derivative of the cost function of the ith single-CPU system at the kth iteration step, express The inverse operation of , used to provide the Newton descent direction in the optimization, is the gradient of the cost function of the ith single-CPU system at the kth iteration, λ i (k) is the Lagrange multiplier variable of the distributed resource scheduling algorithm for the i-th single CPU system at the k-th iteration step, c i (k) is the penalty multiplier variable for the upper and lower bounds of the computing power in the kth iteration of the distributed resource scheduling algorithm for the i-th single CPU system. is the distance function d(x i (k),Ω i )=inf{||zx i (k)||,z∈Ω i}, inf{·} represents the infimum, ||·|| represents the 2-norm, represents the computing power supply range of the i-th single CPU system, where and They respectively represent the lower and upper limits of the computing power supply of the i-th single CPU system.

[0101] In the above formula, if the jth and ith single CPU systems can obtain each other's information through communication connection at the kth iteration step, then j∈N i (k) and a ij (k) = a ji (k)>0, otherwise And aij (k) = a ji (k)=0.

[0102] Optionally, before step 102, the above-mentioned resource scheduling method may further include: obtaining the initial computing power allocation of the target device; iterating the initial computing power allocation of the target device multiple times until convergence according to the updated multiple influencing factor variables, Newton descent direction, the preset computing power allocation constraint range and the preset computing power iteration formula.

[0103] For example, i It represents the initial computing power allocation of the i-th sub-cloud computing device, d1=20, d2=40, d3=40, d4=30.

[0104] Step 103: Use the convergence result as the computing power allocation amount of the target device so as to complete the computing power resource scheduling according to the computing power allocation amount.

[0105] In an embodiment of the present application, the convergence result may be the optimal computing power allocation amount obtained after the number of iterations reaches a preset total number of iterations.

[0106] For example, the total number of iterations is preset to be l, and after multiple iterations until iteration step k=l, the computing power resource supply variable x of the distributed resource scheduling algorithm of each single CPU system is i (l) Converging to the optimal computing power allocation

[0107] In some embodiments, step 103 may include: the optimization layer 13 calculates the computing power allocation of each sub-cloud computing device in the device layer 11, generates a scheduling command and sends the scheduling command to the control layer 12; the control layer controls the computing power supply of the n sub-cloud computing devices in the device layer 11 through a local controller according to the scheduling command.

[0108] In some embodiments, the resource calling method provided in the embodiments of the present application is deployed on the cloud resource pool that needs to be scheduled, occupying only a very small amount of computing resources.

[0109] In summary, the resource scheduling method in the embodiment of the present application is that, first, any device in the distributed multi-processor system obtains multiple influencing factor variables that characterize its own operating cost, and secondly, determines the cost function of the device and the direction that converges fastest when the cost function is iterated, and then, according to the updated multiple influencing factor variables, Newton's descent direction, the preset computing power allocation constraint range and the preset computing power iteration formula, multiple iterations are performed until convergence, and finally, the convergence result is used as the computing power allocation of the device so that the computing power resource scheduling is completed according to the computing power allocation. In this way, the distributed optimization method using the first-order and second-order information of the cost function is used to achieve the rapid and optimal scheduling of computing power resources in a multi-CPU cloud computing system. Since the Newton's descent direction is used in the multiple iterations, the convergence speed of the computing power iteration formula can be improved, thereby improving the resource scheduling speed and reducing the time spent on resource scheduling.

[0110] Figure 4 is a flowchart of another resource scheduling method provided in an embodiment of the present application, and the resource scheduling method is applied to a target device, such as Figure 4 As shown, the method may include:

[0111] Step 201: Acquire multiple influencing factor variables of a target device.

[0112] In the embodiment of the present application, multiple influencing factor variables are used to characterize the operating cost of the target device.

[0113] The method of this step has been described in the aforementioned step 101 and will not be repeated here.

[0114] In some embodiments, the plurality of influencing factor variables include Lagrange multiplier variables, Lagrange multiplier auxiliary variables, and constraint penalty multiplier variables; step 201 may include:

[0115] Sub-step 2011, initializing Lagrange multiplier variables, Lagrange multiplier auxiliary variables and constraint penalty multiplier variables;

[0116] Sub-step 2012: Initialize computing power resource supply variables.

[0117] Exemplarily, the target device is the i-th sub-cloud computing device, and the initial value of the computing resource supply variable of the target device is x i (0) indicates that the initial value of the computing resource supply variable is 10; the initial value of the Lagrange multiplier variable is λ i (0) indicates that the initial value of the Lagrange multiplier variable is 3; the initial value of the Lagrange multiplier auxiliary variable is Z i (0) indicates that the initial value of the Lagrange multiplier auxiliary variable is 3; the initial value of the constraint penalty multiplier variable is c i (0) indicates that the initial value of the constraint penalty multiplier variable is 2.

[0118] Step 202: Determine the cost function according to the preset cost coefficient and cost function formula.

[0119] Exemplarily, the cost function can be expressed by the following formula:

[0120]

[0121] Among them, b i,1 、b i,2 、b i,3 、b i,4 represents the cost coefficient, and ln(·) represents the logarithmic function with e as the base.

[0122] Optionally, the target cost coefficient matched by the target device can be obtained according to the corresponding relationship between the i-th sub-cloud computing device and the cost coefficient. For example, the corresponding relationship between the i-th sub-cloud computing device and the cost coefficient is shown in Table 1:

[0123] Table 1

[0124]

[0125] Step 203: Calculate the second-order derivative of the cost function in this iteration.

[0126] Optionally, step 203 may include: calculating a second-order derivative of the cost function in this iteration according to a cost coefficient of the cost function.

[0127] Exemplarily, the second-order derivative at the kth iteration can be obtained by the following formula:

[0128]

[0129] Step 204: Use the inverse operation of the second-order derivative as the Newton descent direction of the cost function in this iteration.

[0130] Exemplarily, the second-order derivative is inverted to obtain the Newton descent direction of the k-th iteration as follows:

[0131]

[0132] Step 205: Adopting a gradient descent algorithm, the plurality of influencing factor variables are updated according to the cost function and the computing power allocation constraint range to obtain the updated plurality of influencing factor variables.

[0133] In some embodiments, before step 205, the resource scheduling algorithm may further include:

[0134] Sub-step A1: determining two neighbor systems of the target device according to a preset topological relationship;

[0135] Sub-step A2: Acquire performance data of neighbor systems through the communication network.

[0136] In the embodiment of the present application, the preset topological relationship can be as follows: Figure 2 As shown, the neighbor CPU system of the single CPU system numbered 1 may be the single CPU system numbered 2 or the single CPU system numbered 3.

[0137] In the embodiment of the present application, the performance data may include: response time, throughput, click volume, etc. It should be noted that the performance data does not include sensitive information such as gradient, virtual gradient, etc.

[0138] Through the above technical means, the target device does not need to exchange sensitive information such as gradients and virtual gradients with the communication neighbor system, and can achieve gradient and virtual gradient privacy information protection without additional disturbance information.

[0139] Optionally, step 205 includes:

[0140] Sub-step 2051: Update the constraint penalty multiplier variable according to the step size parameter and upper and lower bounds of the iteration step.

[0141] Exemplarily, updating the constraint penalty multiplier variable may be performed by the following formula:

[0142] c i (k+1)=c i (k)+αh(x i (k),Ω i )

[0143]

[0144] d(x i (k),Ω i )=inf{||zx i (k)||,z∈Ω i}

[0145] Among them, α represents the step size parameter; represents the subgradient of the distance function; ||·|| represents the 2-norm, Represents the computing power allocation range of the i-th single CPU system, where and They respectively represent the lower and upper limits of the computing power supply of the i-th single CPU system.

[0146] Optionally, α=0.01, the lower limit and upper limit of the computing power supply of the i-th single CPU system are shown in Table 2:

[0147] Table 2

[0148]

[0149] Through the above technical means, a constraint penalty multiplier variable is introduced, and the penalty method is used to deal with the computing power allocation limit of a single CPU system, thereby reducing the number of multiplier variables constraining the upper and lower limits of computing power.

[0150] Sub-step 2052: Update the Lagrange multiplier variables according to the cost function, the gradient of the cost function, the Newton descent direction of the cost function and the performance data of the neighbor system.

[0151] In some embodiments, sub-step 2052 may include:

[0152] Sub-step B1, obtaining performance data of a neighboring system; the neighboring system is a system in a distributed multi-processor system that is strongly connected to the target device;

[0153] Sub-step B2: determining the weight coefficient of this iteration according to the parity of the number of iterations;

[0154] Sub-step B3: Update the Lagrange multiplier variable according to the weight coefficient of this iteration, the performance data of the neighbor system, the Newton descent direction of the cost function in this iteration, the Lagrange multiplier variable, and the computing power upper and lower limit constraint penalty multiplier variable.

[0155] Exemplarily, in sub-step A2, the weight coefficient of this iteration is determined according to the correspondence between the parity of the number of iterations and the weight coefficient. When the number of iterations is an odd number, the correspondence between the parity of the number of iterations and the weight coefficient is as shown in Table 3:

[0156] Table 3

[0157] <![CDATA[a 11 =0]]> <![CDATA[a 12 =1]]> <![CDATA[a 13 =0]]> <![CDATA[a 14 =0]]> <![CDATA[a 21 =1]]> <![CDATA[a 22 =0]]> <![CDATA[a 23 =0]]> <![CDATA[a 24 =0]]> <![CDATA[a 31 =0]]> <![CDATA[a 32 =0]]> <![CDATA[a 33 =0]]> <![CDATA[a 34 =1 <!-- 9 -->]]> <![CDATA[a 41 =0]]> <![CDATA[a 42 =0]]> <![CDATA[a 43 =1]]> <![CDATA[a 44 =0]]>

[0158] When the number of iterations is an odd number, the corresponding relationship between the parity of the number of iterations and the weight coefficient is shown in Table 4:

[0159] Table 4

[0160] <![CDATA[a 11 =0]]> <![CDATA[a 12 =0]]> <![CDATA[a 13 =0]]> <![CDATA[a 14 =1]]> <![CDATA[a 21 =0]]> <![CDATA[a 22 =0]]> <![CDATA[a 23 =1]]> <![CDATA[a 24 =0]]> <![CDATA[a 31 =0]]> <![CDATA[a 32 =1]]> <![CDATA[a 33 =0]]> <![CDATA[a 34 =0]]> <![CDATA[a 41 =1]]> <![CDATA[a 42 =0]]> <![CDATA[a 43 =0]]> <![CDATA[a 44 =0]]>

[0161] Exemplarily, in sub-step A3, the Lagrange multiplier variable may be updated by the following formula:

[0162]

[0163] Among them, N i (k) is the communication neighbor set of the i-th single-CPU system at the k-th iteration step, a ij (k) is the communication weight coefficient of the kth iteration step, and its values ​​are given in Tables 3 and 4, λ j(k) is the Lagrange multiplier variable of the jth cloud computing device at the kth iteration step, z i (k) and z j (k) are the Lagrange multiplier auxiliary variables of the i-th and j-th cloud computing devices at the k-th iteration step, respectively, and d i is the initial computing power allocation of the i-th sub-cloud computing device, d1=20, d2=40, d3=40, d4=30.

[0164] Sub-step 2053: Update the Lagrange multiplier auxiliary variable according to the step size parameter of the iteration step and the Lagrange multiplier variable.

[0165] In some embodiments, sub-step 2053 may include:

[0166] Sub-step S1, determining the weight coefficient of this iteration according to the parity of the number of iterations;

[0167] Sub-step S2: updating the Lagrange multiplier auxiliary variable according to the preset step size parameter, the Lagrange multiplier variable and the weight coefficient of this iteration.

[0168] Exemplarily, the Lagrange multiplier auxiliary variable may be updated by the following formula:

[0169] z i (k+1)=z i (k)+α∑a ij (λ i (k)-λ j (k))

[0170] Among them, α represents the step size parameter, a ij (k) represents the communication weight coefficient of the kth iteration step, λ j (k) represents the Lagrange multiplier variable of the j-th cloud computing device at the k-th iteration step, λ i (k) represents the Lagrange multiplier variable of the i-th sub-cloud computing device at the k-th iteration step.

[0171] Step 206: Perform multiple iterations until convergence according to the updated multiple influencing factor variables, Newton descent direction, the preset computing power allocation constraint range, and the preset computing power iteration formula.

[0172] The method of this step has been described in the aforementioned step 103 and will not be repeated here.

[0173] Step 207: Use the convergence result as the computing power allocation amount of the target device so as to complete the computing power resource scheduling according to the computing power allocation amount.

[0174] The method of this step has been described in the aforementioned step 104 and will not be repeated here.

[0175] In summary, the resource scheduling method of the embodiment of the present application adjusts the communication weight coefficient in real time so that the algorithm can converge to the optimal solution even when the communication graph formed by the time-varying communication connection is jointly connected; there is no need to exchange sensitive information such as gradients and virtual gradients with the communication neighbor system, thereby achieving gradient and virtual gradient privacy information protection without additional disturbance information; and uses the penalty method to handle the computing power allocation limit of the single CPU system, thereby reducing the number of multiplier variables constraining the upper and lower limits of the computing power.

[0176] Figure 6 is a flowchart of the steps of a resource scheduling method provided in an embodiment of the present application. The resource scheduling method is applied to a scheduling node in a distributed multi-processor system, such as Figure 6 As shown, the method may include:

[0177] Step 301: In response to a computing power scheduling request, obtain the computing power allocation of each target device in a distributed multi-processor system.

[0178] In an embodiment of the present application, the computing power allocation amount is to obtain the initial values ​​of multiple influencing factor variables of the target device, and the multiple influencing factor variables are used to characterize the computing power performance of the target device, determine the cost function of the target device and the Newton descent direction of the cost function, and the Newton descent direction is the direction in which convergence is achieved fastest when the cost function is iterated. According to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power constraint range and the preset computing power iteration formula, multiple iterations are performed until convergence to obtain a convergence result.

[0179] In some embodiments, the resource scheduling method can be used to Figure 1 In the distributed multi-processor system shown, the scheduling node in the distributed multi-processor system can be a control node of the cloud platform. Specifically, the scheduling node can be deployed in the optimization layer, and the control instructions of the scheduling node take effect in the virtualization layer.

[0180] Optionally, the resource scheduling method provided in the embodiment of the present application is deployed on a cloud resource pool to be scheduled, occupying only a very small amount of computing resources.

[0181] Step 302: Complete computing resource scheduling according to the computing resource scheduling request and computing resource allocation.

[0182] Optionally, the computing power scheduling request includes multiple computing power demand tasks; step 302 may include: inputting the computing power scheduling request and the computing power allocation amount into a multi-objective computing power resource scheduling model to obtain an optimal computing power resource scheduling plan; the multi-objective computing power resource scheduling model is constructed based on historical computing power demand tasks and a fuzzy comprehensive evaluation algorithm; and determining the computing power resources provided to each target computing power demand task based on the optimal computing power resource scheduling plan.

[0183] In some embodiments, step 302 includes:

[0184] Sub-step 3021: determining the computing power requirement of the distributed multi-processor system according to the computing power scheduling request;

[0185] Sub-step 3022: Allocate the computing power required to each device according to the computing power allocation of each target device.

[0186] Optionally, sub-step 3021 may include: generating a computing power demand task according to a computing power scheduling request, and using the computing power resources required by the computing power demand task as the computing power demand required by the distributed multi-processor system.

[0187] Optionally, sub-step 3022 may include: determining the effective load of each target device based on the computing power allocation and load conditions of each target device; using the effective load of each target device as the allocated carrying capacity of each target device; and scheduling the corresponding computing power node to provide corresponding computing power resources for each target device based on the allocated carrying capacity of each target device.

[0188] In summary, the resource scheduling method provided by the embodiment of the present application is that the scheduling node in the distributed multi-processor system completes the computing power resource scheduling according to the computing power scheduling request and the computing power allocation of each target device, wherein the computing power allocation of each target device is a plurality of influencing factor variables that characterize its own operating cost obtained by any device in the distributed multi-processor system, and secondly, the cost function of the device and the direction in which the cost function is iterated to reach the fastest convergence are determined, and again, according to the updated plurality of influencing factor variables, the Newton descent direction, the preset computing power allocation constraint range and the preset computing power iteration formula, multiple iterations are performed until convergence, and finally, the convergence result is used as the computing power allocation of the device so that the computing power resource scheduling is completed according to the computing power allocation. In this way, the Newton descent direction is used in the iterative process of determining the computing power allocation of each target device, which can improve the convergence speed of the computing power iteration formula, thereby improving the resource scheduling speed and reducing the time spent on resource scheduling.

[0189] Figure 7 is a flowchart of a resource scheduling method provided by an embodiment of the present application, such as Figure 7 The method may include:

[0190] Step 401: Initialize variables of the scheduling algorithm.

[0191] In an embodiment of the present application, the variables of the scheduling algorithm may include: Lagrange multiplier variables, Lagrange multiplier auxiliary variables, constraint penalty multiplier variables, and computing power supply variables.

[0192] Step 402: Obtain neighbor system information through the communication network and start iteration.

[0193] In the embodiment of the present application, the neighbor system information includes performance data of the neighbor system.

[0194] Step 403: Update variables according to the scheduling algorithm.

[0195] In the embodiment of the present application, updating variables according to the scheduling algorithm may include: updating Lagrange multiplier variables, Lagrange multiplier auxiliary variables, constraint penalty multiplier variables, and computing power supply variables. The specific formula used has been described in the aforementioned step 205 and will not be repeated here.

[0196] Step 404: Determine whether the total number of iterations has been reached. If the total number of iterations has been reached, execute step 405; if the total number of iterations has been reached, return to execute step 402.

[0197] In the embodiment of the present application, the total number of iterations is preset.

[0198] Step 405: Determine the optimal computing power supply.

[0199] In the embodiment of the present application, the optimal computing power supply is the computing power allocation.

[0200] In summary, the resource scheduling method provided in the embodiment of the present application utilizes a distributed optimization method of the first-order and second-order information of the cost function to achieve rapid and optimal scheduling of computing resources in a multi-CPU cloud computing system.

[0201] Figure 8 is a structural diagram of a resource scheduling device 500 provided in an embodiment of the present application. The resource scheduling device 500 is applied to a target device. The resource scheduling device 500 may include:

[0202] The first acquisition module 501 is used to acquire multiple influencing factor variables of the target device; the multiple influencing factor variables are used to characterize the operating cost of the target device;

[0203] A determination module 502 is used to determine the cost function of the target device and the Newton descent direction of the cost function; the Newton descent direction is the direction in which the cost function converges fastest during iteration;

[0204] Iteration module 503, used for performing multiple iterations until convergence according to the updated multiple influencing factor variables, Newton descent direction, preset computing power allocation constraint range and preset computing power iteration formula;

[0205] The first scheduling module 504 is used to use the convergence result as the computing power allocation amount of the target device so as to complete the computing power resource scheduling according to the computing power allocation amount.

[0206] Optionally, the determination module 502 includes:

[0207] A first determination submodule is used to determine a cost function according to a preset cost coefficient and a cost function formula;

[0208] The calculation submodule is used to calculate the second-order derivative of the cost function in this iteration;

[0209] The second determination submodule is used to use the inverse operation of the second-order derivative as the Newton descent direction of the cost function in this iteration.

[0210] Optionally, the resource scheduling device 500 further includes:

[0211] The updating module is used to update the multiple influencing factor variables according to the cost function and the computing power allocation constraint range by using the gradient descent algorithm to obtain the updated multiple influencing factor variables.

[0212] Optionally, update the module, including:

[0213] The first updating submodule is used to update the constraint penalty multiplier variable according to the step size parameter and the upper and lower bounds of the iteration step.

[0214] Optionally, the influencing factor variable includes a Lagrange multiplier auxiliary variable and a Lagrange multiplier variable, and the updating module includes:

[0215] The third determination submodule is used to determine the weight coefficient of this iteration according to the parity of the number of iterations;

[0216] The second updating submodule is used to update the Lagrange multiplier auxiliary variable according to the preset step size parameter, the Lagrange multiplier variable and the weight coefficient of this iteration.

[0217] Optionally, the multiple influencing factor variables include Lagrange multiplier variables, and the resource scheduling device 500 further includes:

[0218] The third acquisition module is used to obtain performance data of a neighbor system; the neighbor system is a system in a distributed multi-processor system that is strongly connected to the target device;

[0219] Update modules, including:

[0220] The fourth determination submodule is used to determine the weight coefficient of this iteration according to the parity of the number of iterations;

[0221] The third updating submodule is used to update the Lagrange multiplier variable according to the weight coefficient of this iteration, the performance data of the neighbor system, the Newton descent direction of the cost function in this iteration, the Lagrange multiplier variable and the upper and lower limit constraint penalty multiplier variable of the computing power.

[0222] Optionally, the resource scheduling device 500 further includes:

[0223] A neighbor system determination module 502, configured to determine two neighbor systems of a target device according to a preset topological relationship;

[0224] The fourth acquisition module is used to acquire the performance data of the neighbor system through the communication network.

[0225] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0226] In summary, the resource scheduling device in the embodiment of the present application, first, any device in the distributed multi-processor system obtains multiple influencing factor variables that characterize its own operating cost, and secondly, determines the cost function of the device and the direction of the fastest convergence when the cost function is iterated, and then, according to the updated multiple influencing factor variables, Newton descent direction, preset computing power allocation constraint range and preset computing power iteration formula, multiple iterations are performed until convergence, and finally, the convergence result is used as the computing power allocation of the device so that the computing power resource scheduling is completed according to the computing power allocation. In this way, the distributed optimization method of the first-order and second-order information of the cost function is used to realize the rapid optimal scheduling of computing power resources of the multi-CPU cloud computing system. Since the Newton descent direction is used in the multiple iterations, the convergence speed of the computing power iteration formula can be improved, thereby improving the resource scheduling speed and reducing the time spent on resource scheduling.

[0227] Fig. 9 600 is a structural diagram of a resource scheduling device provided in an embodiment of the present application. The device is applied to a scheduling node in a distributed multi-processor system. The device 600 may include:

[0228] The second acquisition module 601 is used to respond to the computing power scheduling request and obtain the computing power allocation amount of each target device in the distributed multi-processor system; the computing power allocation amount is to obtain the initial values ​​of multiple influencing factor variables of the target device, the multiple influencing factor variables are used to characterize the computing power performance of the target device, determine the cost function of the target device and the Newton descent direction of the cost function, the Newton descent direction is the direction that converges fastest when the cost function is iterated, and perform multiple iterations according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power constraint range and the preset computing power iteration formula until convergence to obtain a convergence result;

[0229] The second scheduling module 602 is used to complete computing power resource scheduling according to the computing power scheduling request and the computing power allocation amount.

[0230] Optionally, the second scheduling module 602 includes:

[0231] A computing power requirement determination submodule is used to determine the computing power requirement of the distributed multi-processor system according to the computing power scheduling request;

[0232] The allocation submodule is used to allocate the computing power required to each device according to the computing power allocation amount of each target device.

[0233] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0234] In summary, the resource scheduling device provided by the embodiment of the present application, the scheduling node in the distributed multi-processor system completes the computing power resource scheduling according to the computing power scheduling request and the computing power allocation of each target device, wherein the computing power allocation of each target device is a plurality of influencing factor variables that any device in the distributed multi-processor system obtains to characterize its own operating cost, and secondly, the cost function of the device and the direction in which the cost function is iterated to reach the fastest convergence, and again, according to the updated plurality of influencing factor variables, Newton descent direction, preset computing power allocation constraint range and preset computing power iteration formula, multiple iterations are performed until convergence, and finally, the convergence result is used as the computing power allocation of the device so that the computing power resource scheduling is completed according to the computing power allocation. In this way, the Newton descent direction is used in the iterative process of determining the computing power allocation of each target device, which can improve the convergence speed of the computing power iteration formula, thereby improving the resource scheduling speed and reducing the time spent on resource scheduling.

[0235] The present application also provides an electronic device, see Fig.10 , the electronic device 700 may include one or more of the following components: a processing component 702 , a memory 704 , a power component 706 , a multimedia component 708 , an audio component 710 , an input / output (I / O) interface 712 , a sensor component 714 , and a communication component 716 .

[0236] The processing component 702 generally controls the overall operation of the electronic device 700, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 702 may include one or more processors 720 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 702 may include one or more modules to facilitate the interaction between the processing component 702 and other components. For example, the processing component 702 may include a multimedia module to facilitate the interaction between the multimedia component 708 and the processing component 702.

[0237] The memory 704 is used to store various types of data to support operations on the electronic device 700. Examples of such data include instructions for any application or method operating on the electronic device 700, contact data, phone book data, messages, pictures, multimedia, etc. The memory 704 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0238] The power supply component 706 provides power to the various components of the electronic device 700. The power supply component 706 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 700.

[0239] The multimedia component 708 includes an interface that provides an output interface between the electronic device 700 and the user. In some embodiments, the interface may include a liquid crystal display (LCD) and a touch panel (TP). If the interface includes a touch panel, the interface may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 708 includes a front camera and / or a rear camera. When the electronic device 700 is in an operating mode, such as a shooting mode or a multimedia mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0240] The audio component 710 is used to output and / or input audio signals. For example, the audio component 710 includes a microphone (MIC), and when the electronic device 700 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is used to receive an external audio signal. The received audio signal can be further stored in the memory 704 or sent via the communication component 716. In some embodiments, the audio component 710 also includes a speaker for outputting audio signals.

[0241] The input / output I / O interface 712 provides an interface between the processing component 702 and the peripheral interface module, which may be a keyboard, a click wheel, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.

[0242] The sensor assembly 714 includes one or more sensors for providing various aspects of status assessment for the electronic device 700. For example, the sensor assembly 714 can detect the open / closed state of the electronic device 700, the relative positioning of components, such as the display and keypad of the electronic device 700, and the sensor assembly 714 can also detect the position change of the electronic device 700 or a component of the electronic device 700, the presence or absence of user contact with the electronic device 700, the orientation or acceleration / deceleration of the electronic device 700, and the temperature change of the electronic device 700. The sensor assembly 714 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 714 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 714 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0243] The communication component 716 is used to facilitate wired or wireless communication between the electronic device 700 and other devices. The electronic device 700 can access a wireless network based on a communication standard, such as WiFi, a carrier network (such as 2G, 3G, 7G or 7G), or a combination thereof. In an exemplary embodiment, the communication component 716 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 716 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0244] In an exemplary embodiment, the electronic device 700 can be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to implement a method for displaying a vehicle-road collaborative scenario provided in an embodiment of the present application.

[0245] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 704 including instructions, and the instructions can be executed by a processor 720 of an electronic device 700 to perform the above method. For example, the non-transitory storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0246] Fig.118 is a block diagram of an electronic device 800 according to another embodiment of the present invention. For example, the electronic device 800 may be provided as a server. Fig.11 The electronic device 800 includes a processing component 822, which further includes one or more processors, and a memory resource represented by a memory 832 for storing instructions that can be executed by the processing component 822, such as an application. The application stored in the memory 832 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 822 is configured to execute instructions to perform a resource scheduling method provided in an embodiment of the present application.

[0247] The electronic device 800 may also include a power supply component 826 configured to perform power management of the electronic device 800, a wired or wireless network interface 850 configured to connect the electronic device 800 to a network, and an input / output (I / O) interface 858. The electronic device 800 may operate based on an operating system stored in the memory 832, such as Windows Server TM, Mac OS X TM, Unix TM, Linux TM, Free BSD TM or the like.

[0248] In an embodiment of the present application, the memory 832 may be used to store software programs and various data. The memory 832 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instruction required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 832 may include a volatile memory or a non-volatile memory, or the memory 832 may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM) and a direct memory bus random access memory (DRRAM). The memory 832 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.

[0249] The processor may include one or more processing units; optionally, the processor integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to the operating system, user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor.

[0250] The present application also provides a readable storage medium. When instructions in the readable storage medium are executed by a processor of an electronic device, the electronic device can execute the resource scheduling method of the aforementioned embodiment.

[0251] An embodiment of the present application also provides a computer program product, which is stored in a storage medium. The program product is executed by at least one processor to implement the various processes of the above-mentioned resource scheduling method embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0252] It should be noted that the various information and data obtained in the embodiments of the present application are obtained with the authorization of the information / data holder. All actions of obtaining signals, information or data in the present application are carried out in compliance with the relevant data protection laws and policies of the country of residence and with the authorization of the corresponding device owner.

[0253] The algorithm and display provided herein are not inherently related to any particular computer, virtual system or other device. Various general purpose systems can also be used together with the teachings based on this. According to the above description, it is obvious that the structure required for constructing such systems. In addition, the application is not directed to any specific programming language either. It should be understood that various programming languages ​​can be utilized to realize the content of the application described herein, and the description of the specific language above is for the purpose of disclosing the best mode of implementation of the application.

[0254] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.

[0255] Similarly, it should be understood that in order to streamline the present application and help understand one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: the claimed application requires more features than the features clearly stated in each claim. More specifically, as reflected in the claims below, the inventive aspects are less than all the features of the single embodiment disclosed above. Therefore, the claims following the specific embodiment are hereby expressly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the present application.

[0256] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.

[0257] The various component embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components in the sorting device according to the present application. The present application can also be implemented as a device or apparatus program for executing part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0258] It should be noted that the above embodiments illustrate the present application rather than limit the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets should not be constructed as a limitation to the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The present application may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names.

[0259] The user information (including but not limited to the user's device information, user personal information, etc.) and related data involved in this application are all information authorized by the user or by all parties.

[0260] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0261] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the protection scope of the present application.

[0262] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A resource scheduling method, characterized in that: Applied to a target device, the target device being any device in a distributed multi-processor system, the method comprises: Acquire multiple influencing factor variables of a target device; the multiple influencing factor variables are used to characterize the operating cost of the target device; Determine the cost function of the target device and the Newton descent direction of the cost function; the Newton descent direction is the direction in which the cost function converges fastest when iterating; According to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation amount constraint range and the preset computing power iteration formula, multiple iterations are performed until convergence; The convergence result is used as the computing power allocation amount of the target device so that computing power resource scheduling is completed according to the computing power allocation amount.

2. The method according to claim 1, characterized in that The determining the cost function of the target device and the Newton descent direction of the cost function includes: Determine the cost function according to a preset cost coefficient and a cost function formula; Calculate the second-order derivative of the cost function at this iteration; The inverse operation of the second-order derivative is used as the Newton descent direction of the cost function in this iteration.

3. The method according to claim 1, characterized in that Before performing multiple iterations until convergence according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation amount constraint range and the preset computing power iteration formula, the method further includes: A gradient descent algorithm is adopted to update the multiple influencing factor variables according to the cost function and the computing power allocation constraint range to obtain the updated multiple influencing factor variables.

4. The method according to claim 3, characterized in that The influencing factor variables include constraint penalty multiplier variables, and the gradient descent algorithm is used to update the multiple influencing factor variables according to the cost function and the computing power allocation amount constraint range to obtain the updated multiple influencing factor variables, including: The constraint penalty multiplier variable is updated according to the step size parameter of the iteration step and the upper and lower bounds.

5. The method according to claim 3, characterized in that: The influencing factor variables include Lagrange multiplier auxiliary variables and Lagrange multiplier variables. The gradient descent algorithm is used to update the multiple influencing factor variables according to the cost function and the computing power allocation constraint range to obtain the updated multiple influencing factor variables, including: According to the parity of the number of iterations, the weight coefficient of this iteration is determined; The Lagrange multiplier auxiliary variable is updated according to the preset step size parameter, the Lagrange multiplier variable and the weight coefficient of the current iteration.

6. The method according to claim 3, characterized in that The plurality of influencing factor variables include Lagrange multiplier variables, and the method further includes: Acquire performance data of a neighbor system; the neighbor system is a system in the distributed multi-processor system that is strongly connected to the target device; The method of adopting a gradient descent algorithm to update the multiple influencing factor variables according to the cost function and the computing power allocation constraint range to obtain the updated multiple influencing factor variables includes: According to the parity of the number of iterations, the weight coefficient of this iteration is determined; The Lagrange multiplier variable is updated according to the weight coefficient of this iteration, the performance data of the neighbor system, the Newton descent direction of the cost function in this iteration, the Lagrange multiplier variable and the computing power upper and lower limit constraint penalty multiplier variable.

7. The method according to claim 1, characterized in that The method further comprises: Determine two neighbor systems of the target device according to a preset topological relationship; The performance data of the neighbor system is obtained through a communication network.

8. A resource scheduling method, characterized in that: Applied to a scheduling node in a distributed multi-processor system, the method comprises: In response to a computing power scheduling request, the computing power allocation amount of each target device in the distributed multi-processor system is obtained; the computing power allocation amount is to obtain the initial values ​​of multiple influencing factor variables of the target device, the multiple influencing factor variables are used to characterize the computing power performance of the target device, determine the cost function of the target device and the Newton descent direction of the cost function, the Newton descent direction is the direction in which the cost function converges fastest when iterating, and perform multiple iterations according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power constraint range and the preset computing power iteration formula until convergence to obtain a convergence result; Computing power resource scheduling is completed according to the computing power scheduling request and the computing power allocation amount.

9. The method according to claim 8, characterized in that The step of completing computing resource scheduling according to the computing resource scheduling request and the computing resource allocation includes: Determining the computing power requirement of the distributed multi-processor system according to the computing power scheduling request; According to the computing power allocation amount of each target device, the computing power requirement is allocated to each device.

10. A resource scheduling device, characterized in that: Applied to a target device, the target device being any device in a distributed multi-processor system, the apparatus comprises: A first acquisition module is used to acquire multiple influencing factor variables of a target device; the multiple influencing factor variables are used to characterize the operating cost of the target device; A determination module, used to determine the cost function of the target device and the Newton descent direction of the cost function; the Newton descent direction is the direction in which the cost function converges fastest during iteration; An iteration module, used for performing multiple iterations until convergence according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation constraint range and the preset computing power iteration formula; The first scheduling module is used to use the convergence result as the computing power allocation amount of the target device so as to complete the computing power resource scheduling according to the computing power allocation amount.

11. A resource scheduling device, characterized in that: Applied to a scheduling node in a distributed multi-processor system, the device comprises: A second acquisition module is used to respond to a computing power scheduling request and obtain the computing power allocation amount of each target device in the distributed multi-processor system; the computing power allocation amount is to obtain the initial values ​​of multiple influencing factor variables of the target device, the multiple influencing factor variables are used to characterize the computing power performance of the target device, determine the cost function of the target device and the Newton descent direction of the cost function, the Newton descent direction is the direction in which the cost function converges fastest when iterating, and perform multiple iterations according to the updated multiple influencing factor variables, the Newton descent direction, the preset computing power constraint range and the preset computing power iteration formula until convergence to obtain a convergence result; The second scheduling module is used to complete the computing power resource scheduling according to the computing power scheduling request and the computing power allocation amount.

12. An electronic device, characterized in that: include: A processor, a communication interface, a memory and a communication bus; wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory, used to store computer programs; The processor is used to implement the steps in the resource scheduling method as described in any one of claims 1 to 7 or 8 to 9 when executing the program stored in the memory.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps in the resource scheduling method as described in any one of claims 1 to 7 or 8 to 9 are implemented.

Citation Information

Patent Citations

  • Shared vehicle accessory optimization method, system and equipment based on conjugate gradient algorithm and medium

    CN114742304A

  • Privacy protection distributed resource scheduling method for multi-CPU system

    CN117009086A

  • Cloud resource management method and device, electronic equipment and computer readable storage medium

    CN118860661A