A quantum cloud computing platform job scheduling and resource allocation method
By optimizing the resource allocation method of the quantum cloud computing platform through reinforcement learning neural networks, the problems of resource shortage and waste have been solved, and efficient resource utilization and request success rate have been achieved.
Patent Information
- Application Number
- CN202111679809.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-31
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2041-12-31
AI Technical Summary
Existing quantum cloud computing platforms are unable to intelligently allocate resources when faced with multi-user computing requests, resulting in resource shortages or waste, and existing methods fail to effectively distinguish between different types of computing requests.
Reinforcement learning neural networks are used to optimize job scheduling and resource allocation. By judging immediate and non-immediate computing requests, computing resources are allocated reasonably, and machine learning is used to predict resource demand, thereby optimizing resource utilization and request success rate.
This enables the rational allocation of resources on the quantum cloud computing platform, avoiding resource shortages and waste, and improving the success rate of user requests and resource utilization efficiency.
Smart Images

Figure CN114444700B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of quantum cloud computing technology, and more specifically, to a method for job scheduling and resource allocation on a quantum cloud computing platform. Background Technology
[0002] Quantum computing is a novel computing paradigm that manipulates quantum information units to perform calculations according to the laws of quantum mechanics. Leveraging the superposition property of quantum states, quantum computing enables the superposition of multiple computational states. For specific computational tasks, quantum computers offer exponential speedups compared to traditional computers. In recent years, quantum computing technology has developed rapidly, and quantum computer products have begun to be commercialized.
[0003] Due to the extremely high manufacturing and maintenance costs of quantum computers, sharing quantum computing resources via cloud platforms is a key technology for the commercialization of quantum computers for a considerable period. In scenarios where multiple users (Alice1, Alice2, ..., Alicen) request computing resources from the cloud platform, how to rationally allocate these resources is a crucial issue that needs to be addressed in the popularization of quantum cloud computing. Existing quantum cloud computing platforms, when faced with multiple user computing requests, often schedule requests on a first-come, first-served basis, failing to intelligently adjust scheduling strategies based on user demand. Furthermore, since most user computing requests are concentrated in fixed time periods, quantum computer resources may be insufficient during peak request periods, causing long waiting times for users; conversely, computing resources may be wasted during off-peak periods.
[0004] Reinforcement learning (RL) is an important method in machine learning, used to solve problems involving agents learning strategies to maximize rewards or achieve specific goals during interactions with their environment. Currently, reinforcement learning methods have been applied in fields such as automatic control, resource allocation, and robotic interaction systems. However, there are currently no applications of related technologies in the field of quantum computing.
[0005] Existing invention patent (CN113419833A) proposes a method for scheduling user requests by classifying users into different levels and assigning different priorities to user tasks. This method only considers different user types and classifies users into different levels, but it cannot flexibly schedule different types of computing requests from the same user. Summary of the Invention
[0006] This invention provides a method for job scheduling and resource allocation on a quantum cloud computing platform. This method can optimize resource utilization and request success rate, and avoid resource shortages and waste.
[0007] To achieve the above-mentioned technical effects, the technical solution of the present invention is as follows:
[0008] A method for job scheduling and resource allocation on a quantum cloud computing platform includes the following steps:
[0009] S1: The cloud server receives the user's quantum computing request;
[0010] S2: Determine the user's request type: including immediate calculation request or non-immediate calculation request; if it is an immediate calculation request, proceed to step S3; otherwise, proceed to step S4.
[0011] S3: Check if the computing center has computing resources to meet the computing request at the current time t. If so, proceed to step S5; otherwise, the computing request fails and the cloud platform returns a failure message to the user.
[0012] S4: Check if there are any available job slots for the current time period: If so, add the user's request to the job slot and wait for sufficient resources to be scheduled; otherwise, the request fails, and the cloud platform informs the user that the time period is full and asks the user to change the reservation calculation time.
[0013] S5: The computing center creates virtual machines for real-time computing requests, allocates computing resources to users, and returns computing results in real time;
[0014] S6: Check if there are any free computing resources at the current moment. If so, proceed to step S7.
[0015] S7: Select one or more non-real-time calculation jobs in the job slot, allocate computing resources to them, wait for the calculation to be completed, and return the calculation results to the user through the cloud server;
[0016] S8: The computing center feeds back the allocation results to the cloud server. The cloud server adds the collected allocation results to the status information and saves them to the learning library to train the reinforcement learning neural network to optimize job scheduling and resource allocation strategies.
[0017] Furthermore, in step S1, the user request message includes: user ID, calculation request type, earliest start time of the job, latest start time, required resource quantity, and duration.
[0018] Further, in step S8, the status information includes: computing resources, the number of user computing resource requests in the job slots, the selected scheduling job slot, the request success rate and computing resource utilization rate in the current time period; for reinforcement learning neural networks, the environment is computing resources and the number of user computing resource requests in the job slots; the behavior is selecting the scheduling request job slot; the reward is the request success rate and computing resource utilization rate in the current time period.
[0019] Furthermore, the specific process of step S7 is as follows:
[0020] S71: Predict the number of computing resources s1, s2, ..., sm available for non-real-time computation at each time point t1, t2, ..., tm in the current time period Δt using machine learning methods;
[0021] S72: Obtain current status information, including: currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system;
[0022] S73: Convert information into vectors, input them into a reinforcement learning neural network, and obtain the output through the network;
[0023] S74: Based on the output of the neural network, i.e. the job scheduling strategy, select a computing request in a job slot and allocate computing resources to it using the first-fit algorithm;
[0024] S75: Calculate the request success rate and computing resource utilization rate for the current time period based on different allocation results.
[0025] Furthermore, in step S71, a machine learning method is used to predict the resources s available for non-instantaneous computing tasks at time t. Specifically, historical data is collected, including the probability distribution and resource occupancy of instantaneous computing tasks; the data is input into a neural network for training; when the accuracy of the training results reaches a threshold and stabilizes, the neural network model is saved, meaning that the available resources s can be predicted at time t.
[0026] Furthermore, the reinforcement learning neural network comprises an input layer, a hidden layer, and an output layer, wherein:
[0027] The input layer receives the current status information, including: the currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system.
[0028] Furthermore, the input layer of the reinforcement learning neural network is represented by a vector, specifically in the form of: [s1, s2, ..., sm, k1, t1, k2, t2, ..., kn, tn]; where s1, s2, ..., sm are the available computing resources in m time steps; k1, t1, k2, t2, ..., kn, tn are the number of computing resources requested by the jobs in the n job slots and their duration.
[0029] Furthermore, the reward for the neural network is the request success rate and computing resource utilization rate for the current time period, where the request success rate is defined as the ratio of the number of successfully scheduled requests to the total number of requests.
[0030] Furthermore, computing resource utilization is defined as the ratio of the resources occupied by computing tasks to the total computing resources in the current time period; the higher the resource utilization, the less resource waste; reinforcement learning neural networks can meet the requirements of flexible job scheduling and efficient resource allocation of quantum cloud computing platforms by maximizing rewards, i.e., request success rate and computing resource utilization through training.
[0031] Compared with the prior art, the beneficial effects of the technical solution of the present invention are:
[0032] This invention enables the rational allocation of limited quantum computer resources and balances user rental fees with platform operating costs by separately scheduling users' real-time and non-real-time computing requests. By collecting historical data to predict available non-real-time computing resources and user computing requests, and by scheduling non-real-time request tasks using reinforcement learning methods, peak and valley filling can be achieved over a long period, further optimizing resource utilization and request success rate, and avoiding resource shortages and waste. Attached Figure Description
[0033] Figure 1 This is a structural diagram of a quantum cloud computing platform system in Example 1;
[0034] Figure 2 This is a flowchart of the method of the present invention;
[0035] Figure 3 This invention provides a detailed scheduling flowchart for non-real-time computing tasks.
[0036] Figure 4 This is a schematic diagram of the non-real-time computational job scheduling for reinforcement learning provided by the present invention.
[0037] Figure 5 A schematic diagram of the reinforcement learning neural network provided by this invention; Detailed Implementation
[0038] The accompanying drawings are for illustrative purposes only and should not be construed as limiting the scope of this patent.
[0039] To better illustrate this embodiment, some parts in the accompanying drawings may be omitted, enlarged, or reduced, and do not represent the actual product dimensions;
[0040] It will be understood by those skilled in the art that certain well-known structures and their descriptions may be omitted in the accompanying drawings.
[0041] The technical solution of the present invention will be further described below with reference to the accompanying drawings and embodiments.
[0042] Example 1
[0043] like Figure 1As shown, this embodiment provides a quantum cloud computing platform system, including: a computing center, a cloud server, and a user terminal; the computing center and the cloud platform communicate through a unified interface, and the cloud server and the user communicate through a communication link.
[0044] The computing center includes a quantum computer and a control unit.
[0045] Types of quantum computers include: superconducting quantum computers, ion trap quantum computers, quantum dot quantum computers, quantum optical quantum computers, and topological quantum computers.
[0046] Due to the unique nature of quantum computing, it is difficult for quantum computers to use time-division multiplexing technology to allocate the computing resources of a single computing device to multiple users. Therefore, multiple quantum computing devices need to be combined into a resource cluster for unified scheduling.
[0047] To further manage and allocate quantum computing resources more efficiently and simplify user requests, quantum computer clusters are virtualized into abstract quantum computing resources and standardized. User requests and platform resource scheduling are based on computing units as the basic unit.
[0048] The controller receives instructions from the cloud server, inputs the user's computation request into the quantum computer, and returns the computation result to the cloud server after the quantum computation is completed.
[0049] The user terminal includes multiple requesters: Alice1, Alice2, ..., Alicen. Each requester sends a computing request to the cloud platform and obtains computing resources in the form of a virtual machine. There are two types of requests: one is an immediate computing request, requiring the cloud platform to return the computing results in real time and enabling real-time interaction; the other is a non-immediate task, where the user only needs to obtain the computing results before a specific time.
[0050] The cloud server connects the computing center and the user terminal, including a task scheduling module. When it receives a user's computing request, it converts the computing request into a computing job and applies different scheduling strategies according to the task type. When the quantum computing center completes the computing task, it receives the computing results and returns them to the user.
[0051] The scheduling module contains p job slots. When the cloud server receives a non-real-time computing task from a user, it adds the non-real-time task to an idle job slot. When resources are sufficient, it selects one or more computing requests from job slots for scheduling through a reinforcement learning neural network resource allocation strategy. If there are no idle job slots for the current time period, the cloud platform informs the user that the time period is full and asks the user to change the scheduled computing time.
[0052] like Figure 2As shown, this quantum cloud computing platform system applies a quantum cloud computing platform job scheduling and resource allocation method, which includes the following steps:
[0053] S1: The cloud server receives the user's quantum computing request;
[0054] The user request message includes: user ID, computation request type, earliest start time of the job, latest start time, required resource quantity and duration;
[0055] S2: Determine the user's request type: including immediate calculation request or non-immediate calculation request; if it is an immediate calculation request, proceed to step S3; otherwise, proceed to step S4.
[0056] S3: Check if the computing center has computing resources to meet the computing request at the current time t. If so, proceed to step S5; otherwise, the computing request fails and the cloud platform returns a failure message to the user.
[0057] S4: Check if there are any available job slots for the current time period. If so, add the user's request to the job slot and wait for sufficient resources to be available for scheduling. Otherwise, the request fails, and the cloud platform informs the user that the time period is fully booked and asks the user to change the reservation calculation time.
[0058] S5: The computing center creates virtual machines for real-time computing requests, allocates computing resources to users, and returns computing results in real time;
[0059] Since the total amount of computing resources remains constant, real-time computing jobs will consume a certain amount of computing resources, and the remaining computing resources can be allocated to non-real-time computing tasks. By recording and statistically analyzing the probability distribution of real-time computing tasks in terms of resource consumption, available resources within a specific time period can be predicted, thereby enabling the scientific allocation of non-real-time computing jobs and avoiding resource shortages and waste.
[0060] S6: Check if there are any free computing resources at the current moment. If so, proceed to step S7;
[0061] S7: Select one or more non-real-time calculation jobs in the job slot, allocate computing resources to them, wait for the calculation to be completed, and return the calculation results to the user through the cloud server.
[0062] S8: The computing center feeds back the allocation results to the cloud server. The cloud server adds the collected allocation results to the status information and saves them to the learning library to train the reinforcement learning neural network to optimize job scheduling and resource allocation strategies.
[0063] The status information includes: computing resources, the number of user computing resource requests in the job slots, the selected scheduling job slot, the request success rate and computing resource utilization rate for the current time period. For reinforcement learning neural networks, the environment consists of computing resources and the number of user computing resource requests in the job slots; the behavior is the selection of the scheduled request job slot; and the reward is the request success rate and computing resource utilization rate for the current time period.
[0064] The flowchart for scheduling non-real-time tasks using reinforcement learning methods described in this embodiment is as follows: Figure 3 As shown, it specifically includes:
[0065] S71: Predict the number of computing resources s1, s2, ..., sm available for non-instantaneous computation at each time point t1, t2, ..., tm in the current time period Δt using machine learning methods.
[0066] Preferably, a machine learning method is used to predict the resources s available for non-real-time computing tasks at time t. The specific method is as follows: collect historical data, including the probability distribution and resource usage of real-time computing tasks; input the data into a neural network for training; when the accuracy of the training results reaches a threshold and stabilizes, save the neural network model, that is, the available resources s can be predicted at time t.
[0067] More preferably, the input to the neural network is the current time t, with a value range of (0, 1, 2, ..., 10080), meaning the neural network predicts a time length of one week, with the time unit being minutes. This is because the probability distribution and resource consumption of user computation requests change over time, specifically: request frequency is higher on weekdays and lower on non-weekdays; request frequency is higher during working hours on weekdays, while there are almost no immediate computation requests late at night and in the early morning.
[0068] S72: Obtain current status information, including: currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system.
[0069] S73: Convert information into vectors, input them into a reinforcement learning neural network, and obtain the output through the network.
[0070] S74: Based on the output of the neural network, i.e., the job scheduling strategy, select a computation request in a job slot and allocate computational resources to it using the first-fit algorithm, such as... Figure 4 As shown.
[0071] S75: Calculate the request success rate and computing resource utilization rate for the current time period based on different allocation results. The allocation results include: if computing resources can satisfy the computing request in the current time period, the job request succeeds; if computing resources cannot satisfy the computing request in the current time period, the job request fails.
[0072] To further illustrate the relationship between reinforcement learning neural networks and job scheduling and resource allocation strategies, such as Figure 5 As shown, a reinforcement learning neural network consists of an input layer, hidden layers, and an output layer, wherein:
[0073] The input layer receives the current status information, including: the currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system.
[0074] The input layer of a reinforcement learning neural network is represented by a vector, specifically in the form: [s1, s2, ..., sm, k1, t1, k2, t2, ..., kn, tn]. Here, s1, s2, ..., sm represent the available computational resources in the m time steps; k1, t1, k2, t2, ..., kn, tn represent the number of computational resources requested by a job in the n job slots and their duration.
[0075] The number of hidden layers and the number of neurons in each layer will affect the training speed and training effect, and need to be set according to the specific situation.
[0076] The number of neurons in the output layer is p (1, 2, 3, ..., p). For different reinforcement learning methods, the outputs of the neural network have different meanings. For example, in the DQN (Deep Q Network) method, the p outputs of the neural network represent the reward for the corresponding action; in the Policy Gradients method, the p outputs of the neural network represent the probability of taking that action. Based on the different output formats, the computation request with index p is selected from the p job slots and computational resources are allocated.
[0077] Preferably, for the reinforcement learning method of this embodiment, the reward of the neural network is the request success rate and computing resource utilization rate in the current time period, wherein:
[0078] The request success rate is defined as the ratio of the number of successfully scheduled requests to the total number of requests.
[0079] Computational resource utilization is defined as the ratio of resources used by computing tasks to total computing resources in the current time period. The higher the resource utilization, the less resource waste.
[0080] Reinforcement learning neural networks, by maximizing rewards (request success rate and computational resource utilization) during training, can meet the requirements of flexible job scheduling and efficient resource allocation for quantum cloud computing platforms.
[0081] Example 2
[0082] like Figure 2 As shown, a method for job scheduling and resource allocation on a quantum cloud computing platform includes the following steps:
[0083] S1: The cloud server receives the user's quantum computing request;
[0084] The user request message includes: user ID, computation request type, earliest start time of the job, latest start time, required resource quantity and duration;
[0085] S2: Determine the user's request type: including immediate calculation request or non-immediate calculation request; if it is an immediate calculation request, proceed to step S3; otherwise, proceed to step S4.
[0086] S3: Check if the computing center has computing resources to meet the computing request at the current time t. If so, proceed to step S5; otherwise, the computing request fails and the cloud platform returns a failure message to the user.
[0087] S4: Check if there are any available job slots for the current time period. If so, add the user's request to the job slot and wait for sufficient resources to be available for scheduling. Otherwise, the request fails, and the cloud platform informs the user that the time period is fully booked and asks the user to change the reservation calculation time.
[0088] S5: The computing center creates virtual machines for real-time computing requests, allocates computing resources to users, and returns computing results in real time;
[0089] Since the total amount of computing resources remains constant, real-time computing jobs will consume a certain amount of computing resources, and the remaining computing resources can be allocated to non-real-time computing tasks. By recording and statistically analyzing the probability distribution of real-time computing tasks in terms of resource consumption, available resources within a specific time period can be predicted, thereby enabling the scientific allocation of non-real-time computing jobs and avoiding resource shortages and waste.
[0090] S6: Check if there are any free computing resources at the current moment. If so, proceed to step S7;
[0091] S7: Select one or more non-real-time calculation jobs in the job slot, allocate computing resources to them, wait for the calculation to be completed, and return the calculation results to the user through the cloud server.
[0092] S8: The computing center feeds back the allocation results to the cloud server. The cloud server adds the collected allocation results to the status information and saves them to the learning library to train the reinforcement learning neural network to optimize job scheduling and resource allocation strategies.
[0093] The status information includes: computing resources, the number of user computing resource requests in the job slots, the selected scheduling job slot, the request success rate and computing resource utilization rate for the current time period. For reinforcement learning neural networks, the environment consists of computing resources and the number of user computing resource requests in the job slots; the behavior is the selection of the scheduled request job slot; and the reward is the request success rate and computing resource utilization rate for the current time period.
[0094] Example 3
[0095] like Figure 2 As shown, a method for job scheduling and resource allocation on a quantum cloud computing platform includes the following steps:
[0096] S1: The cloud server receives the user's quantum computing request;
[0097] The user request message includes: user ID, computation request type, earliest start time of the job, latest start time, required resource quantity and duration;
[0098] S2: Determine the user's request type: including immediate calculation request or non-immediate calculation request; if it is an immediate calculation request, proceed to step S3; otherwise, proceed to step S4.
[0099] S3: Check if the computing center has computing resources to meet the computing request at the current time t. If so, proceed to step S5; otherwise, the computing request fails and the cloud platform returns a failure message to the user.
[0100] S4: Check if there are any available job slots for the current time period. If so, add the user's request to the job slot and wait for sufficient resources to be available for scheduling. Otherwise, the request fails, and the cloud platform informs the user that the time period is fully booked and asks the user to change the reservation calculation time.
[0101] S5: The computing center creates virtual machines for real-time computing requests, allocates computing resources to users, and returns computing results in real time;
[0102] Since the total amount of computing resources remains constant, real-time computing jobs will consume a certain amount of computing resources, and the remaining computing resources can be allocated to non-real-time computing tasks. By recording and statistically analyzing the probability distribution of real-time computing tasks in terms of resource consumption, available resources within a specific time period can be predicted, thereby enabling the scientific allocation of non-real-time computing jobs and avoiding resource shortages and waste.
[0103] S6: Check if there are any free computing resources at the current moment. If so, proceed to step S7;
[0104] S7: Select one or more non-real-time calculation jobs in the job slot, allocate computing resources to them, wait for the calculation to be completed, and return the calculation results to the user through the cloud server.
[0105] S8: The computing center feeds back the allocation results to the cloud server. The cloud server adds the collected allocation results to the status information and saves them to the learning library to train the reinforcement learning neural network to optimize job scheduling and resource allocation strategies.
[0106] The status information includes: computing resources, the number of user computing resource requests in the job slots, the selected scheduling job slot, the request success rate and computing resource utilization rate for the current time period. For reinforcement learning neural networks, the environment consists of computing resources and the number of user computing resource requests in the job slots; the behavior is the selection of the scheduled request job slot; and the reward is the request success rate and computing resource utilization rate for the current time period.
[0107] The flowchart for scheduling non-real-time tasks using reinforcement learning methods described in this embodiment is as follows: Figure 3 As shown, it specifically includes:
[0108] S71: Predict the number of computing resources s1, s2, ..., sm available for non-instantaneous computation at each time point t1, t2, ..., tm in the current time period Δt using machine learning methods.
[0109] Preferably, a machine learning method is used to predict the resources s available for non-real-time computing tasks at time t. The specific method is as follows: collect historical data, including the probability distribution and resource usage of real-time computing tasks; input the data into a neural network for training; when the accuracy of the training results reaches a threshold and stabilizes, save the neural network model, that is, the available resources s can be predicted at time t.
[0110] More preferably, the input to the neural network is the current time t, with a value range of (0, 1, 2, ..., 10080), meaning the neural network predicts a time length of one week, with the time unit being minutes. This is because the probability distribution and resource consumption of user computation requests change over time, specifically: request frequency is higher on weekdays and lower on non-weekdays; request frequency is higher during working hours on weekdays, while there are almost no immediate computation requests late at night and in the early morning.
[0111] S72: Obtain current status information, including: currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system.
[0112] S73: Convert information into vectors, input them into a reinforcement learning neural network, and obtain the output through the network.
[0113] S74: Based on the output of the neural network, i.e., the job scheduling strategy, select a computation request in a job slot and allocate computational resources to it using the first-fit algorithm, such as... Figure 4 As shown.
[0114] S75: Calculate the request success rate and computing resource utilization rate for the current time period based on different allocation results. The allocation results include: if computing resources can satisfy the computing request in the current time period, the job request succeeds; if computing resources cannot satisfy the computing request in the current time period, the job request fails.
[0115] To further illustrate the relationship between reinforcement learning neural networks and job scheduling and resource allocation strategies, such as Figure 5 As shown, a reinforcement learning neural network consists of an input layer, hidden layers, and an output layer, wherein:
[0116] The input layer receives the current status information, including: the currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system.
[0117] The input layer of a reinforcement learning neural network is represented by a vector, specifically in the form: [s1, s2, ..., sm, k1, t1, k2, t2, ..., kn, tn]. Here, s1, s2, ..., sm represent the available computational resources in the m time steps; k1, t1, k2, t2, ..., kn, tn represent the number of computational resources requested by a job in the n job slots and their duration.
[0118] The number of hidden layers and the number of neurons in each layer will affect the training speed and training effect, and need to be set according to the specific situation.
[0119] The number of neurons in the output layer is p (1, 2, 3, ..., p). For different reinforcement learning methods, the outputs of the neural network have different meanings. For example, in the DQN (Deep Q Network) method, the p outputs of the neural network represent the reward for the corresponding action; in the Policy Gradients method, the p outputs of the neural network represent the probability of taking that action. Based on the different output formats, the computation request with index p is selected from the p job slots and computational resources are allocated.
[0120] Preferably, for the reinforcement learning method of this embodiment, the reward of the neural network is the request success rate and computing resource utilization rate in the current time period, wherein:
[0121] The request success rate is defined as the ratio of the number of successfully scheduled requests to the total number of requests.
[0122] Computational resource utilization is defined as the ratio of resources used by computing tasks to total computing resources in the current time period. The higher the resource utilization, the less resource waste.
[0123] Reinforcement learning neural networks, by maximizing rewards (request success rate and computational resource utilization) during training, can meet the requirements of flexible job scheduling and efficient resource allocation for quantum cloud computing platforms.
[0124] The same or similar labels correspond to the same or similar parts;
[0125] The positional relationships depicted in the accompanying drawings are for illustrative purposes only and should not be construed as limiting this patent.
[0126] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art can make other variations or modifications based on the above description. It is neither necessary nor possible to exhaustively describe all embodiments here. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the claims of the present invention.
Claims
1. A method for job scheduling and resource allocation on a quantum cloud computing platform, characterized in that, Includes the following steps: S1: The cloud server receives the user's quantum computing request; S2: Determine the type of user's request: including real-time calculation requests or non-real-time calculation requests; If an immediate calculation request is required, proceed to step S3; Otherwise proceed to step S4; S3: Check if the computing center has computing resources to meet the computing request at the current time t. If so, proceed to step S5; otherwise, the computing request fails and the cloud platform returns a failure message to the user. S4: Check if there are any idle job slots in the current time period: If so, add the user request to the job slot and wait for scheduling when resources are sufficient; Otherwise, the request will fail, and the cloud platform will inform the user that the time slot is fully booked and ask the user to change the reservation calculation time. S5: The computing center creates virtual machines for real-time computing requests, allocates computing resources to users, and returns computing results in real time; S6: Check if there are any free computing resources at the current moment. If so, proceed to step S7. S7: Select one or more non-real-time calculation jobs in the job slot, allocate computing resources to them, wait for the calculation to be completed, and return the calculation results to the user through the cloud server; The process of step S7 is as follows: S71: Predict the number of computing resources s1, s2, ..., sm available for non-real-time computation at each time point t1, t2, ..., tm in the current time period Δt using machine learning methods; S72: Obtain current status information, including: currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system; S73: Convert information into vectors, input them into a reinforcement learning neural network, and obtain the output through the network; S74: Based on the output of the neural network, i.e. the job scheduling strategy, select a computing request in a job slot and allocate computing resources to it using the first-fit algorithm; S75: Calculate the request success rate and computing resource utilization rate for the current time period based on different allocation results; S8: The computing center feeds back the allocation results to the cloud server. The cloud server adds the collected allocation results to the status information and saves them to the learning library to train the reinforcement learning neural network to optimize job scheduling and resource allocation strategies.
2. The quantum cloud computing platform job scheduling and resource allocation method according to claim 1, characterized in that, In step S1, the user request message includes: user ID, calculation request type, earliest start time of the job, latest start time, required resource quantity, and duration.
3. The quantum cloud computing platform job scheduling and resource allocation method according to claim 2, characterized in that, In step S8, the status information includes: computing resources, the number of user computing resource requests in the job slots, the selected scheduling job slots, the request success rate and computing resource utilization rate in the current time period; for reinforcement learning neural networks, the environment is computing resources and the number of user computing resource requests in the job slots; the behavior is selecting the scheduling request job slots; the reward is the request success rate and computing resource utilization rate in the current time period.
4. The quantum cloud computing platform job scheduling and resource allocation method according to claim 3, characterized in that, In step S71, a machine learning method is used to predict the resources s available for non-real-time computing tasks at time t. The specific method is as follows: collect historical data, including the probability distribution and resource occupancy of real-time computing tasks; input the data into a neural network for training; when the accuracy of the training results reaches a threshold and stabilizes, save the neural network model, that is, the available resources s can be predicted at time t.
5. The quantum cloud computing platform job scheduling and resource allocation method according to claim 4, characterized in that, The input to the neural network is the current time t, which has a value range of (0, 1, 2, ..., 10080). That is, the neural network predicts a time length of one week, and the time unit is minutes.
6. The quantum cloud computing platform job scheduling and resource allocation method according to claim 5, characterized in that, The reinforcement learning neural network comprises an input layer, a hidden layer, and an output layer, wherein: The input layer receives the current status information, including: the currently available computing resources and the number of computing resources for non-real-time computing requests in each job slot in the system.
7. The quantum cloud computing platform job scheduling and resource allocation method according to claim 6, characterized in that, The input layer of the reinforcement learning neural network is represented by a vector, specifically in the form: [s1, s2, ..., sm, k1, t1, k2, t2, ..., kn, tn]; where s1, s2, ..., sm are the available computing resources in m time steps; k1, t1, k2, t2, ..., kn, tn are the number of computing resources requested by the jobs in the n job slots and their duration.
8. The quantum cloud computing platform job scheduling and resource allocation method according to claim 7, characterized in that, The reward of the neural network is the request success rate and computing resource utilization rate in the current time period, where the request success rate is defined as the ratio of the number of successfully scheduled requests to the total number of requests.
9. The quantum cloud computing platform job scheduling and resource allocation method according to claim 8, characterized in that, Computational resource utilization is defined as the ratio of resources occupied by computing tasks to total computing resources in the current time period; the higher the resource utilization, the less resource waste. Reinforcement learning neural networks can meet the requirements of flexible job scheduling and efficient resource allocation of quantum cloud computing platforms by maximizing rewards, i.e., request success rate and computational resource utilization, through training.
Citation Information
Patent Citations
Method and device for task scheduling of quantum cloud computing platform and task scheduling server of quantum cloud computing platform
CN113419833A
Cloud platform resource scheduling strategy based on reinforcement learning
CN112799828A