A task scheduling method, electronic device, readable storage medium and program product

By employing iterative game theory based on non-cooperative game theory and counterfactual regret minimization theory, the real-time and accuracy issues of task scheduling in multi-server cluster systems are resolved, resource utilization is improved, and new types of task scenarios are adapted.

CN120762866BActive Publication Date: 2025-11-28LANGCHAO ELECTRONIC INFORMATION IND CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511270482.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-08
Publication Date
2025-11-28
Estimated Expiration
2045-09-08

AI Technical Summary

Technical Problem

Existing cluster systems with multiple servers suffer from poor real-time performance, low accuracy, and low system resource utilization in scenarios involving new types of tasks or sudden requests.

Method used

Using non-cooperative game theory and counterfactual regret minimization theory, the game process of a task scheduling game instance is simulated through multiple iterations of game theory to determine the regret value of each player at each decision point, and then to determine the task scheduling strategy.

Benefits of technology

It improves the real-time performance and accuracy of task scheduling, enhances system resource utilization, adapts to new types of task scenarios, and reduces system congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120762866B_ABST
    Figure CN120762866B_ABST
Patent Text Reader

Abstract

The application discloses a task scheduling method, electronic equipment, readable storage medium and program product, and relates to the technical field of computers, which comprises the following steps: adopting non-cooperative game theory, multiple iterations of game, determining the final task scheduling strategy according to respective regret values corresponding to respective iterations, determining respective regret values of each game participant at respective decision points by sampling and simulating the game process of a task scheduling game instance based on the theory of counterfactual regret minimization, and then determining the task scheduling strategy according to respective regret values corresponding to respective iterations. The application is also applicable to new types of task scenarios, solves the technical problems of poor real-time performance of task scheduling, low accuracy of task scheduling and low system resource utilization, and achieves the technical effects of improving the real-time performance of task scheduling, improving the accuracy of task scheduling and improving the system resource utilization.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, and in particular, to a task scheduling method, an electronic device, a readable storage medium and a program product. BACKGROUND

[0002] Currently, the task scheduling mode commonly used in the cluster system of multiple servers is to perform task scheduling by using a model obtained through offline training. The adaptability to new types of tasks or burst requests is weak, the model prediction accuracy may decrease due to the change of historical data distribution, the real-time scheduling effect is affected, the task scheduling accuracy is low, and the system resource utilization is low. SUMMARY

[0003] The present application provides a task scheduling method, an electronic device, a readable storage medium and a program product to at least solve the problems of poor real-time performance, low task scheduling accuracy and low system resource utilization in related technologies.

[0004] The present application provides a task scheduling method, comprising:

[0005] reading configuration parameters, wherein the configuration parameters at least include the number of game participants, the resource state of the game participants, the number of iterations and the number of tasks;

[0006] creating a task scheduling game instance according to the configuration parameters;

[0007] determining the respective regret values of each game participant at each decision point by sampling and simulating the game process of the task scheduling game instance;

[0008] determining a task scheduling strategy according to the respective regret values of each iteration;

[0009] obtaining the state information of the target game participant corresponding to each decision point in the task scheduling strategy;

[0010] selecting actions according to each state information to obtain each action selection result;

[0011] performing task scheduling according to each action selection result.

[0012] The present application also provides an electronic device, comprising a memory for storing a computer program and a processor for executing the computer program to implement the steps of any of the above task scheduling methods.

[0013] The present application also provides a computer readable storage medium having a computer program stored therein, wherein the computer program is executed by a processor to implement the steps of any of the above task scheduling methods.

[0014] The application further provides a computer program product comprising a computer program, which, when executed by a processor, implements the steps of any of the above task scheduling methods.

[0015] According to the application, the non-cooperative game theory is adopted, multiple iterations of games are performed, the final task scheduling strategy is determined according to the respective regret values of each iteration, the counterfactual regret minimization theory is used to determine the respective regret values of each game participant at each decision point by sampling and simulating the game process of a task scheduling game instance, and then the task scheduling strategy is determined according to the respective regret values of each iteration. The application is also applicable to new types of task scenarios, and thus can solve the technical problems of poor real-time performance of task scheduling, low accuracy of task scheduling, and low utilization rate of system resources, and achieve the technical effects of improving the real-time performance of task scheduling, improving the accuracy of task scheduling, and improving the utilization rate of system resources. BRIEF DESCRIPTION OF DRAWINGS

