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

By using Newton's descent direction and gradient descent algorithm in a distributed multiprocessor system, combined with Lagrange multipliers and constraint penalty multiplier variables, the problem of slow computation speed in distributed resource scheduling schemes is solved, and fast and optimal scheduling of computing resources in multi-CPU cloud computing systems is realized.

CN119847732BActive Publication Date: 2026-04-17CHINA TELECOM CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA TELECOM CORP LTD
Filing Date
2024-12-11
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing distributed resource scheduling schemes have slow computation speeds and require long scheduling times.

Method used

By employing Newton's descent direction and gradient descent algorithm, combined with Lagrange multipliers and constraint penalty multiplier variables, and by acquiring multiple influencing factor variables of the target device, the cost function is determined and iterated multiple times until convergence is achieved, thus realizing rapid scheduling of computing resources.

Benefits of technology

It improves the convergence speed of the computing power iteration formula, reduces resource scheduling time, and realizes fast and optimal scheduling of computing power resources in multi-CPU cloud computing systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847732B_ABST
    Figure CN119847732B_ABST
Patent Text Reader

Abstract

This application provides a resource scheduling method, apparatus, electronic device, and readable storage medium. The method is applied to a target device, which is any device in a distributed multiprocessor system, and includes: acquiring multiple influencing factor variables of the target device; using these variables to characterize the operating cost of the target device; determining the cost function of the target device and its Newton descent direction; the Newton descent direction being the direction in which the cost function converges fastest during iteration; performing multiple iterations until convergence based on the updated influencing factor variables, the Newton descent direction, a preset computing power allocation constraint range, and a preset computing power iteration formula; and using the convergence result as the computing power allocation for the target device to complete computing power resource scheduling based on the allocation. Thus, by using the Newton descent direction during multiple iterations, the convergence speed of the iterations can be improved, thereby increasing the resource scheduling speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In related technologies, cloud computing is widely used in enterprise informatization, large-scale 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 typically uses a cluster of numerous individual central processing units (CPUs) connected through a network to provide computing services. Because each CPU in the cluster may have different manufacturers, manufacturing processes, aging levels, and operating locations, the cost of computing resources provided by each CPU is different. Therefore, it is necessary to schedule the computing resources of multiple CPUs to reduce operating costs.

[0003] Traditional multi-CPU system computing resource scheduling methods are centralized, requiring a central server to collect information on all CPU computing resources and then using a global optimization algorithm to obtain the optimal computing resource scheduling values. Centralized scheduling methods suffer from drawbacks such as poor scalability, single-node failures, and weak privacy. To overcome these shortcomings, existing resource scheduling methods employ distributed approaches for CPU computing resource scheduling.

[0004] However, existing distributed resource scheduling schemes suffer from slow computation speeds and require long scheduling times. Summary of the Invention

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

[0006] In a first aspect, this application provides a resource scheduling method applied to a target device, wherein the target device is any device in a distributed multiprocessor system, the method comprising:

[0007] Multiple influencing factor variables of the target equipment are obtained; these multiple influencing factor variables are used to characterize the operating cost of the target equipment.

[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] Based on the updated multiple 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.

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

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

[0012] The cost function is determined based on the preset cost coefficients and cost function formulas;

[0013] Calculate the second derivative of the cost function in this iteration;

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

[0015] Optionally, before performing multiple iterations until convergence based on 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 method further includes:

[0016] 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, so as to obtain the updated multiple influencing factor variables.

[0017] Optionally, the influencing factor variables include constraint penalty 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, resulting in the updated multiple influencing factor variables, including:

[0018] The constraint penalty multiplier variable is updated based on the step size parameter of the iteration step and the upper and lower boundaries.

[0019] Optionally, 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, resulting in the updated multiple influencing factor variables, including:

[0020] The weight coefficients for this iteration are determined based on the parity of the iteration number.

[0021] The Lagrange multiplier auxiliary variables are updated based on the preset step size parameters, Lagrange multiplier variables, and the weight coefficients of the current iteration.

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

[0023] Obtain performance data from the neighbor system; the neighbor system is a system in the distributed multiprocessor system that is strongly connected to the target device.

[0024] 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, resulting in the updated multiple influencing factor variables, including:

[0025] The weight coefficients for this iteration are determined based on the parity of the iteration number.

[0026] The Lagrange multiplier variable is updated based on 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 includes:

[0028] Based on the preset topology, determine the two neighbor systems of the target device;

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

