Electricity measurement fusion calculation task scheduling method and scheduling system
By identifying and disassembling the quantum fusion computing tasks as quantum computing tasks and classical computing tasks, and scheduling and executing them separately, the problem of inability to effectively schedule and execute quantum computing tasks in the prior art is solved, and efficient computing resource utilization and computing efficiency improvement are achieved.
Patent Information
- Application Number
- CN202510086228.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-20
- Publication Date
- 2025-05-30
AI Technical Summary
The prior art cannot effectively realize the allocation, scheduling and execution of quantum computing tasks and classical computing tasks on quantitative and electrical fusion computing clusters, resulting in low computing resource utilization and computing efficiency.
A quantitative and electrical fusion computing task scheduling method is proposed. By receiving computing tasks, identifying and disassembling the quantitative and electrical fusion computing tasks as quantum computing tasks and classical computing tasks, it is sent to the quantum computing partition and classical computing partition respectively, and performs the computing tasks according to the computing nodes matching the task scheduling, and monitors the task execution status in real time.
The efficient allocation, scheduling and execution of quantum computing and classical computing tasks on the quantitative and electrical fusion computing cluster is realized, which improves the utilization rate and computing efficiency of cluster quantum computing resources and reduces the bottleneck of computing performance.
Smart Images

Figure CN120066710A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of quantum computing, and in particular, to a quantum-electricity fusion computing task scheduling method and a scheduling system. Background Art
[0002] "Quantum-electricity fusion" is a computing paradigm that seamlessly integrates quantum computers and classical supercomputers. Relying on the efficient data preprocessing, computing task decomposition, and result processing capabilities provided by classical computers, while fully leveraging the core acceleration role of quantum computers in specific problems, it is an architecture and mode that completes complex computing tasks through the collaboration of the two. Among them, a quantum-electricity fusion computing cluster usually consists of multiple quantum computers (quantum processing units, QPUs) and classical computing resources (such as classical computers, storage devices, and network devices); the quantum computers in the quantum-electricity fusion computing cluster are implemented based on different technologies (such as superconducting qubits, ion trap quantum computing, optical quantum computing, etc.), while classical computers are mainly composed of two computing devices, a central processing unit (CPU) and a graphics processing unit (GPU).
[0003] To use a quantum-electricity fusion computing cluster, the existing solution is to design a computing service platform (usually a web interface) to provide a visual interface for users to conveniently submit tasks. These computing tasks need to be sent to a computing task scheduling system, which distributes the jobs to the specified computing nodes for execution, and at the same time, real-time returns the running status and results of the computing tasks to the computing service platform. However, for the classical computing scheduling systems (such as Simple Linux Utility for Resource Management, Slurm, and Kubernetes) adopted by existing high-performance computing clusters, when computing tasks need to be sent to the computing task scheduling system, since they do not support quantum computing tasks, these scheduling systems cannot achieve the allocation, scheduling, and execution of quantum computing tasks and classical computing tasks on the quantum-electricity fusion computing cluster, and monitor the execution of tasks; moreover, due to the hardware differences between quantum computers and classical computers, there are obvious differences in their computing speeds, which in turn leads to low utilization rates and computing efficiencies of the computing resources in the quantum-electricity fusion cluster. Summary of the Invention
[0004] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0005] The purpose of the present invention is to solve the deficiencies existing in the prior art, and a quantum-electricity fusion computing task scheduling method and scheduling system are proposed.
[0006] To achieve the above purpose, in the first aspect, the present invention provides a quantum-electricity fusion computing task scheduling method, including:
[0007] S100, receiving a computing task;
[0008] S200, identifying a quantum-electricity fusion computing task in the computing task, separately parsing the quantum-electricity fusion computing task, and disassembling it into a quantum computing task and a classical computing task;
[0009] S300, receiving the quantum computing task and the classical computing task and sending them to the corresponding computing node partitions, where the computing node partitions include a quantum computing partition and a classical computing partition;
[0010] S400, scheduling a computing node matching the quantum computing task amount in the quantum computing partition to execute the computing task according to the quantum computing task amount;
[0011] And scheduling a computing node matching the classical computing task amount in the classical computing partition to execute the computing task according to the classical computing task amount.
[0012] In some embodiments, the S300 includes:
[0013] S310, receiving the quantum computing task and the classical computing task, creating a corresponding computing task sequence based on a task synchronization strategy and marking a task serial number, polling and updating the health status of the cluster quantum computing resources;
[0014] S320, optimizing the classical computing task based on a parallel optimization strategy, and mapping the computing node partition corresponding to the computing task sequence based on a multi-task scheduling strategy;
[0015] S330, sending the computing task sequence marked with the task serial number.
[0016] In some embodiments, the S400 includes:
[0017] S410. Receive the disassembled calculation task sequence with marked task numbers, schedule computing nodes that match the quantum computing task volume in the quantum computing partition to execute the computing tasks according to the quantum computing task volume, and schedule computing nodes that match the classical computing task volume in the classical computing partition to execute the computing tasks according to the classical computing task volume;
[0018] S420. Monitor in real time whether each subtask of the calculation task sequence is gradually calculated and completed in the order of the labels, and track and feedback the health status of the cluster quantum computing resources, the status of job execution requests, and the results of the computing tasks.
[0019] In some embodiments, the S410 includes:
[0020] S411. Receive the disassembled calculation task sequence with marked task numbers, and determine whether a multi-task scheduling strategy is specified;
[0021] S412. Analyze and optimize the computing task volume of the calculation task sequence based on the parallel optimization strategy;
[0022] S413. Schedule computing nodes that match the quantum computing task volume in the quantum computing partition to execute the computing tasks according to the quantum computing task volume, and schedule computing nodes that match the classical computing task volume in the classical computing partition to execute the computing tasks according to the classical computing task volume.
[0023] In some embodiments, the S420 includes:
[0024] S421. Detect in real time whether the subtasks with earlier labels in the calculation task sequence have obtained calculation results, and transfer the calculation results to the subtasks with later labels in the calculation task sequence after obtaining the calculation results;
[0025] S422. Determine in real time whether the subtasks with earlier labels in the calculation task sequence have successfully transferred the calculation results, and trigger the start of calculation for the subtasks with later labels in the calculation task sequence after successfully transferring the calculation results;
[0026] S423. Detect whether all subtasks have been calculated and completed, and track and feedback the health status of the cluster quantum computing resources, the status of job execution requests, and the results of the computing tasks in real time.
[0027] In a second aspect, the present invention also provides a computing task scheduling system for running the quantum-electricity fusion computing task scheduling method as described in the first aspect. The scheduling system includes:
[0028] A computing service platform for providing a visual operation interface, submitting computing tasks to a computing task parsing system, and querying the health status of the cluster quantum computing resources, the status of job execution requests, and the results of the computing tasks;
[0029] A computing task parsing system, which is used to screen and classify computing task types, separately parse and disassemble the power-electricity fusion computing tasks, and send the computing tasks to the computing task scheduling system;
[0030] A computing task scheduling system, which is used to schedule and optimize the computing task sequence, send the computing task sequence to the corresponding computing node partition, and monitor and receive the running status of the computing node partition, the job execution request status and the computing task result in real time, and feedback to the computing service platform;
[0031] A computing node partition, which is used to execute computing tasks and feedback the health status of the cluster quantum computing resources, the job execution request status and the computing task result.
[0032] In some embodiments, the computing tasks include classical computing tasks, quantum computing tasks and power-electricity fusion computing tasks, and the classical computing tasks include general computing tasks and parallel computing tasks;
[0033] The computing service platform is provided with a scheduling adapter, and the computing service platform sends the computing tasks to the computing task scheduling system through the scheduling adapter service process;
[0034] The computing task parsing system separately analyzes and disassembles the power-electricity fusion computing tasks into classical computing tasks and quantum computing tasks.
[0035] In some embodiments, the computing task scheduling system includes:
[0036] A quantum computing partial function module, which is used to schedule quantum computing tasks and manage quantum computing resources;
[0037] A classical computing partial function module, which is used to schedule classical computing tasks and manage classical computing resources.
[0038] In some embodiments, the quantum computing partial function module includes:
[0039] A public interface module, which is used to dock the computing service platform and the computing task scheduling system, send query requests and receive request results;
[0040] A resource management module, which is used to manage the quantum computers in the cluster quantum computing resources of the computing node partition, poll and update the health status information of the cluster quantum computing resources;
[0041] A task management module, which is used to receive the issued job execution request, create and send the computing task sequence, and save and return the computing task result;
[0042] The task scheduling execution module is used to receive the issued computing task sequence, call and query the health status information of the cluster quantum computing resources, and allocate computing tasks according to the scheduling optimization strategy.
[0043] In some embodiments, the task scheduling execution module includes:
[0044] The classical computing subtask optimization module is used to decompose computing tasks through a parallel optimization strategy and call the central processing unit and the graphics processing unit to run the computing tasks;
[0045] The multi-task scheduling module is used to map the computing task sequence to the corresponding cluster computing resources through a multi-task scheduling strategy to perform computing;
[0046] The quantum-electricity fusion computing subtask synchronization module is used to mark the task numbers corresponding to the subtasks after decomposing the quantum-electricity fusion computing tasks through a task synchronization strategy, and synchronize the execution order and dependency relationship of the corresponding computing task sequences of the subtasks.
[0047] In some embodiments, the computing node partition includes a quantum computing partition and a classical computing partition;
[0048] The quantum computing partition includes cluster quantum computing resources, and the cluster quantum computing resources include a quantum computing scheduling agent and a quantum computer;
[0049] The classical computing partition includes general service computing resources, and the general service computing resources include a general resident scheduling agent and a general computing server.
[0050] The present invention has the following beneficial effects:
[0051] 1. The present invention parses and decomposes the quantum-electricity fusion computing tasks into classical computing tasks and quantum computing tasks, realizes the allocation, scheduling and execution of quantum computing and classical computing tasks on the quantum-electricity fusion computing cluster, and synchronously monitors the computing task sequence in real time, and can return the job execution request status and computing task results to the user in real time, reduces the computing performance bottleneck of the quantum-electricity fusion computing tasks on the quantum-electricity fusion computing cluster, and effectively improves the utilization rate and computing efficiency of the cluster quantum computing resources;
[0052] 2. The present invention regards different computers in the quantum-electricity fusion computing cluster as multiple computing cores, decomposes computing tasks based on a parallel optimization strategy, maps the computing task sequence to the corresponding cluster computing resources based on a multi-task scheduling strategy, and transforms the scheduling problem into the problem of how a multi-task queue maps to computing cores, which can effectively improve the utilization rate of computing resources and reduce the time-consuming of computing subtasks;
[0053] 3. Through the task scheduling and execution module, the present invention can effectively optimize the execution efficiency of classical computing tasks, select different scheduling optimization strategies according to different characteristics of tasks, and support users to customize scheduling optimization strategies, thereby improving the overall computing efficiency of the power-quantity fusion computing tasks and making full use of the computing resources in the computing node partition. Description of the Drawings
[0054] Figure 1 It is a flowchart of the power-quantity fusion computing task scheduling method proposed by the present invention Figure 1 ;
[0055] Figure 2 It is a flowchart of the power-quantity fusion computing task scheduling method proposed by the present invention Figure 2 ;
[0056] Figure 3 It is a flowchart of the power-quantity fusion computing task scheduling method proposed by the present invention Figure 3 ;
[0057] Figure 4 It is a flowchart of the power-quantity fusion computing task scheduling method proposed by the present invention Figure 4 ;
[0058] Figure 5 It is a flowchart of the power-quantity fusion computing task scheduling method proposed by the present invention Figure 5 ;
[0059] Figure 6 It is the principle of the computing task scheduling system proposed by the present invention Figure 1 ;
[0060] Figure 7 It is the principle of the computing task scheduling system proposed by the present invention Figure 2 ;
[0061] Figure 8 It is the principle of the computing task scheduling system proposed by the present invention Figure 3 .
[0062] Legend Explanation:
[0063] 1. Computing service platform; 11. Scheduling adapter; 2. Computing task parsing system; 3. Computing task scheduling system; 31. Quantum computing partial function module; 311. Common interface module; 312. Resource management module; 313. Task management module; 314. Task scheduling execution module; 3141. Classical computing subtask optimization module; 3142. Multi-task scheduling module; 3143. Quantum-electricity fusion computing subtask synchronization module; 32. Classical computing partial function module; 4. Computing node partition; 41. Quantum computing partition; 411. Cluster quantum computing resources; 4111. Quantum computing scheduling agent; 4112. Quantum computer; 42. Classical computing partition; 421. General service computing resources; 4211. General resident scheduling agent; 4212. General computing server. Detailed implementation manners
[0064] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0065] The embodiments of the present application provide a quantum-electricity fusion computing task scheduling method and a scheduling system, which solve the problem in the prior art that when a computing task needs to be sent to a computing task scheduling system, since quantum computing tasks are not supported, these scheduling systems cannot implement the allocation, scheduling, and execution of quantum computing tasks and classical computing tasks on a quantum-electricity fusion computing cluster, and monitor the execution of tasks; and due to the hardware differences between quantum computers and classical computers, there are obvious differences in their computing speeds, which further leads to the problem of low utilization rate and computing efficiency of the quantum-electricity fusion cluster computing resources. The present application realizes the allocation, scheduling, and execution of different types of tasks on a quantum-electricity fusion computing cluster, synchronously monitors the computing task sequence in real time, can return the job execution request status and computing task results to the user in real time, reduces the computing performance bottleneck of quantum-electricity fusion computing tasks on the quantum-electricity fusion computing cluster, effectively improves the utilization rate and computing efficiency of the cluster quantum computing resources; regards different computers in the quantum-electricity fusion computing cluster as multiple computing cores, decomposes computing tasks based on a parallel optimization strategy, maps the cluster computing resources corresponding to the computing task sequence based on a multi-task scheduling strategy, and transforms the scheduling problem into the problem of how a multi-task queue maps to computing cores, effectively reducing the time-consuming of computing subtasks.
[0066] Specifically, please refer to the following embodiments:
[0067] Refer to Figures 1 - 4, an embodiment of the power-quantum fusion computing task scheduling method provided by the present invention, the specific structure includes:
[0068] S100, receive computing tasks;
[0069] S200, identify power-quantum fusion computing tasks in the computing tasks, separately analyze the power-quantum fusion computing tasks, and disassemble them into quantum computing tasks and classical computing tasks;
[0070] S300, receive the quantum computing tasks and classical computing tasks and send them to the corresponding computing node partitions. The computing node partitions include a quantum computing partition and a classical computing partition;
[0071] S400, schedule computing nodes matching the quantum computing task volume in the quantum computing partition according to the quantum computing task volume to execute the computing tasks;
[0072] And schedule computing nodes matching the classical computing task volume in the classical computing partition according to the classical computing task volume to execute the computing tasks.
[0073] Exemplarily, the user logs in to the computing service platform 1 or other third-party computing platforms to submit computing tasks. Subsequently, the computing tasks will be divided according to multiple task types and all sent; Subsequently, the power-quantum fusion computing tasks are separately analyzed by the computing task parsing system 2, disassembled into classical computing tasks and quantum computing tasks, and then all computing tasks are sent to the computing task scheduling system 3 correspondingly; The computing task scheduling system 3 will schedule and manage different types of computing tasks, and then send them to the corresponding computing node partition 4 for computing, realizing the tracking and feedback of the health status, job execution request status, and computing task results of the cluster quantum computing resources 411, and finally feeding back the computing results to the user in the order of "computing node partition 4 → computing task scheduling system 3 → computing service platform 1".
[0074] Exemplarily, the computing tasks include classical computing tasks, quantum computing tasks, and power-quantum fusion computing tasks. The classical computing tasks are specifically divided into general computing tasks and parallel computing tasks; The power-quantum fusion tasks need to be separately analyzed, and then disassembled into subtasks executed by a classical computer and subtasks executed by a quantum computer 4112, and then sent to the computing task scheduling system 3, and then calculated separately through the corresponding computing node partition 4.
[0075] It can be understood that the power-quantum fusion computing tasks usually involve combining quantum computing and classical computing to utilize the advantages of both to solve complex computing problems. Specifically, this fusion mode is usually applicable to tasks that cannot be fully solved by quantum computing, or when the advantages of quantum computing have not been fully demonstrated in some stages, classical computing provides higher efficiency.
[0076] For the decomposition of the quantum-electricity fusion computing task, it is based on the nature of the computing task. The quantum computing part in the quantum-electricity fusion computing task is usually a computing task that can significantly utilize quantum superposition, entanglement, or quantum parallelism, such as high-dimensional optimization problems, factorization, simulation of quantum systems, and search problems; the classical computing part in the quantum-electricity fusion computing task is most conventional computing tasks (such as data processing, numerical calculation, storage, classical optimization, etc.). Therefore, the computing task parsing system 2 can decompose the quantum-electricity fusion computing task by identifying the nature of the computing task, and finally divide it into a quantum computing task and a classical computing task.
[0077] Please continue to refer to Figures 1 - 5 , in this embodiment, step S300 includes:
[0078] S310, receive the quantum computing task and the classical computing task, create a corresponding computing task sequence based on the task synchronization strategy and mark the task serial number, and poll and update the health status of the cluster quantum computing resources;
[0079] S320, optimize the classical computing task based on the parallel optimization strategy, and map the computing node partition corresponding to the computing task sequence based on the multi-task scheduling strategy;
[0080] S330, issue the computing task sequence marked with the task serial number.
[0081] Exemplarily, after the quantum-electricity fusion computing task is separately parsed, it will be decomposed into subtasks (quantum computing task and classical computing task), and a corresponding computing task sequence is formed based on the task synchronization strategy. Subsequently, the computing task scheduling system 3 will first analyze whether the classical computing task meets the optimization conditions, and then optimize each classical computing task specifically. Subsequently, these two types of task queues can be scheduled. A pipeline can be used, or a suitable scheduling optimization strategy can be selected according to the characteristics of the computing task (such as execution time, execution cycle, computing time limit, computing priority, etc.) and specific system requirements (such as fairness, response time, throughput, etc.), or the computing task can be executed according to the scheduling optimization strategy selected by the user. Since there is a context relationship between the quantum-electricity fusion computing subtasks, the intermediate results between these subtasks need to be synchronized to achieve the normal execution of the overall quantum-electricity fusion computing task and obtain the final execution result of the overall quantum-electricity fusion computing task.
[0082] Please continue to refer to Figures 1 - 5 , in this embodiment, step S400 includes:
[0083] S410. Receive the disassembled calculation task sequence with marked task numbers, schedule computing nodes matching the quantum computing task volume in the quantum computing partition to execute the computing tasks according to the computing task volume, and schedule computing nodes matching the classical computing task volume in the classical computing partition to execute the computing tasks according to the classical computing task volume;
[0084] S420. Monitor in real time whether each subtask of the calculation task sequence is gradually calculated and completed in the order of the labels, and track and feedback the health status of cluster quantum computing resources, the status of job execution requests, and the results of computing tasks.
[0085] It should be noted in detail that in this embodiment, step S410 includes:
[0086] S411. Receive the disassembled calculation task sequence with marked task numbers, and determine whether a multi-task scheduling strategy is specified;
[0087] S412. Analyze and optimize the computing task volume of the calculation task sequence based on the parallel optimization strategy;
[0088] S413. Schedule computing nodes matching the quantum computing task volume in the quantum computing partition to execute the computing tasks according to the quantum computing task volume, and schedule computing nodes matching the classical computing task volume in the classical computing partition to execute the computing tasks according to the classical computing task volume.
[0089] Furthermore, step S420 includes:
[0090] S421. Detect in real time whether the subtasks with earlier labels in the calculation task sequence have obtained calculation results, and transfer the calculation results to the subtasks with later labels in the calculation task sequence after obtaining the calculation results;
[0091] S422. Judge in real time whether the subtasks with earlier labels in the calculation task sequence have successfully transferred the calculation results, and trigger the start of calculation for the subtasks with later labels in the calculation task sequence after successfully transferring the calculation results;
[0092] S423. Detect whether all subtasks have been calculated and completed, and track and feedback the health status of cluster quantum computing resources, the status of job execution requests, and the results of computing tasks in real time.
[0093] The quantum computer 4112 can utilize its powerful parallel computing ability to optimize various specific computing scenarios. Taking the acceleration of machine learning algorithm training scenarios as an example, the specific steps include data preparation and encoding, model initialization, quantum computing optimization, training and update, and model evaluation and testing. These steps require the quantum computer 4112 to cooperate with a classical computer to calculate a quantum-electricity fusion computing task composed of quantum computing subtasks and classical computing subtasks. However, due to the significant difference in computing speed between the quantum computer 4112 and the classical computer, it will cause a performance bottleneck for the quantum-electricity fusion computing task. In addition, since the quantum computer 4112 has a faster computing speed, it needs to wait for the calculation results of the classical computer with a slower computing speed after the calculation is completed, resulting in idle situations and low utilization rate of computing resources.
[0094] To address the above problems, the present invention designs a task scheduling and execution module 314, which can effectively optimize the execution efficiency of classical computing tasks, select different scheduling optimization strategies according to the different characteristics of tasks, and support user-defined scheduling optimization strategies, thereby improving the overall computing efficiency of the quantum-electricity fusion computing task, making full use of the computing resources in the cluster, enabling different numbered subtasks in the computing task sequence to be calculated synchronously and quickly, effectively reducing the waiting time and improving the computing efficiency.
[0095] Refer to Figures 6 - 7 , the present invention also provides an embodiment of a quantum-electricity fusion computing task scheduling system 3 for running the quantum-electricity fusion computing task scheduling method in the above embodiment. The scheduling system includes: a computing service platform 1, a computing task parsing system 2, a computing task scheduling system 3, and a computing node partition 4, where:
[0096] The computing service platform 1 is used to provide a visual operation interface, facilitating users to submit computing tasks to the computing task parsing system 2 through the visual operation interface, and can query the health status of the cluster quantum computing resources 411, the job execution request status, and the computing task results in real time;
[0097] The computing task parsing system 2 is used to screen and divide computing tasks according to task types, separately parse the quantum-electricity fusion computing tasks, and break them down into multiple subtasks. These subtasks are then sent to the computing task scheduling system 3 according to different computing requirements, while classical computing tasks and quantum computing tasks are directly sent to the computing task scheduling system 3;
[0098] The computing task scheduling system 3 is used to schedule and optimize the computing task sequence, send the computing task sequence to the corresponding computing node partition 4 for calculation, and in this process, it will monitor and receive the running status of the computing node partition 4, the job execution request status, and the computing task results in real time, and feedback them to the computing service platform 1 for users to view and confirm;
[0099] The computing node partition 4 is used to execute computing tasks and regularly feedback the health status of the cluster quantum computing resources 411, the job execution request status, and the computing task results.
[0100] Please continue to refer to Figures 6 - 7 , in this embodiment, the computing service platform 1 is provided with a scheduling adapter 11, and the computing service platform 1 issues computing tasks to the computing task scheduling system 3 through the service process of the scheduling adapter 11; the adapter service here is responsible for data transmission, log recording, and task execution result recording between the platform and the scheduling system, ensuring that every link from the submission to the completion of the computing task can be effectively tracked and managed, and users can view and export in real time on the platform.
[0101] In addition, this application is also compatible with other third-party computing platforms. In actual applications, if users need to use the computing resources provided by other external computing platforms, they can be seamlessly integrated with these third-party platforms through standardized interfaces and protocols. This compatibility can realize the issuance of tasks and the feedback of results for different types of quantum computing platforms.
[0102] Please continue to refer to Figures 6 - 8 , in this embodiment, the computing task scheduling system 3 includes: a quantum computing partial function module 31 and a classical computing partial function module 32. Among them, the quantum computing partial function module 31 is used to schedule quantum computing tasks and manage quantum computing resources; while the classical computing partial function module 32 is used to schedule classical computing tasks and manage classical computing resources.
[0103] After receiving the classical computing tasks and quantum computing tasks issued by the computing service platform 1 and other third-party platforms, the computing task scheduling system 3 will manage and schedule the classical computing tasks and quantum computing tasks respectively:
[0104] First, it will judge whether it is a quantum computing task. If not, it will manage and schedule the classical computing resources and execute the classical computing tasks through the classical computing scheduling system. If so, it will realize the scheduling of quantum computing tasks and the management of quantum computing resources through four functional modules: a common interface module 311, a resource management module 312, a task management module 313, and a task scheduling execution module 314.
[0105] Furthermore, the quantum computing partial function module 31 includes: a common interface module 311, a resource management module 312, a task management module 313, and a task scheduling execution module 314, where:
[0106] The public interface module 311 (Application Programming Interface, API) is used to connect the computing service platform 1 and the computing task scheduling system 3. By providing external interfaces (including the quantum computing resource status query interface, the quantum computing task creation interface, the current status interface of the quantum computing task, and the operation result interface of the quantum computing task), it realizes the interaction between the computing task scheduling system 3 and the client. It directly connects to the task management module 313, is used to send query requests and receive request results (including the execution status and execution results of computing tasks, etc.), and then provides the health status of the quantum computer 4112, serves the submission of quantum computing jobs, and returns the execution status and results of quantum computing jobs;
[0107] The resource management module 312 is used to manage the quantum computer 4112 in the quantum computing resources 411 of the computing node partition 4 cluster (including receiving quantum computing tasks, quantum computing task sequence management, recording the execution status of quantum computing tasks, and recording the execution results of quantum computing tasks). It realizes operations such as adding, deleting, modifying, and querying the cluster quantum computing resources 411 through operating the database, and records information through a resource table for the task scheduling execution module 314 to call when executing the scheduling optimization strategy; In addition, the resource management module 312 will also poll the health status of the quantum computer 4112 in the cluster quantum computing resources 411 at a preset time interval period, and update the query result of the resource status;
[0108] The task management module 313 is used to receive the issued job execution request, and then create a computing task sequence according to the job content; At the same time, record the information and status before and after the subtasks in the computing task sequence, and then send it to the task scheduling execution module 314, and poll and update the task execution status from the public interface module 311; After the computing task ends, it saves the computing result, returns the computing result to the public interface module 311, and finally returns the result to the platform; If the computing task execution is abnormal, it will also return an error message to the public interface module 311;
[0109] The task scheduling execution module 314 is used to receive the computing task sequence information issued by the task management module 313, and call the resource management module 312 to query the health status information of the cluster quantum computing resources 411; Subsequently, combined with the obtained health status information of the cluster quantum computing resources 411, it allocates computing tasks according to the scheduling optimization strategy.
[0110] It should be elaborated in detail that the task scheduling execution module 314 also interacts with the classical computing task scheduling system 3 to ensure the accurate synchronization between subtasks, and then realizes the correct execution of the quantum computing subtasks and classical computing subtasks in the quantum-electricity fusion task.
[0111] It can be understood that in this application, the classical computing part reuses the same design concept, and its common functions include:
[0112] Obtain the health status of classical computing resources in the cluster: Report the online / offline status of the general computing server 4212 in the node computing partition, monitor the status of hardware resources (such as the utilization rate and health status of devices such as CPU, memory, disk space, and GPU) and network status to ensure unobstructed communication. Then, the administrator can make decisions by regularly querying the status information, thereby optimizing resource allocation and improving the overall efficiency of the general computing cluster.
[0113] Receive classical computing tasks and form a computing task sequence: Users can define specific computing requirements (including the required resource quantity, job running time, priority, etc.) by submitting job scripts or command-line parameters; the computing task scheduling system 3 will incorporate these job requests into the computing task queue and organize them into an ordered computing task sequence according to the current resource status and scheduling policy of the computing node partition 4, ensuring the effective utilization of resources, avoiding conflicts between jobs, and reducing unnecessary waiting time.
[0114] Schedule and execute classical computing tasks according to the scheduling policy: Support multiple scheduling optimization strategies (including first-in-first-out, priority sorting, preemptive scheduling, etc.) to adapt to different application scenarios and requirements, and can select an appropriate scheduling policy according to the actual situation of the computing node partition 4 and the user's priority requirements to ensure that critical tasks can obtain the required resources in a timely manner, thereby improving the computing efficiency of the entire computing cluster.
[0115] Obtain the execution status of classical computing tasks in real time: Users and administrators can view the status information of currently running, queuing, and completed jobs (the information includes job ID, name, status, start and end times, resource usage, etc.) through command-line tools or web interfaces.
[0116] Obtain the execution results of classical computing tasks in real time: Users can specify the path of the output file in the job script to view the results after the job execution is completed; at the same time, the system also supports the job accounting function, which can record the detailed information of each job (including resource usage, execution time, output file location, etc.), and then perform subsequent result analysis and performance tuning through this information.
[0117] Please continue to refer to Figures 5 - 7 , in this embodiment, the task scheduling execution module 314 includes a classical computing subtask optimization module 3141, a multi-task scheduling module 3142, and a quantum-electricity fusion computing subtask synchronization module 3143, where:
[0118] The classical computing subtask optimization module 3141 is used to decompose computing tasks through a parallel optimization strategy, and call the central processing unit and the graphics processing unit to run the computing tasks; through the classical computing subtask optimization module 3141, the time consumption of classical computing subtasks can be effectively reduced, and the problem of the performance bottleneck of the overall quantum-electricity fusion computing task can be solved. Specifically, the parallel optimization strategy includes:
[0119] (1) Central Processing Unit (CPU) multi-core parallel optimization: Utilize multiple cores in the central processing unit to execute multiple tasks simultaneously to speed up the computing process. In a traditional single-core processor, tasks can only be executed sequentially in order, while a multi-core processor supports splitting a large computing task into multiple subtasks and processing them in parallel on different cores; this optimization method is applicable to application scenarios where small tasks that can be decomposed into independent and parallel computations are to be calculated, such as data processing, large-scale simulation, and scientific computing, enabling the full utilization of the computing power of each core, thereby significantly reducing the overall computing time.
[0120] (2) Multi-Central Processing Unit parallel optimization: Utilize multiple central processing units to share the computing load. In a multi-central processing unit system, computing tasks can be further split and executed in parallel on different central processing units. Each central processing unit is configured with corresponding computing resources and caches, and there is no interference between them, thus greatly improving the computing speed; this method can be implemented through a distributed computing framework (such as Message Passing Interface, MPI or Open Multi-Processing, OpenMP), and can run computing tasks in parallel on multiple servers or clusters, and is applicable to computationally complex scientific research, machine learning training, and engineering problems that require extremely high computing power;
[0121] In addition, the computing efficiency and computing resource utilization can also be improved by optimizing cache utilization (such as reducing cache misses), optimizing parameters for classical computing (such as variational parameters in VQE), and reducing the load on the quantum computer.
[0122] (3) Graphics Processing Unit (GPU) Accelerated Computing: Utilizes the powerful parallel computing capabilities of the graphics processing unit to accelerate specific types of computing tasks. The graphics processing unit itself has hundreds or thousands of small processing units that can execute a large number of simple and repetitive computing tasks simultaneously, making it particularly suitable for processing computing tasks such as matrix operations, image processing, and deep learning. Compared with traditional central processing units, the graphics processing unit has significant performance advantages in processing large-scale parallel computing. By transferring some computing tasks from the CPU to the GPU and performing multi-GPU parallel computing, the computing speed can be significantly improved, especially in fields such as deep learning and big data analysis.
[0123] The multi-task scheduling module 3142 is used to map the cluster quantum computing resources 411 and classical computing resources 421 corresponding to the computing task sequence through a multi-task scheduling strategy, and allocate the quantum computer 4112 and classical computer 4212 as the computing cores. After regarding different computing devices in the cluster as individual computing cores, the scheduling optimization problem is transformed into the problem of how to map the multi-task computing sequence to the computing cores. Therefore, various common scheduling optimization strategies or custom scheduling optimization strategies can be adopted. Specifically, the multi-task scheduling strategy includes:
[0124] (1) Pipeline Scheduling Strategy: In the pipeline parallel optimization scheme, the core method is to regard the originally sequentially executed subtasks as different stages of the pipeline, and then parallelize these subtasks at different stages on different computing devices, enabling each computing device to work simultaneously at different stages, thereby improving the overall throughput. First, for the dependency relationship of the quantum-electricity fusion computing subtasks, split the large quantum-electricity fusion computing task into several stages, with each stage processing a subtask and ensuring that the dependency relationship between each stage is reasonably handled (for example, the first stage of the task can be executed on device A, the second stage can be executed on device B, and so on). In this way, although the execution of each subtask depends on the result of the previous subtask, through the pipeline method, the subsequent stages can start preparing work in advance before the previous stage's calculation is completed, thereby reducing idle time and improving efficiency.
[0125] Furthermore, to ensure the effect of pipeline parallel optimization, it is necessary to achieve a reasonable division of tasks, ensure that the computational amount and execution time of each subtask are roughly balanced, and avoid certain stages becoming bottlenecks. Therefore, through a dynamic load balancing algorithm, the allocation status of computing resources can be adjusted in real time according to the computational load of each stage (for example, if a certain stage has a longer computational time, more computing resources can be configured at this stage to prevent the delay of this stage from affecting the overall throughput of the pipeline).
[0126] In addition, to address delays during task execution and dependencies between different stages, buffers need to be set at each stage in the pipeline. These buffers are used to temporarily store the computation results of the previous stage and wait for processing by the next stage. The design of the buffers needs to ensure the order of data and avoid data loss or duplicate processing. A reasonably designed buffer can effectively reduce the idle time caused by waiting between tasks and further improve the throughput of the pipeline.
[0127] In addition, besides buffers, a flow control mechanism also needs to be set up. When tasks are executed in parallel in the pipeline, it is necessary to ensure smooth data transfer between different stages. After each stage is completed, the next stage should be notified to start working through semaphores or other synchronization mechanisms, while avoiding excessive waiting time. For tasks with dependencies, the producer-consumer model can be adopted to coordinate the data flow between stages, ensuring that each stage is not blocked and each task can be processed in a timely manner.
[0128] Finally, according to the characteristics of different computing devices, the hardware resources also need to be optimized. The allocation of computing resources can be adjusted at each stage of the pipeline according to the computational complexity of the task (for computationally intensive tasks, more powerful computing devices can be selected; for data transfer intensive tasks, devices with higher bandwidth can be selected).
[0129] (2) Intelligent selection of scheduling strategies: In addition to pipeline scheduling, appropriate scheduling optimization strategies can also be selected based on task characteristics (such as execution time, period, deadline requirements, priority, etc.), system requirements (such as fairness, response time, throughput, etc.) or other metrics (such as task arrival pattern, energy efficiency and power consumption during computation, predictability of task execution time, etc.). These strategies include: First-Come, First-Served (FCFS), Round Robin (RR), Shortest Job First (SJF), Priority Scheduling (PS), Rate Monotonic (RM), Least Laxity First (LLF), Earliest Deadline First (EDF), etc.
[0130] Optionally, the present application can also use other scheduling strategies: for example, according to whether the task supports interruption and allows other tasks to preempt computing resources, preemptive and non-preemptive scheduling algorithms can be used respectively for scheduling optimization.
[0131] (3) User-specified scheduling policy: To make it more convenient for users, the user can also select the above task scheduling policy by themselves to meet the user's customization needs. Actually, when tasks are dispatched, the scheduling policy selected by the user will be sent to the scheduling system as a data item. In this way, before the scheduling system performs intelligent scheduling, it will first detect whether the user has specified a scheduling policy. If so, the scheduling policy will be executed according to the user's requirements; otherwise, intelligent scheduling will be performed.
[0132] The power-quantity fusion calculation subtask synchronization module 3143 is used to mark the task numbers corresponding to the subtasks after the power-quantity fusion calculation task is disassembled through the task synchronization policy, and synchronize the execution order and dependency relationship of the calculation task sequences corresponding to the subtasks. After the power-quantity fusion calculation task is parsed into multiple subtasks, these subtasks have a sequential relationship. The execution of one subtask depends on the calculation result of the previous subtask. Therefore, after the subtask in the front position synchronizes the calculation result with its adjacent subsequent subtask, these two calculation tasks can continue to execute. When the power-quantity fusion calculation task is parsed, the task numbers in the front and back will be marked for these tasks, and the task scheduler will ensure the order and dependency relationship of the tasks. Specifically, the task synchronization policy includes:
[0133] Using a message queue or event-driven model. In this mode, after each subtask is completed, it will notify the subsequent subtasks through a message queue or event notification mechanism (for example, using a message queue system such as RabbitMQ or Kafka to transfer the calculation result as a message to the input queue of the next subtask), ensuring that the subtask in the back position will only be triggered when the subtask in the front position is completed and the calculation result is successfully transferred. This method ensures the correct synchronization between tasks through asynchronous message communication.
[0134] In addition, shared memory, distributed file systems, or object storage can also be used to achieve the sharing and synchronization of task results. In a distributed computing environment, the calculation results of subtasks usually need to be accessed and used by multiple computing devices. By setting up a shared storage mechanism, such as a distributed file system (such as Hadoop Distributed File System, HDFS or Ceph File System, CephFS and other distributed storage systems), memory sharing (such as RemoteDictionaryServer, Redis, Memcached and other caching systems), or object storage (such as MinIO, Sample StrageService, S3 and other object storage services), the results of the previous subtask can be read by subsequent tasks, and the synchronization operation usually uses a lock mechanism or semaphore to ensure that the access to data between different tasks is thread-safe.
[0135] Please continue to refer toFigures 6 - 8 , in this embodiment, the computing node partition 4 includes a quantum computing partition 41 and a classical computing partition 42; the quantum computing partition 41 includes a cluster quantum computing resource 411, and the cluster quantum computing resource 411 includes a quantum computing scheduling agent 4111 and a quantum computer 4112; the classical computing partition 42 includes a general service computing resource 421, and the general service computing resource 421 includes a general resident scheduling agent 4211 and a general computing server 4212:
[0136] Exemplarily, for the quantum computing partition 41, each quantum computer 4112 corresponds to a quantum computing scheduling agent 4111, which is used to receive the quantum computing tasks issued by the computing task scheduling system 3, and the quantum computing scheduling agent 4111 is responsible for the specific execution calculation of the quantum computing tasks on the quantum computer 4112; similarly, for the classical computing partition 42, each general computing server 4212 corresponds to a general resident scheduling agent 4211, which is used to receive the classical computing tasks (including general computing tasks and parallel computing tasks) issued by the computing task scheduling system 3, and the general resident scheduling agent 4211 is responsible for the specific execution calculation of the classical computing tasks on the general computing server 4212. After the execution is completed, the calculation results of all subtasks (including quantum computing tasks and classical computing tasks) in the computing task sequence are fed back to the computing task scheduling system 3, and then the computing task scheduling system 3 performs through the scheduling adapter 11 service to display the task execution situation to the user, and the user can modify the task according to the task execution result information or error message.
[0137] The embodiment of the present application also provides a quantum computer-readable storage medium, in which one or more quantum computer-executable instructions are stored. When the quantum computer-executable instructions are executed by a quantum computer, the above-mentioned quantum-classical computing collaborative scheduling system is implemented.
[0138] Therefore, the embodiments disclosed herein may include a quantum computer operating system, a quantum computer, and / or a quantum computer program product. The quantum computer program product may include a computer-readable storage medium having executable commands of the quantum computer operating system stored thereon.
[0139] A quantum computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A quantum computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the quantum computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device, such as a punched card or raised structures in grooves having instructions stored thereon, and any suitable combination of the foregoing.
[0140] The executable instructions described herein for the quantum computer 4112 can be downloaded from the quantum computer-readable storage medium to respective quantum computing / processing devices, or downloaded to an external quantum computer or an external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include a copper transmission cable, an optical fiber transmission, a wireless transmission, a router, a firewall, a switch, a gateway computer, and / or an edge server. A network adapter card or network interface in each quantum computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing / processing device.
[0141] The executable instructions for implementing the quantum computer operating system can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, status setting data, or source code, intermediate code, or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the C language or similar programming languages. The executable instructions can be executed entirely on the quantum computer, partially on the quantum computer, executed as an independent software package, partially on the local quantum computer and partially on a remote quantum computer, or executed entirely on a remote quantum computer or server. In cases involving a remote quantum computer, the remote quantum computer can be connected to the local quantum computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external quantum computer 4112 (e.g., by using an Internet service provider to connect through the Internet). In some embodiments, by using the status information of the executable instructions of the quantum computer to customize an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute the executable instructions of the quantum computer, thereby implementing the various embodiments herein.
[0142] An embodiment of the present invention further provides an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0143] Specifically, the above electronic device may further include a transmission device and an input / output device, where the transmission device is connected to the above processor, and the input / output device is connected to the above processor.
[0144] Finally, it should be noted that the above are only the preferred embodiments of the present invention and are not used to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, for those skilled in the art, they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for scheduling quantitative and electrical fusion computing tasks, characterized in that: include: S100, receiving a computing task; S200, identifying a quantum-electricity fusion computing task from the computing tasks, and separately analyzing the quantum-electricity fusion computing task to decompose it into a quantum computing task and a classical computing task; S300, receiving the quantum computing task and the classical computing task and sending them to corresponding computing node partitions, where the computing node partitions include quantum computing partitions and classical computing partitions; S400, scheduling computing nodes matching the quantum computing task amount in the quantum computing partition to perform computing tasks according to the quantum computing task amount; And according to the amount of classic computing tasks, a computing node matching the amount of classic computing tasks is scheduled in the classic computing partition to execute computing tasks.
2. The method for scheduling quantitative-electrical fusion computing tasks according to claim 1 is characterized in that: The S300 includes: S310, receiving the quantum computing task and the classical computing task, creating a corresponding computing task sequence based on a task synchronization strategy and marking the task sequence number, and polling and updating the health status of cluster quantum computing resources; S320, optimizing the classical computing tasks based on a parallel optimization strategy, and mapping the computing node partitions corresponding to the computing task sequence based on a multi-task scheduling strategy; S330, issuing a computing task sequence marked with a task sequence number.
3. The method for scheduling quantitative-electrical fusion computing tasks according to claim 1, characterized in that: The S400 includes: S410, receiving the disassembled computing task sequence with the marked task sequence number, scheduling the computing nodes matching the quantum computing task amount in the quantum computing partition to perform the computing tasks according to the computing task amount, and scheduling the computing nodes matching the classical computing task amount in the classical computing partition to perform the computing tasks according to the classical computing task amount; S420, monitor in real time whether each subtask of the computing task sequence is calculated step by step in the order of the labels, and track and feedback the health status of the cluster quantum computing resources, the job execution request status and the computing task results.
4. The method for scheduling quantitative-electrical fusion computing tasks according to claim 3 is characterized in that: The S410 includes: S411, receiving the disassembled computing task sequence with marked task numbers, and determining whether to specify a multi-task scheduling strategy; S412, analyzing and optimizing the task sequence task calculation task amount based on the parallel optimization strategy; S413, according to the quantum computing task amount, scheduling computing nodes matching the quantum computing task amount in the quantum computing partition to perform computing tasks, and according to the classical computing task amount, scheduling computing nodes matching the classical computing task amount in the classical computing partition to perform computing tasks.
5. The method for scheduling quantitative-electrical fusion computing tasks according to claim 3 is characterized in that: The S420 includes: S421, real-time detection of whether the subtask with a front number in the calculation task sequence has obtained a calculation result, and after obtaining the calculation result, the calculation result is transmitted to the subtask with a back number in the calculation task sequence; S422, determining in real time whether the subtask with a front number in the calculation task sequence has successfully delivered the calculation result, and if the calculation result is successfully delivered, the subtask with a back number in the calculation task sequence is triggered to start calculation; S423, detect whether all subtasks have been calculated, and track and provide feedback on the health status of cluster quantum computing resources, job execution request status and computing task results in real time.
6. A quantitative and electrical fusion computing task scheduling system, characterized in that: include: The computing service platform is used to provide a visual operation interface, submit computing tasks to the computing task analysis system, and query the health status of cluster quantum computing resources, job execution request status, and computing task results; The computing task analysis system is used to screen and classify computing task types, analyze and disassemble the quantity-electricity fusion computing tasks separately, and send the computing tasks to the computing task scheduling system; The computing task scheduling system is used to schedule and optimize the computing task sequence, send the computing task sequence to the corresponding computing node partition, monitor and receive the returned computing node partition operation status, job execution request status and computing task results in real time, and feed them back to the computing service platform; Computing node partitions are used to execute computing tasks and provide feedback on the health status of cluster quantum computing resources, job execution request status, and computing task results.
7. The quantitative-electrical fusion computing task scheduling system according to claim 6 is characterized in that: The computing tasks include classical computing tasks, quantum computing tasks and quantum-electric fusion computing tasks, and the classical computing tasks include general computing tasks and parallel computing tasks; The computing service platform is provided with a scheduling adapter, and the computing service platform sends the computing task to the computing task scheduling system through the scheduling adapter service process; The computing task analysis system analyzes the quantum-electric fusion computing task separately and breaks it down into a classical computing task and a quantum computing task.
8. The quantitative-electrical fusion computing task scheduling system according to claim 6 is characterized in that: The computing task scheduling system comprises: Quantum computing functional modules are used to schedule quantum computing tasks and manage quantum computing resources; The classical computing functional module is used to schedule classical computing tasks and manage classical computing resources.
9. The quantitative-electrical fusion computing task scheduling system according to claim 6 is characterized in that: The quantum computing functional modules include: The public interface module is used to connect to the computing service platform and the computing task scheduling system, issue query requests and receive request results; Resource management module, used to manage quantum computers in the quantum computing resources of the computing node partition cluster, and poll and update the health status information of the cluster quantum computing resources; The task management module is used to receive the job execution request, create and issue the computing task sequence, and save and return the computing task results; The task scheduling execution module is used to receive the issued computing task sequence, call and query the health status information of the cluster quantum computing resources, and allocate computing tasks according to the scheduling optimization strategy.
10. The quantitative-electrical fusion computing task scheduling system according to claim 9 is characterized in that: The task scheduling execution module includes: The classic computing subtask optimization module is used to decompose computing tasks through parallel optimization strategies and call the central processing unit and graphics processing unit to run computing tasks; The multi-task scheduling module is used to map the computing task sequence to the corresponding cluster computing resources for computing through the multi-task scheduling strategy; The subtask synchronization module of the quantitative-electrical fusion computing is used to mark the task numbers corresponding to the subtasks after the quantitative-electrical fusion computing task is disassembled through the task synchronization strategy, and synchronize the execution order and dependency relationship of the computing task sequence corresponding to the subtasks.
11. The quantitative-electrical fusion computing task scheduling system according to claim 6 is characterized in that: The computing node partitions include quantum computing partitions and classical computing partitions; The quantum computing partition includes cluster quantum computing resources, and the cluster quantum computing resources include a quantum computing scheduling agent and a quantum computer; The classic computing partition includes general service computing resources, and the general service computing resources include a general resident scheduling agent and a general computing server.