[0016] In order to more clearly illustrate the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0017] Figure 1 A structural block diagram of a task scheduling system provided for the embodiments of the present application is shown in FIG. 1.

[0018] Figure 2 An implementation flowchart of a task scheduling method provided for the embodiments of the present application is shown in FIG. 2.

[0019] Figure 3 An implementation flowchart of another task scheduling method provided for the embodiments of the present application is shown in FIG. 3.

[0020] Figure 4 A structural block diagram of a task scheduling device provided for the embodiments of the present application is shown in FIG. 4. DETAILED DESCRIPTION

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

[0022] It should be noted that in the description of the present application, the term "comprising", "containing" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or apparatus that includes a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such a process, method, article or apparatus. The terms "first", "second" and the like in the present application are used to distinguish similar objects, not to describe a specific order or sequence.

[0023] In order for those skilled in the art to better understand the present application, the present application will be further described in detail below in conjunction with the drawings and specific embodiments.

[0024] In conjunction with the specific application environment architecture or specific hardware architecture on which the task scheduling method depends, the specific application environment architecture or specific hardware architecture is described here.

[0025] Referring to Figure 1 , Figure 1 A structural block diagram of a task scheduling system provided by an embodiment of the present application is provided. A data processing unit (DPU) including a central processor board and a field-programmable gate array (FPGA) board is arranged. The central processor board includes a dynamic random access memory (DRAM), an accelerator and a central processor. The FPGA board includes an FPGA, a remote direct memory access (RDMA) network port. The central processor board and the FPGA board can be communicatively connected through a peripheral component interconnect express (PCIE). The FPGA can also be communicatively connected with external components through the PCIE. The FPGA can also establish a remote communication connection with a remote device through the RDMA network port. The task scheduling system provided by the embodiment of the present application itself includes a central processor, has computing capability, can perceive tasks by itself, does not need to separately arrange external nodes dedicated for task scheduling, and improves the task scheduling efficiency. Through dedicated computing hardware acceleration, the central processor usage rate can be effectively reduced, the number of input / output (I / O) processing programs running on the central processor is reduced, the performance is indirectly improved, the performance of network data transmission and storage is effectively improved, and the system-level performance bottleneck is avoided.

[0026] Embodiments of the present application provide a task scheduling method, which is described in detail in combination with an execution flow of the task scheduling method.

[0027] Referring to Figure 2 , Figure 2 An implementation flowchart of the task scheduling method provided by the embodiments of the present application can include the following steps.

[0028] S201: reading configuration parameters.

[0029] The configuration parameters at least include the number of game participants, the resource state of the game participants, the number of iterations, and the number of tasks.

[0030] The configuration parameters are pre-set in the configuration file, and at least include the number of game participants, the resource state of the game participants, the number of iterations, and the number of tasks. The configuration parameters can also include the task response time, the task completion time, the PID controller parameters, i.e., the proportional gain (KP), the integral gain (KI), and the derivative gain (KD).

[0031] The game participants are network cards in the central processing unit of the server, and the scheduling of the tasks and the transmission of the related data are bound to the network cards. The number of game participants, i.e., the number of network cards, can be obtained by multiplying the number of network cards in a single central processing unit, the number of central processing units in a single server, and the number of servers in a cluster, i.e., the number of game participants.

[0032] S202: creating a task scheduling game instance according to the configuration parameters.

[0033] After reading the configuration parameters, a task scheduling game instance is created according to the configuration parameters. For example, a scheduling game instance can be created according to the number of game participants, the resource state of the game participants, the number of iterations, and the number of tasks.

[0034] S203: simulating the game process of the task scheduling game instance by sampling to determine the respective regret values of the game participants at the respective decision points.

[0035] After the task scheduling game instance is created, the game process of the task scheduling game instance is simulated by sampling to determine the respective regret values of the game participants at the respective decision points. By iterating according to the number of iterations in the configuration parameters, multiple regret values of the game participants at the respective decision points are obtained.

[0036] S204: determine the task scheduling strategy according to the respective regret values of each iteration.

[0037] After obtaining the respective multiple regret values of each game participant at each decision point through multiple iterations, the task scheduling strategy is determined according to the respective regret values of each iteration. For any decision point, the average value of the regret values of each iteration of each game participant at the decision point is calculated, and the game participant corresponding to each decision point is selected according to the average value of the regret values, and the task scheduling is performed according to the selection result.

[0038] S205: obtain the state information of the target game participant corresponding to each decision point in the task scheduling strategy.