[0030] Secondly, this application provides a resource scheduling method applied to a scheduling node in a distributed multiprocessor system, the method comprising:

[0031] In response to a computing power scheduling request, the computing power allocation for each target device in the distributed multiprocessor system is obtained. This allocation is derived from the initial values ​​of multiple influencing factor variables for the target device, which characterize the computing power performance of the target device. The cost function of the target device and its Newton descent direction are determined, where the Newton descent direction is the direction in which the cost function converges fastest during iteration. Based on the updated influencing factor variables, the Newton descent direction, a preset computing power constraint range, and a preset computing power iteration formula, multiple iterations are performed until a convergence result is obtained.

[0032] The computing power resource scheduling is completed based on the computing power scheduling request and the computing power allocation amount.

[0033] Optionally, the step of scheduling computing resources according to the computing power scheduling request and the computing power allocation includes:

[0034] The computing power requirement of the distributed multiprocessor system is determined based on the computing power scheduling request;

[0035] The computing power requirement is allocated to each target device according to the computing power allocation amount for each target device.

[0036] Thirdly, this application provides a resource scheduling device applied to a target device, wherein the target device is any device in a distributed multiprocessor system, and the device includes:

[0037] The first acquisition module is used to acquire multiple influencing factor variables of the target equipment; the multiple influencing factor variables are used to characterize the operating cost of the target equipment.

[0038] A determination module 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;

[0039] The iteration module is used to perform multiple iterations until convergence based on 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 for the target device so that computing power resource scheduling is completed according to the computing power allocation amount.

[0041] Fourthly, this application provides a resource scheduling device applied to a scheduling node in a distributed multiprocessor system, the device comprising:

[0042] The second acquisition module is used to respond to a computing power scheduling request and acquire the computing power allocation of each target device in the distributed multiprocessor system. The computing power allocation is the initial value 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. The cost function of the target device and the Newton descent direction of the cost function are determined. The Newton descent direction is the direction in which the cost function converges fastest during iteration. Based on 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 the convergence result is obtained.

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

[0044] Fifthly, this application provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the above-described resource scheduling method when executing the program.

[0045] Sixthly, this application provides a readable storage medium that, when the instructions in the readable storage medium are executed by the processor of an electronic device, enables the electronic device to perform the above-described resource scheduling method.

[0046] In this embodiment, firstly, any device in the distributed multiprocessor system acquires multiple influencing factor variables characterizing its own operating cost. Secondly, the cost function of the device and the direction of fastest convergence during cost function iteration are determined. Thirdly, based on the updated multiple 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. Finally, the convergence result is used as the computing power allocation for the device so that computing power resource scheduling is completed according to the computing power allocation. In this way, a distributed optimization method using the first-order and second-order information of the cost function achieves fast and optimal scheduling of computing power resources in a multi-CPU cloud computing system. Because the Newton 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. Attached Figure Description

[0047] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0048] Figure 1 This is an overall architecture diagram provided in an embodiment of this application;

[0049] Figure 2 This is a communication connection topology diagram provided in an embodiment of this application;

[0050] Figure 3 This is a flowchart illustrating the steps of a resource scheduling method provided in an embodiment of this application;

[0051] Figure 4 This is a flowchart of another resource scheduling method provided in an embodiment of this application;

[0052] Figure 5 This application provides a communication connection topology diagram for when the number of iterations is odd or even.

[0053] Figure 6 This is a flowchart illustrating the steps of another resource scheduling method provided in this application embodiment;

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

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

[0056] Figure 9 This is a structural diagram of another resource scheduling device provided in the embodiments of this application;

[0057] Figure 10 This is a structural diagram of an electronic device provided in an embodiment of this application;

[0058] Figure 11 This is a structural diagram of another electronic device provided in an embodiment of this application. Detailed Implementation

[0059] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0060] First, an application scenario involving an embodiment of this application will be described.

[0061] Currently, cloud computing is a product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing.

[0062] Cloud computing is an internet-based computing model that provides various computing resources and services, including storage, processing power, databases, and applications, via a network. These services are delivered to users on demand and on a pay-as-you-go basis. Cloud computing systems utilize server clusters for virtualization technology, enabling resource pooling and sharing. In other words, cloud computing can integrate multiple relatively low-cost computing entities into a single system with powerful computing capabilities. Clients access computing resources and services on demand via the internet, and the cloud computing system can dynamically expand or shrink resources based on needs, achieving elastic scaling and automated deployment.