[0039] Since the network card may have faults or receive sudden tasks, etc. In this case, it will affect the network card to execute the task at the current decision point, so after determining the task scheduling strategy according to the respective regret values of each iteration, the state information of the target game participant corresponding to each decision point in the task scheduling strategy is obtained.

[0040] S206: respectively according to each state information, action selection is performed to obtain each action selection result.

[0041] After obtaining the state information of the target game participant corresponding to each decision point in the task scheduling strategy, action selection is performed according to each state information to obtain each action selection result. The action selection result can include executing the task and skipping the task.

[0042] S207: according to each action selection result, task scheduling is performed.

[0043] After obtaining each action selection result, task scheduling is performed according to each action selection result. For the decision point with the action selection result of executing the task, the target game participant corresponding to the decision point is directly used to execute the task, and for the decision point with the action selection result of skipping the task, the suboptimal game participant corresponding to the decision point needs to be selected again according to the previous multiple iteration results, and if it is detected that the state of the game participant selected again is normal, the game participant selected again is used to execute the task.

[0044] According to the method, the non-cooperative game theory is adopted, the task scheduling strategy is determined according to the respective regret values in each iteration, the game process of the task scheduling game instance is simulated by sampling, the respective regret values of the game participants at the respective decision points are determined based on the counterfactual regret minimization theory, and then the task scheduling strategy is determined according to the respective regret values in each iteration, which is also applicable to new types of task scenarios, thereby the technical problems of poor real-time performance of task scheduling, low task scheduling accuracy and low system resource utilization can be solved, and the technical effects of improving the real-time performance of task scheduling, improving the task scheduling accuracy and improving the system resource utilization are achieved.

[0045] Referring to Figure 3 , Figure 3 An implementation flowchart of a task scheduling method provided by the embodiment is provided, and the method can include the following steps.

[0046] S301: reading configuration parameters.

[0047] The configuration parameters at least include the number of game participants, the resource state of the game participants, the number of iterations and the number of tasks.

[0048] A task scheduling thread and a task completion thread can also be created, and a task cache queue is created in advance, and the tasks to be scheduled are added to the task cache queue. The scheduling thread can perceive the arrival of a new task through a semaphore mechanism.

[0049] S302: creating a task scheduling game instance according to the configuration parameters.

[0050] A game wrapper can also be created, and a custom game is encapsulated as a game type defined by the game framework, and game attributes such as the number of game participants, the action space and the income range are defined.

[0051] S303: simulating the game process of the task scheduling game instance by sampling to determine the respective regret values of the game participants at the respective decision points.

[0052] S304: calculating the average regret value of the respective iterations of the game participants at the respective decision points.

[0053] After the respective regret values of the game participants at the respective decision points are determined, the average regret value of the respective iterations of the game participants at the respective decision points is calculated, that is, for any decision point, each game participant has the respective regret values in each iteration, the average of the multiple regret values obtained in each iteration is calculated to obtain the average regret value of the regret values in each iteration.

[0054] S305: selecting the maximum value in the respective average regret values at the respective decision points.

[0055] After calculating the average regret value of each game participant corresponding to each iteration at each decision point respectively, the maximum value among the average regret values corresponding to each decision point respectively is selected. For example, the multiple average regret values corresponding to each decision point respectively can be sorted in size, and the first average regret value at the larger end in the sorting result is the maximum value among the average regret values.

[0056] S306: Determine the task scheduling strategy according to the maximum values.

[0057] After the maximum value among the average regret values corresponding to each decision point respectively is selected, the task scheduling strategy is determined according to the maximum values, and the game participant corresponding to the maximum value among the average regret values can be selected to perform the task of the decision point. By determining the task scheduling strategy according to the maximum value among the average regret values corresponding to each decision point respectively, the game participant of each decision point is accurately selected, and the task scheduling efficiency is improved.

[0058] In one specific embodiment of the present application, step S306 can include the following steps:

[0059] Step one: find the target game participant corresponding to each maximum value;

[0060] Step two: construct the binding relationship between each target game participant and each decision point;

[0061] Step three: determine the task scheduling strategy according to the binding relationship.

[0062] For convenience of description, the above three steps can be combined for description.

[0063] After the maximum value among the average regret values corresponding to each decision point respectively is selected, the target game participant corresponding to each maximum value is found, the binding relationship between each target game participant and each decision point is constructed, and the task scheduling strategy is determined according to the binding relationship. By selecting the target game participant corresponding to each decision point respectively according to the maximum value among the average regret values corresponding to each decision point respectively, and establishing the binding relationship between each target game participant and each decision point, the task of each decision point is accurately allocated, and the accuracy of task scheduling is improved.

[0064] S307: Obtain the state information of the target game participant corresponding to each decision point in the task scheduling strategy.

[0065] S308: Select actions according to each state information respectively to obtain each action selection result.

[0066] S309: selecting a task execution action from the action selection results, and performing a task at the corresponding decision point by using the target game player corresponding to the selected task execution action.

[0067] After the action selection is performed according to the state information respectively to obtain the action selection results, a task execution action is selected from the action selection results, the action selection result is that the state of the corresponding target game player is normal, and a task at the corresponding decision point is performed by using the target game player corresponding to the selected task execution action.

[0068] S310: selecting a task skipping action from the action selection results, and determining the target game player corresponding to the selected task skipping action.

[0069] A task skipping action is selected from the action selection results, and the target game player corresponding to the selected task skipping action is determined. The action selection result is that the state of the corresponding target game player is abnormal.

[0070] S311: determining the decision point corresponding to the determined target game player as the target decision point.

[0071] After the target game player corresponding to the selected task skipping action is determined, the decision point corresponding to the determined target game player is determined as the target decision point, that is, the target decision point at which the game player switching needs to be performed is determined.

[0072] S312: performing game player switching on the target decision point to obtain a switched game player.

[0073] After the target decision point at which the game player switching needs to be performed is determined, the game player switching is performed on the target decision point to obtain a switched game player. For example, a suboptimal game player can be selected according to the average regret values of the game players at each iteration of the target decision point, and the suboptimal game player is used as the switched game player. By performing a task when the action selection result is a task execution action, and performing game player switching when the action selection result is a task skipping action, the task scheduling process is promoted, the task blocking is avoided, and the task scheduling efficiency is improved.

[0074] In one specific embodiment of the present application, step S312 can include the following steps:

[0075] Step 1: sorting the average regret values corresponding to the target decision point in descending order to obtain a sorting result; wherein each average regret value is obtained by averaging the regret values of each iteration corresponding to each game player at the target decision point.

[0076] Step two: selecting the second-ranked average regret value from the larger end of the sorting result;

[0077] Step three: determining the game participant corresponding to the second-ranked average regret value as the post-switch game participant.

[0078] For convenience of description, the above three steps can be combined for illustration.

[0079] After the target decision point requiring game participant switching is determined, the average regret values of each iteration corresponding to each game participant are calculated to obtain each average regret value, the average regret values corresponding to the target decision point are sorted to obtain a sorting result, the second-ranked average regret value is selected from the larger end of the sorting result, and the game participant corresponding to the second-ranked average regret value is determined as the post-switch game participant. By selecting the game participant corresponding to the second-ranked average regret value as the post-switch game participant, the advantage of the selected post-switch game participant in executing the task of the target decision point is fully utilized, and the task scheduling efficiency is improved.

[0080] In one specific embodiment of the present application, game participant switching for the target decision point can include the following steps:

[0081] Step one: obtaining a preset action space;

[0082] Step two: performing game participant switching for the target decision point in the action space.

[0083] For convenience of description, the above two steps can be combined for illustration.

[0084] The action space can be preset, and the action space can include different network cards in the same central processor, different network cards contained in multiple central servers in the same server, and different network cards contained in multiple central servers in multiple servers in a server cluster. The preset action space is obtained, and game participant switching is performed for the target decision point in the action space. By performing game participant switching in the action space, the task scheduling overhead is saved, and the task scheduling efficiency is improved.

[0085] S313: executing the task of the target decision point by the post-switch game participant.

[0086] After the post-switch game participant is obtained, the task of the target decision point is executed by the post-switch game participant, thereby realizing sequential execution of the task of the target decision point.

[0087] The task scheduling method provided by the embodiment of the application can further include a game termination judgment process. Whether each game participant has selected a task or whether there is no available task can be judged. When at least one of the above judgment conditions is met, the game stops. If the game stops due to the fact that each game participant has selected a task, when it is detected that there is a game participant who has completed the execution of the allocated task, the game participant is used to continue the task scheduling based on the task scheduling progress before the game pause. By setting the game termination condition, the task congestion is avoided while the resources are fully utilized, and the task scheduling efficiency is improved.