[0063] Traditional multi-CPU system resource scheduling methods are centralized, requiring a central server and a central CPU unit to collect information from all CPU units and perform global optimization algorithms to achieve optimal resource scheduling. This leads to drawbacks such as single-node failure, poor scalability, and heavy communication and computational burdens. Distributed methods, through local information exchange and local collaborative optimization algorithms among CPU units, achieve optimal resource scheduling for multi-CPU systems, effectively overcoming the shortcomings of centralized methods. Therefore, distributed resource scheduling methods for multi-CPU systems are receiving increasing attention.

[0064] However, existing distributed resource scheduling schemes have the following shortcomings: Existing optimized scheduling algorithms are designed based on the first-order gradient information of the cost function, failing to fully utilize the second-order information of the cost function, resulting in a very slow convergence rate. Furthermore, these scheduling algorithms do not consider privacy protection issues during information transmission, potentially leading to data leakage and related security problems.

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

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

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

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

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

[0070] See Figure 2 As shown, taking a multi-CPU cloud computing system comprising four single-CPU systems as an example, according to... Figure 2The communication connection topology shown shows that the neighboring CPU system of the single CPU system numbered 1 can be either the single CPU system numbered 2 or the single CPU system numbered 3.

[0071] Optionally, the communication layer includes n communication devices, which communicate with each other. The communication layer is used for information exchange between single-CPU systems.

[0072] The resource scheduling method provided in the embodiments of this application will be described in detail below.

[0073] Figure 3 This is a flowchart illustrating the steps of a resource scheduling method provided in an embodiment of this application. This resource scheduling method is applied to a target device, which may be... Figure 1 Any of the sub-cloud computing devices, such as Figure 3 As shown, the method may include:

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

[0075] In the embodiments of this application, multiple influencing factor variables are used to characterize the operating cost of the target equipment.

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

[0077] In some embodiments, the multiple 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 represented by λ. i The expression for the Lagrange function is:

[0079]

[0080] Where x is the decision variable vector, λ i Let f(x) be the Lagrange multiplier, f(x) be the objective function, and g(x) be the constraint condition. The optimal values ​​of x and λ can be found by setting the gradients of the Lagrange multipliers with respect to x and λ to zero, resulting in the following formula:

[0081]

[0082] Solving the above equations yields the optimal values ​​of x and λ, which simultaneously satisfy the objective function and the constraints. In this embodiment, the optimal solution to the cost function can be obtained using Lagrange multipliers.

[0083] It should be noted that an optimization problem with multiple equality and inequality constraints 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 represented by the following formula:

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

[0085] Here, α represents the iteration 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 This indicates that the constraint penalty multiplier variable can also be called the upper and lower limit constraint penalty multiplier variable for computing power. The constraint range of the upper and lower limits for computing power is the constraint range of the computing power allocation. The constraint penalty multiplier variable can be expressed by the following formula:

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

[0088] Where α represents the iteration step size parameter, which can be set according to actual needs; h(x i ,Ω i ) represents the distance function, Ω i This indicates the range of constraints for computing power allocation.

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

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

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

[0092] For example, 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] Here, α represents the iteration step size parameter, which can be set according to actual needs.

[0095] During the k-th iteration, This represents the second derivative at the k-th iteration step. express The inverse operation is used to provide the direction of Newton's descent in optimization. That is to say... This indicates the direction of Newton's descent of the cost function.

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

[0097] In the embodiments of this application, the preset computing power iteration formula can be the gradient descent formula or the Newton's method iteration formula.

[0098] For example, the preset computing power iteration formula can be as follows:

[0099]

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

[0101] In the above formula, if the j-th and i-th single-CPU systems can obtain each other's information through a communication connection at the k-th 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 resource scheduling method may further include: obtaining the initial computing power allocation of the target device; and iterating the initial computing power allocation of the target device multiple times until convergence based on the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation constraint range, and the preset computing power iteration formula.

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

[0104] Step 103: Use the convergence result as the computing power allocation for the target device so that computing power resource scheduling can be completed according to the computing power allocation.

[0105] In this embodiment of the application, the convergence result can be the optimal computing power allocation obtained after the number of iterations reaches the preset total number of iterations.