[0088] The embodiment of the application realizes supporting task scheduling between multiple computer nodes running in a cluster, effectively solves the single-node task congestion problem, and avoids system downtime caused by single-node failure. By adjusting the task allocation and scheduling strategy in real time according to the running state of the task and the system load, different workloads and system requirements can be adapted. For the conflict situation of multiple emergency tasks existing at the same time, the scheduling algorithm based on reinforcement learning adopts the non-cooperative game theory, runs multiple game processes, tries different task allocation schemes, and selects the optimal solution of the system according to the results, which greatly reduces the emergency task blocking problem caused by multiple conflicts, and does not need to rely on artificial preset rules or static models. Based on the Counterfactual Regret Minimization (CFR) theory, the calculation efficiency is improved through Monte Carlo sampling, and the Monte-Carlo Counterfactual Regret Minimization (MCCFR) algorithm is used to sample on the entire game path, which is suitable for highly random games, suitable for new types of tasks or sudden request scenarios, and greatly improves the prediction accuracy.

[0089] In one specific embodiment of the application, after the task scheduling is performed according to the task scheduling strategy, the method can further include the following steps:

[0090] Step one: generating the task reward value and the remaining resource value corresponding to each game participant according to the action space;

[0091] Step two: outputting and displaying the task reward value and the remaining resource value.

[0092] For convenience of description, the above two steps can be combined for description.

[0093] Since scheduling the task in the action space can effectively save the scheduling overhead compared with scheduling the task out of the action space, the task reward value when the task is scheduled in the action space can be set in advance, and the evaluation standard for the residual value can be set in advance. After the task is scheduled according to the task scheduling strategy, the task reward value and the residual resource value corresponding to each game player are generated according to the action space, and the task reward value and the residual resource value are output and displayed. By outputting and displaying the task reward value and the residual resource value, the user can clearly observe the scheduling advantage brought by the current task scheduling strategy.

[0094] In one specific embodiment of the application, after the task reward value and the residual resource value are output and displayed, the method can further include the following steps:

[0095] The resources occupied by the task scheduling game instance are released.

[0096] After the task reward value and the residual resource value are output and displayed, the resources occupied by the task scheduling game instance are released. Thus, resource recycling is realized, and the recycled resources can be used for subsequent task scheduling.

[0097] In one specific embodiment of the application, after the post-switch game players are obtained, the method can further include the following steps:

[0098] Step 1: Obtain the resource demand information of the task corresponding to the target decision point;

[0099] Step 2: Reduce the residual resources of the post-switch game players according to the resource demand information.

[0100] For convenience of description, the above two steps can be combined for description.

[0101] After the post-switch game players are obtained, the resource demand information of the task corresponding to the target decision point is obtained, and the residual resources of the post-switch game players are reduced according to the resource demand information. By reducing the residual resources of the post-switch game players according to the resource demand information of the task corresponding to the target decision point, the available resources of the game players are updated in time, which provides an effective reference for the subsequent task scheduling.

[0102] In one specific embodiment of the application, obtaining the resource demand information of the task corresponding to the target decision point can include the following steps:

[0103] Step 1: Obtain the preset load threshold and the load value of the post-switch game players;

[0104] Step 2: Determine the resource demand information of the task corresponding to the target decision point according to the load threshold and the load value.

[0105] For the convenience of description, the above two steps can be combined for description.

[0106] The load threshold can be set in advance, the preset load threshold and the load value of the post-switch game participant are obtained, and the resource requirement information of the task corresponding to the target decision point is determined according to the load threshold and the load value. By comparing the load value of the post-switch game participant with the preset load threshold, the resource requirement information of the task corresponding to the target decision point is determined according to the comparison result. Thus, the current load state of the post-switch game participant is fully considered, and the smooth progress of task scheduling is ensured.

[0107] In one specific embodiment of the present application, determining the resource requirement information of the task corresponding to the target decision point according to the load threshold and the load value can include the following steps:

[0108] Step one: when the load value is higher than the load threshold, randomly generating the resource requirement information of the task corresponding to the target decision point;

[0109] Step two: when the load value is lower than the load threshold, predicting the resource requirement information of the task corresponding to the target decision point.

[0110] For the convenience of description, the above two steps can be combined for description.