[0106] For example, the preset total number of iterations is l. After multiple iterations until iteration step k = l, the computing power resource supply variable x of the distributed resource scheduling algorithm for 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 for 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 to 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 invocation method provided in this application is deployed on the cloud resource pool that needs to be scheduled, and only occupies a very small amount of computing resources.

[0109] In summary, the resource scheduling method in this embodiment firstly involves each device in a distributed multiprocessor system acquiring multiple influencing factor variables characterizing its own operating cost. Secondly, it determines the device's cost function and the direction of fastest convergence during cost function iteration. Thirdly, based on the updated multiple influencing factor variables, the Newton descent direction, a preset computing power allocation constraint range, and a preset computing power iteration formula, it performs multiple iterations until convergence. Finally, the convergence result is used as the computing power allocation for the device, enabling computing power resource scheduling based on the allocated computing power. Thus, by utilizing a distributed optimization method with first- and second-order information of the cost function, rapid and optimal scheduling of computing power resources in a multi-CPU cloud computing system is achieved. Because the Newton descent direction is used during multiple iterations, the convergence speed of the computing power iteration formula is improved, thereby increasing resource scheduling speed and reducing the time spent on resource scheduling.

[0110] Figure 4 This is a flowchart illustrating the steps of another resource scheduling method provided in this application embodiment. This resource scheduling method is applied to a target device, such as... Figure 4 As shown, the method may include:

[0111] Step 201: Obtain multiple influencing factor variables of the target device.

[0112] In the embodiments of this application, multiple influencing factor variables are used to characterize the operating cost of the target equipment.

[0113] The method for this step has been explained in step 101 above, and will not be repeated here.

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

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

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

[0117] For example, the target device is the i-th sub-cloud computing device, and the initial value of the target device's computing power resource supply variable is denoted by x. i (0) indicates that the initial value of the computing power 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 constraint penalty multiplier variable is initialized to 2.

[0118] Step 202: Determine the cost function based on the preset cost coefficients and cost function formula.

[0119] For example, 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 base e.

[0122] Optionally, the target cost coefficient for the target device can be obtained based on the correspondence between the i-th sub-cloud computing device and the cost coefficient. For example, the correspondence 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 derivative of the cost function in this iteration.

[0126] Optionally, step 203 may include: calculating the second derivative of the cost function in this iteration based on the cost coefficients of the cost function.

[0127] For example, the second derivative in the k-th iteration can be obtained by the following formula:

[0128]

[0129] Step 204: The inverse operation of the second derivative is used as the Newton descent direction of the cost function in this iteration.

[0130] For example, by inverting the second derivative, the direction of Newton's descent in the k-th iteration is obtained as follows:

[0131]

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

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

[0134] Sub-step A1: Based on the preset topology, determine the two neighboring systems of the target device;

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

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

[0137] In this embodiment, performance data may include response time, throughput, click volume, etc. It should be noted that performance data does not include sensitive information such as gradients or virtual gradients.

[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 based on the step size parameter and upper and lower boundaries of the iteration step.

[0141] For example, the constraint penalty multiplier variable can be updated using 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] Where α represents the step size parameter; The subgradient of the distance function is represented by ||·||; the 2-norm is represented by ||·||. This represents the range of computing power allocation for the i-th single-CPU system, where and These represent the lower and upper limits of computing power supply for the i-th single-CPU system, respectively.

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

[0147] Table 2

[0148]

[0149] By introducing 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 constraint multiplier variables for the upper and lower limits of computing power.

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

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

[0152] Sub-step B1: Obtain performance data from the neighbor system; the neighbor system is a system in a distributed multiprocessor system that is strongly connected to the target device.

[0153] Sub-step B2: Determine the weight coefficients for this iteration based on the parity of the iteration number;

[0154] Sub-step B3: Update the Lagrange multiplier variables based on the weight coefficients of this iteration, the performance data of the neighboring system, the Newton descent direction of the cost function in this iteration, the Lagrange multiplier variables, and the computing power upper and lower limit constraint penalty multiplier variables.

[0155] For example, in sub-step A2, the weight coefficient for this iteration is determined based on the correspondence between the parity of the iteration number and the weight coefficient. When the iteration number is odd, the correspondence between the parity of the iteration number and the weight coefficient is 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 odd, the correspondence between the parity of the number of iterations and the weight coefficients 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] For example, the Lagrange multiplier variables can be updated in sub-step A3 using the following formula:

[0162]

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

[0164] Sub-step 2053: Update the Lagrange multiplier auxiliary variables based on the step size parameter of the iteration step and the Lagrange multiplier variables.

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