[0111] After obtaining the preset load threshold and the load value of the post-switch game participant, the load value of the post-switch game participant is compared with the preset load threshold. When the load value is higher than the load threshold, it indicates that the current load is high, and the resource requirement information of the task corresponding to the target decision point is randomly generated, such as by a random number generator. When the load value is lower than the load threshold, it indicates that the current load is low, and the resource requirement information of the task corresponding to the target decision point is predicted. The resource requirement information of the task corresponding to the target decision point is determined according to the comparison result of the load value of the post-switch game participant and the preset load threshold, the current load state of the post-switch game participant is fully considered, and the smooth progress of task scheduling is ensured.

[0112] In one specific embodiment of the present application, creating a task scheduling game instance according to the configuration parameters can include the following steps:

[0113] Step one: constructing a task reward matrix and a task resource requirement matrix according to the configuration parameters; wherein the task reward matrix includes the reward values corresponding to each task completed by each game participant; and the task resource requirement matrix includes the resource requirement information required for executing each task;

[0114] Step two: creating a task scheduling game instance according to the task reward matrix and the task resource requirement matrix.

[0115] For the convenience of description, the above two steps can be combined for description.

[0116] After reading the configuration parameters, a task reward matrix and a task resource demand matrix are constructed according to the configuration parameters, the task reward matrix including reward values corresponding to each task respectively completed by each game participant, and the task resource demand matrix including resource demand information required for execution of each task. A task scheduling game instance is created according to the task reward matrix and the task resource demand matrix. Through construction of the task reward matrix and the task resource demand matrix, and creation of the task scheduling game instance according to the task reward matrix and the task resource demand matrix, fast and accurate creation of the task scheduling game instance is realized.

[0117] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment.

[0118] Embodiments of the application also provide a task scheduling device.

[0119] Referring to Figure 4 , Figure 4 A structural block diagram of a task scheduling device provided by the embodiments of the application is provided, and the device can include:

[0120] The configuration parameter reading module 41 is configured to read configuration parameters, wherein the configuration parameters at least include the number of game participants, resource states of the game participants, the number of iterations, and the number of tasks.

[0121] The instance creation module 42 is configured to create a task scheduling game instance according to the configuration parameters.

[0122] The regret value determination module 43 is configured to determine respective regret values of each game participant at each decision point by sampling and simulating a game process of the task scheduling game instance.

[0123] The task scheduling strategy determination module 44 is configured to determine a task scheduling strategy according to respective regret values of each iteration.

[0124] The state information acquisition module 45 is configured to acquire state information of a target game participant corresponding to each decision point in the task scheduling strategy.

[0125] The action selection result acquisition module 46 is configured to perform action selection according to each state information, and obtain each action selection result.

[0126] The task scheduling module 47 is configured to perform task scheduling according to each action selection result.

[0127] By the present application, since the non-cooperative game theory is adopted, the multiple iterations of the game are performed, the final task scheduling strategy is determined according to the respective regret values of each iteration, the respective regret values of each iteration are determined based on the counterfactual regret minimization theory, the game process of the task scheduling game instance is simulated by sampling to determine the respective regret values of each game participant at each decision point, and then the task scheduling strategy is determined according to the respective regret values of each iteration. Therefore, the technical problems of poor real-time performance of task scheduling, low accuracy of task scheduling, and low utilization rate of system resources can be solved, and the technical effects of improving the real-time performance of task scheduling, improving the accuracy of task scheduling, and improving the utilization rate of system resources are achieved.

[0128] In one specific embodiment of the present application, the task scheduling strategy determination module 44 can include:

[0129] An average regret value calculation submodule is configured to calculate the average regret value of the respective regret values of each game participant at each decision point.

[0130] A maximum value selection submodule is configured to select the maximum value from the respective average regret values at each decision point.

[0131] A task scheduling strategy determination submodule is configured to determine the task scheduling strategy according to the respective maximum values.

[0132] In one specific embodiment of the present application, the task scheduling strategy determination submodule can include:

[0133] A game participant searching unit is configured to search for the target game participant corresponding to each maximum value.

[0134] A binding relationship construction unit is configured to construct the binding relationship between each target game participant and each decision point.

[0135] A task scheduling strategy determination unit is configured to determine the task scheduling strategy according to the respective binding relationships.

[0136] In one specific embodiment of the present application, the task scheduling module 47 can include:

[0137] A first task execution submodule is configured to select a task execution action from the action selection results, and execute the task at the corresponding decision point by using the target game participant corresponding to the selected task execution action.

[0138] A game participant determination submodule is configured to select a task skipping action from the action selection results, and determine the target game participant corresponding to the selected task skipping action.