[0166] Sub-step S1: Determine the weight coefficients for this iteration based on the parity of the iteration number;

[0167] Sub-step S2: Update the Lagrange multiplier auxiliary variables according to the preset step size parameters, Lagrange multiplier variables and the weight coefficients of this iteration.

[0168] For example, the Lagrange multiplier auxiliary variables can be updated using the following formula:

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

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

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

[0172] The method for this step has been explained in step 103 above, and will not be repeated here.

[0173] Step 207: Use the convergence result as the computing power allocation amount for the target device so that computing power resource scheduling can be completed according to the computing power allocation amount.

[0174] The method for this step has been explained in step 104 above, and will not be repeated here.

[0175] In summary, the resource scheduling method of this application, by adjusting the communication weight coefficient in real time, enables the algorithm to converge to the optimal solution even when the communication graph formed by time-varying communication connections is jointly connected; it does not require exchanging sensitive information such as gradients and virtual gradients with the communication neighbor system, thus achieving privacy protection of gradient and virtual gradient information without additional perturbation information; and it uses a penalty method to handle the computing power allocation limit of the single CPU system, reducing the number of multiplier variables constraining the upper and lower limits of computing power.

[0176] Figure 6 This is a flowchart illustrating the steps of a resource scheduling method provided in an embodiment of this application. This resource scheduling method is applied to a scheduling node in a distributed multiprocessor system, such as... Figure 6 As shown, the method may include:

[0177] Step 301: In response to the computing power scheduling request, obtain the computing power allocation for each target device in the distributed multiprocessor system.

[0178] In this embodiment, the computing power allocation is obtained by acquiring the initial values ​​of multiple influencing factor variables of the target device. These multiple influencing factor variables are used to characterize the computing power performance of the target device. The cost function of the target device and the Newton descent direction of the cost function are determined. The Newton descent direction is the direction in which the cost function converges fastest during iteration. Based on 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 the convergence result is obtained.

[0179] In some embodiments, the resource scheduling method can be used for Figure 1 In the distributed multiprocessor system shown, the scheduling node in the distributed multiprocessor system can be the control node of the cloud platform. Specifically, the scheduling node can be deployed in the optimization layer, and the control commands of the scheduling node take effect in the virtualization layer.

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

[0181] Step 302: Complete the computing power resource scheduling based on the computing power scheduling request and the computing power allocation amount.

[0182] Optionally, the computing power scheduling request includes multiple computing power demand tasks; step 302 may include: inputting the computing power scheduling request and computing power allocation into a multi-objective computing power resource scheduling model to obtain an optimal computing power resource scheduling scheme; 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 objective computing power demand task based on the optimal computing power resource scheduling scheme.

[0183] In some embodiments, step 302 includes:

[0184] Sub-step 3021: Determine the computing power requirement of the distributed multiprocessor system based on the computing power scheduling request;

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

[0186] Optionally, sub-step 3021 may include: generating a computing power requirement task based on the computing power scheduling request, and using the computing power resources required by the computing power requirement task as the required computing power amount of the distributed multiprocessor system.

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

[0188] In summary, the resource scheduling method provided in this application involves a scheduling node in a distributed multiprocessor system completing computing power resource scheduling based on computing power scheduling requests and the computing power allocation for each target device. The computing power allocation for each target device is determined by: first, acquiring multiple influencing factor variables representing the operating cost of any device in the distributed multiprocessor system; second, determining the cost function of the device and the direction of fastest convergence during cost function iteration; third, performing multiple iterations until convergence based on the updated multiple influencing factor variables, the Newton descent direction, a preset computing power allocation constraint range, and a preset computing power iteration formula; and finally, using the convergence result as the computing power allocation for the device to achieve computing power resource scheduling. This method utilizes the Newton descent direction in the iteration process for determining the computing power allocation for each target device, which improves the convergence speed of the computing power iteration formula, thereby increasing resource scheduling speed and reducing the time spent on resource scheduling.

[0189] Figure 7 This is a flowchart illustrating the steps of a resource scheduling method provided in an embodiment of this application, as follows: Figure 7 As shown, the method may include:

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

[0191] In this embodiment of the 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 begin iteration.

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

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

[0195] In this embodiment, updating variables according to the scheduling algorithm may include updating Lagrange multiplier variables, Lagrange multiplier auxiliary variables, constraint penalty multiplier variables, and computing power resource supply variables. The specific formulas used have been explained in step 205 above and will not be repeated here.

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

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

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

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

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

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

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