[0139] The target decision point determination submodule is configured to determine the decision point corresponding to the target game player as the target decision point.

[0140] The post-switch game player obtaining submodule is configured to switch the game players at the target decision point to obtain post-switch game players.

[0141] The second task execution submodule is configured to execute the task of the target decision point by using the post-switch game players.

[0142] In an embodiment of the present application, the post-switch game player obtaining submodule can include:

[0143] The sorting result obtaining unit is configured to sort the average regret values corresponding to the target decision point in descending order to obtain a sorting result, wherein each average regret value is obtained by averaging the regret values of each iteration corresponding to each game player at the target decision point.

[0144] The average regret value selecting unit is configured to select the second largest average regret value from the larger end of the sorting result.

[0145] The post-switch game player determining unit is configured to determine the game player corresponding to the second largest average regret value as the post-switch game player.

[0146] In an embodiment of the present application, the post-switch game player obtaining submodule can include:

[0147] The action space obtaining unit is configured to obtain a preset action space.

[0148] The game player switching unit is configured to switch the game players at the target decision point in the action space.

[0149] In an embodiment of the present application, the device can further include:

[0150] The reward value and value generating module is configured to generate the task reward value and the residual resource value corresponding to each game player respectively according to the action space after the task scheduling according to the task scheduling strategy.

[0151] The output display module is configured to output and display the task reward value and the residual resource value.

[0152] In an embodiment of the present application, the device can further include:

[0153] The resource releasing module is configured to release the resources occupied by the task scheduling game instance after outputting and displaying the task reward value and the residual resource value.

[0154] In an embodiment of the present application, the device can further comprise:

[0155] a resource demand information obtaining module, configured to obtain resource demand information of the task corresponding to the target decision point after obtaining the post-switch game participant;

[0156] a residual resource deduction module, configured to deduct the residual resource of the post-switch game participant according to the resource demand information.

[0157] In an embodiment of the present application, the resource demand information obtaining module can comprise:

[0158] a load threshold and load value obtaining submodule, configured to obtain a preset load threshold and a load value of the post-switch game participant;

[0159] a resource demand information determining submodule, configured to determine the resource demand information of the task corresponding to the target decision point according to the load threshold and the load value.

[0160] In an embodiment of the present application, the resource demand information determining submodule can comprise:

[0161] a random generation unit, configured to randomly generate the resource demand information of the task corresponding to the target decision point when the load value is higher than the load threshold;

[0162] a resource demand information prediction unit, configured to predict the resource demand information of the task corresponding to the target decision point when the load value is lower than the load threshold.

[0163] In an embodiment of the present application, the instance creating module 42 can comprise:

[0164] a matrix constructing submodule, configured to construct a task reward matrix and a task resource demand matrix according to the configuration parameters; wherein the task reward matrix comprises reward values corresponding to each task completed by each game participant; and the task resource demand matrix comprises resource demand information required for executing each task;

[0165] an instance creating submodule, configured to create a task scheduling game instance according to the task reward matrix and the task resource demand matrix.

[0166] The features of the embodiments of the task scheduling device can be referred to the related descriptions of the embodiments of the task scheduling method, which will not be repeated here.

[0167] The embodiments of the present application further provide an electronic device comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above task scheduling method embodiments.

[0168] The embodiment of the present application further provides a computer readable storage medium, which stores a computer program, and the computer program is arranged to execute the steps in any of the above task scheduling method embodiments when running.

[0169] In an example embodiment, the above computer readable storage medium can include, but is not limited to, a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.

[0170] The embodiment of the present application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps in any of the above task scheduling method embodiments.

[0171] The embodiment of the present application further provides another computer program product, which comprises a non-volatile computer readable storage medium, and the non-volatile computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps in any of the above task scheduling method embodiments.

[0172] The skilled person can further realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be realized in electronic hardware, computer software or a combination of both. In order to clearly illustrate the interchangeability of hardware and software, the components and steps of the examples have been described in general terms in the above description. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0173] The above describes in detail the task scheduling method, electronic device, readable storage medium and program product provided by the present application. The principles and implementation manners of the present application are described by applying specific examples in this paper, and the above example description is only applicable to help understand the method and core idea of the present application. It should be pointed out that, for ordinary skilled person in the technical field, without departing from the principles of the present application, the present application can be improved and modified in several ways, and these improvements and modifications also fall within the protection scope of the present application.