[0203] The 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] The iteration module 503 is used to perform multiple iterations until convergence based on the updated multiple influencing factor variables, the Newton descent direction, the preset computing power allocation constraint range, and the preset computing power iteration formula.

[0205] The first scheduling module 504 is used to use the convergence result as the computing power allocation amount for the target device so that computing power resource scheduling can be completed according to the computing power allocation amount.

[0206] Optionally, module 502 includes:

[0207] The first determining submodule is used to determine the cost function based on preset cost coefficients and cost function formulas;

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

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

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

[0211] The update module is used to update multiple influencing factor variables using the gradient descent algorithm, based on the cost function and the constraints of computing power allocation, to obtain the updated influencing factor variables.

[0212] Optionally, update the module, including:

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

[0214] Optionally, the influencing factor variables include Lagrange multiplier auxiliary variables and Lagrange multiplier variables. The update module includes:

[0215] The third determining submodule is used to determine the weight coefficients for this iteration based on the parity of the iteration number;

[0216] The second update submodule is used to update the Lagrange multiplier auxiliary variables based on the preset step size parameters, Lagrange multiplier variables, and the weight coefficients of the current iteration.

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

[0218] The third acquisition module is used to acquire performance data from the neighbor system; the neighbor system is a system in a distributed multiprocessor system that is strongly connected to the target device.

[0219] Update modules, including:

[0220] The fourth submodule is used to determine the weight coefficients for the current iteration based on the parity of the iteration number.

[0221] The third update submodule is used to update the Lagrange multiplier variables based on the weight coefficients of this iteration, the performance data of the neighboring system, the Newton descent direction of the cost function in this iteration, the Lagrange multiplier variables, and the computing power upper and lower limit constraint penalty multiplier variables.

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

[0223] The neighbor system determination module 502 is used to determine the two neighbor systems of the target device based on the preset topology relationship;

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

[0225] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0226] In summary, the resource scheduling device in this embodiment firstly obtains multiple influencing factor variables characterizing its own operating cost for any device in the distributed multiprocessor system; secondly, it determines the device's cost function and the direction of fastest convergence during cost function iteration; thirdly, it performs multiple iterations until convergence based on the updated multiple influencing factor variables, the Newton descent direction, a preset computing power allocation constraint range, and a preset computing power iteration formula; and finally, it uses the convergence result as the computing power allocation for the device to complete computing power resource scheduling based on the computing power allocation. Thus, by utilizing a distributed optimization method with first- and second-order information of the cost function, rapid and optimal scheduling of computing power resources in a multi-CPU cloud computing system is achieved. Because the Newton descent direction is used in multiple iterations, the convergence speed of the computing power iteration formula is improved, thereby increasing resource scheduling speed and reducing the time spent on resource scheduling.

[0227] Figure 9 This is a structural diagram of a resource scheduling device provided in an embodiment of this application. The device is applied to a scheduling node in a distributed multiprocessor system, and the device 600 may include:

[0228] The second acquisition module 601 is used to respond to the computing power scheduling request and acquire the computing power allocation of each target device in the distributed multiprocessor system. The computing power allocation is the initial value 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 the fastest during iteration. Based on 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 the convergence result is obtained.

[0229] The second scheduling module 602 is used to complete the scheduling of computing resources based on the computing power scheduling request and the computing power allocation amount.

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

[0231] The computing power requirement determination submodule is used to determine the computing power requirement of the distributed multiprocessor system based on the computing power scheduling request.

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

[0233] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0234] In summary, the resource scheduling device provided in this application embodiment enables the scheduling node in a distributed multiprocessor system to complete computing power resource scheduling based on the computing power scheduling request and the computing power allocation for each target device. Specifically, the computing power allocation for each target device is determined by: acquiring multiple influencing factor variables characterizing the operating cost of any device in the distributed multiprocessor system; determining the cost function of the device and the direction of fastest convergence during cost function iteration; performing multiple iterations until convergence based on the updated influencing factor variables, the Newton descent direction, a preset computing power allocation constraint range, and a preset computing power iteration formula; and finally, using the convergence result as the computing power allocation for the device to achieve computing power resource scheduling. This method utilizes the Newton descent direction in the iteration process for determining the computing power allocation for each target device, which improves the convergence speed of the computing power iteration formula, thereby increasing resource scheduling speed and reducing the time spent on resource scheduling.

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