Claims

1. A task scheduling method, characterized by, The method comprises the following steps: reading configuration parameters; wherein the configuration parameters at least include the number of game participants, the resource state of game participants, the number of iterations, and the number of tasks; creating a task scheduling game instance according to the configuration parameters; determining the respective regret values of each game participant at each decision point by simulating the game process of the task scheduling game instance through sampling; determining a task scheduling strategy according to the respective regret values of each iteration; obtaining the state information of the target game participant corresponding to each decision point in the task scheduling strategy; selecting actions according to the respective state information to obtain the respective action selection results; scheduling tasks according to the respective action selection results; determining a task scheduling strategy according to the respective regret values of each iteration, comprising: calculating the average regret value of each iteration of each game participant at each decision point; selecting the maximum value in the respective average regret values of each decision point; determining the task scheduling strategy according to the respective maximum values; determining the task scheduling strategy according to the respective maximum values, comprising: finding the target game participant corresponding to each maximum value; constructing the binding relationship between each target game participant and each decision point; determining the task scheduling strategy according to the respective binding relationships; scheduling tasks according to the respective action selection results, comprising: selecting a task execution action from the respective action selection results, and executing the task at the corresponding decision point by using the target game participant corresponding to the selected task execution action; selecting a task skipping action from the respective action selection results, and determining the target game participant corresponding to the selected task skipping action; determining the decision point corresponding to the determined target game participant as a target decision point; switching the game participant at the target decision point to obtain a switched game participant; executing the task at the target decision point by using the switched game participant.

2. The task scheduling method of claim 1, wherein, switching the game participant at the target decision point to obtain a switched game participant, comprising: sorting the respective average regret values corresponding to the target decision point to obtain a sorting result; wherein each average regret value is obtained by averaging the regret values of each iteration corresponding to each game participant at the target decision point; selecting the second largest average regret value from the larger end of the sorting result; determining the game participant corresponding to the second largest average regret value as the switched game participant.

3. The task scheduling method of claim 1, wherein, switching the game participant at the target decision point, comprising: obtaining a preset action space; switching the game participant at the target decision point in the action space.

4. The task scheduling method of claim 3, wherein, After scheduling tasks according to the task scheduling strategy, the method further comprises the following steps: generating the task reward value and the remaining resource value corresponding to each game participant according to the action space; outputting and displaying the task reward value and the remaining resource value.

5. The task scheduling method of claim 4, wherein, After outputting and displaying the task reward value and the remaining resource value, the method further comprises the following steps: releasing the resources occupied by the task scheduling game instance.

6. The task scheduling method of claim 1, wherein, After obtaining the switched game participant, the method further comprises the following steps: obtaining the resource requirement information of the task corresponding to the target decision point; According to the resource requirement information, the post-switch game participant is deducted with residual resources.

7. The task scheduling method of claim 6, wherein, Obtaining resource requirement information of a task corresponding to the target decision point comprises: Obtaining a preset load threshold and a load value of the post-switch game participant; According to the load threshold and the load value, determining the resource requirement information of the task corresponding to the target decision point.

8. The task scheduling method of claim 7, wherein, According to the load threshold and the load value, determining the resource requirement information of the task corresponding to the target decision point comprises: When the load value is higher than the load threshold, randomly generating the resource requirement information of the task corresponding to the target decision point; When the load value is lower than the load threshold, predicting the resource requirement information of the task corresponding to the target decision point.

9. The task scheduling method of claim 1, wherein, According to the configuration parameters, creating a task scheduling game instance comprises: According to the configuration parameters, constructing a task reward matrix and a task resource requirement matrix; wherein the task reward matrix comprises reward values corresponding to each task completed by each game participant; the task resource requirement matrix comprises resource requirement information required for executing each task; According to the task reward matrix and the task resource requirement matrix, creating the task scheduling game instance.

10. An electronic device, comprising: Comprise: A memory for storing a computer program; A processor for executing the computer program to implement the steps of the task scheduling method according to any one of claims 1 to 9.

11. A computer readable storage medium, characterized in that, The computer program is stored in the computer readable storage medium, and when the computer program is executed by the processor, the steps of the task scheduling method according to any one of claims 1 to 9 are implemented.

12. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the task scheduling method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Cloud computing resource scheduling method based on game theory

    CN107193658A

  • Unmanned bee colony intelligent task scheduling method based on game confrontation self-learning

    CN119623972A