[0236] Processing component 702 typically controls the overall operation of electronic device 700, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 702 may include one or more processors 720 to execute instructions to complete all or part of the steps of the methods described above. Furthermore, processing component 702 may include one or more modules to facilitate interaction between processing component 702 and other components. For example, processing component 702 may include a multimedia module to facilitate interaction between multimedia component 708 and processing component 702.

[0237] Memory 704 is used to store various types of data to support the operation of electronic device 700. Examples of this data include instructions for any application or method operating on electronic device 700, contact data, phonebook data, messages, pictures, multimedia, etc. 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 storage, flash memory, magnetic disk, or optical disk.

[0238] Power supply component 706 provides power to various components of electronic device 700. 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 electronic device 700.

[0239] Multimedia component 708 includes an interface that provides an output interface between electronic device 700 and a 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 touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may not only sense the boundaries of touch or swipe actions but also detect the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 708 includes a front-facing camera and / or a rear-facing camera. When electronic device 700 is in an operating mode, such as a shooting mode or a multimedia mode, the front-facing camera and / or rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

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

[0241] Input / output (I / O) interface 712 provides an interface between processing component 702 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.

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

[0243] Communication component 716 facilitates wired or wireless communication between electronic device 700 and other devices. Electronic device 700 can access wireless networks based on communication standards, such as WiFi, carrier networks (such as 2G, 3G, 7G, or 7G), or combinations thereof. In one exemplary embodiment, communication component 716 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 716 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may 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 may 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 vehicle-road cooperative scenario demonstration method provided in this application embodiment.

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

[0246] Figure 11This 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. (See also...) Figure 11 The electronic device 800 includes a processing component 822, which further includes one or more processors, and memory resources represented by memory 832 for storing instructions, such as application programs, that can be executed by the processing component 822. The application programs stored in memory 832 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 822 is configured to execute instructions to perform a resource scheduling method provided in embodiments of this application.

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

[0248] In embodiments of this application, memory 832 can be used to store software programs and various data. Memory 832 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, applications or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, memory 832 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 832 in the embodiments of this 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 handles operations related to the operating system, user interface, and applications, while the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into the processor.

[0250] This application also provides a readable storage medium that, when the instructions in the readable storage medium are executed by the processor of an electronic device, enables the electronic device to perform the resource scheduling method of the foregoing embodiments.

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

[0252] It should be noted that all information and data obtained in the embodiments of this application were obtained with the authorization of the information / data holder. All actions to obtain signals, information, or data in this application were carried out in compliance with the relevant data protection laws and policies of the country where the application is located, and with the authorization of the owner of the corresponding device.

[0253] The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, this application is not directed to any particular programming language. It should be understood that the content of this application described herein can be implemented using various programming languages, and the above description of specific languages ​​is for the purpose of disclosing the best mode of implementation of this application.

[0254] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.

[0255] Similarly, it should be understood that, in order to simplify this application and aid in understanding one or more of the various inventive aspects, in the above description of exemplary embodiments of this application, various features of this application are sometimes grouped together into a single embodiment, figure, or description thereof. However, this method of disclosure should not be construed as reflecting an intention that the claimed application requires more features than are expressly recited in each claim. Rather, as reflected in the following claims, inventive aspects lie in fewer than all features of a single foregoing disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of this application.

[0256] Those skilled in the art will understand that modules in the device of the embodiments can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiments can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components. Except where at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or device so disclosed. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.

[0257] The various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components in the sequencing device according to this application. This application can also be implemented as a device or apparatus program for performing part or all of the methods described herein. Such an implementation of this application can be stored on a computer-readable medium, or can take the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.

[0258] It should be noted that the above embodiments are illustrative of this application and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.

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

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

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

[0262] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A resource scheduling method, characterized in that, Applied to a target device, wherein the target device is any device in a distributed multiprocessor system, the method includes: Multiple influencing factor variables of the target equipment are obtained; these multiple influencing factor variables are used to characterize the operating cost of the target equipment. 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. Based on the updated multiple 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. The convergence result is used as the computing power allocation amount for the target device so that computing power resource scheduling is completed according to the computing power allocation amount; Determining the cost function of the target device and the Newtonian descent direction of the cost function includes: The cost function is determined based on the preset cost coefficients and cost function formulas; Calculate the second derivative of the cost function in this iteration; The inverse operation of the second derivative is used as the Newton descent direction of the cost function in this iteration.

2. The method according to claim 1, characterized in that, Before performing multiple iterations until convergence based on 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 method further includes: 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, so as to obtain the updated multiple influencing factor variables.

3. The method according to claim 2, characterized in that, The influencing factor variables include constraint penalty 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, resulting in the updated multiple influencing factor variables, including: The constraint penalty multiplier variable is updated based on the step size parameter and upper and lower boundaries of the iteration step.

4. The method according to claim 2, 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, resulting in the updated multiple influencing factor variables, including: The weight coefficients for this iteration are determined based on the parity of the iteration number. The Lagrange multiplier auxiliary variables are updated based on the preset step size parameters, Lagrange multiplier variables, and the weight coefficients of the current iteration.

5. The method according to claim 2, characterized in that, The multiple influencing factor variables include Lagrange multiplier variables, and the method further includes: Obtain performance data from the neighbor system; the neighbor system is a system in the distributed multiprocessor system that is strongly connected to the target device. 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, resulting in the updated multiple influencing factor variables, including: The weight coefficients for this iteration are determined based on the parity of the iteration number. The Lagrange multiplier variable is updated based on 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.

6. The method according to claim 1, characterized in that, The method further includes: Based on the preset topology, determine the two neighbor systems of the target device; The performance data of the neighboring system is obtained through the communication network.

7. A resource scheduling method, characterized in that, The method, applied to a scheduling node in a distributed multiprocessor system, includes: In response to a computing power scheduling request, the computing power allocation for each target device in the distributed multiprocessor system is obtained. The computing power allocation is the initial value of multiple influencing factor variables of the target device, which are used to characterize the computing power performance of the target device. The cost function of the target device and the Newton descent direction of the cost function are determined. The Newton descent direction is the direction in which the cost function converges fastest during iteration. Based on 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 the convergence result is obtained. The computing power resource scheduling is completed based on the computing power scheduling request and the computing power allocation amount; Determining the cost function of the target device and the Newtonian descent direction of the cost function includes: The cost function is determined based on the preset cost coefficients and cost function formulas; Calculate the second derivative of the cost function in this iteration; The inverse operation of the second derivative is used as the Newton descent direction of the cost function in this iteration.

8. The method according to claim 7, characterized in that, The step of scheduling computing resources according to the computing power scheduling request and the computing power allocation includes: The computing power requirement of the distributed multiprocessor system is determined based on the computing power scheduling request; The computing power requirement is allocated to each target device according to the computing power allocation amount for each target device.

9. A resource scheduling device, characterized in that, Applied to a target device, wherein the target device is any device in a distributed multiprocessor system, the apparatus includes: The first acquisition module is used to acquire multiple influencing factor variables of the target equipment; the multiple influencing factor variables are used to characterize the operating cost of the target equipment. A determination module 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; The iteration module is used to perform multiple iterations until convergence based on 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 that computing power resource scheduling is completed according to the computing power allocation amount; The determining module includes: The first determining submodule is used to determine the cost function based on preset cost coefficients and cost function formulas; The calculation submodule is used to calculate the second derivative of the cost function in this iteration; The second determining submodule is used to take the inverse operation of the second derivative as the Newton descent direction of the cost function in this iteration.

10. A resource scheduling device, characterized in that, The device, used as a scheduling node in a distributed multiprocessor system, comprises: The second acquisition module is used to respond to a computing power scheduling request and acquire the computing power allocation of each target device in the distributed multiprocessor system. The computing power allocation is the initial value 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. The cost function of the target device and the Newton descent direction of the cost function are determined. The Newton descent direction is the direction in which the cost function converges fastest during iteration. Based on 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 the convergence result is obtained. The second scheduling module is used to complete the scheduling of computing resources according to the computing power scheduling request and the computing power allocation amount; The second acquisition module is further configured to: The cost function is determined based on the preset cost coefficients and cost function formulas; Calculate the second derivative of the cost function in this iteration; The inverse operation of the second derivative is used as the Newton descent direction of the cost function in this iteration.

11. An electronic device, characterized in that, include: The system includes a processor, a communication interface, a memory, and a communication bus; the processor, communication interface, and memory communicate with each other via the communication bus. Memory, used to store computer programs; When a processor executes a program stored in memory, it implements the steps of the resource scheduling method as described in any one of claims 1 to 6 or 7 to 8.

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

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