Over fusion computing power scheduling system and task processing method based on directed acyclic graph
By adopting a super-fusion computing power scheduling system based on directed acyclic graphs in the quantum computing system, splitting the tasks into quantum and classical tasks and generating execution graphs, the problem of low resource management and scheduling efficiency in the existing technology is solved, and efficient computing task processing and system performance improvement is achieved.
Patent Information
- Application Number
- CN202411498892.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-25
- Publication Date
- 2025-03-21
AI Technical Summary
In the prior art, the management efficiency and scheduling efficiency of quantum computing power resources and classic computing power resources are low, resulting in low computing task processing efficiency.
Using the over-converged computing power scheduling system based on directed acyclic graphs, the task splitting module, execution graph generation module and quantum-classic computing power resource module are used to split the computing tasks into quantum task operators and classic task operators, and the execution graph is generated and task computing power resources are allocated to optimize the task execution order and resource allocation.
It realizes effective management and scheduling of quantum computing resources and classical computing resources, reduces the processing time of computing tasks, improves the processing efficiency of computing tasks and the overall performance of the system.
Smart Images

Figure CN119668834A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of quantum computing, and more specifically, to an over-fusion computing power scheduling system and task processing method based on a directed acyclic graph. Background Art
[0002] In the era of medium-scale noise, the advantages of quantum computers and classical computers are usually combined to integrate computing tasks, which can improve the processing efficiency of tasks. However, in related technologies, the management efficiency and scheduling efficiency of quantum computing resources and classical computing resources are low, and how to improve task processing efficiency is an urgent problem to be solved. Summary of the invention
[0003] The present application provides an over-fusion computing power scheduling system and task processing method based on a directed acyclic graph.
[0004] The embodiment of the present application provides a directed acyclic graph-based super-fusion computing power scheduling system, which includes a task splitting module, an execution graph generation module, and a quantum-classical computing power resource module;
[0005] The task splitting module is configured to split the input computing task and determine a plurality of task operators, wherein the task operators include quantum task operators and classical task operators;
[0006] The execution graph generation module is configured to determine an execution graph based on the directed acyclic graph and according to the dependency relationship between the plurality of task operators;
[0007] The quantum-classical computing power resource module is configured to determine the task computing power resources allocated to each of the task operators according to the execution graph to process the computing task.
[0008] Thus, the present application provides an over-fusion computing power scheduling system based on a directed acyclic graph, and the over-fusion computing power scheduling system includes a task splitting module, an execution graph generation module and a quantum-classical computing power resource module. Among them, the task splitting module is configured to split the input computing task and determine multiple task operators, and the task operators include quantum task operators and classical task operators. The execution graph generation module is configured to determine the execution graph based on the directed acyclic graph according to the dependencies between multiple task operators, and determine the order and dependencies of the execution of the computing tasks. The quantum-classical computing power resource module is configured to determine the task computing power resources assigned to each task operator according to the execution graph to process the computing tasks. In this way, through this over-fusion computing power scheduling system based on a directed acyclic graph, effective management and scheduling of quantum computing resources and classical computing resources can be achieved, the computing task processing time can be reduced, and the processing efficiency of computing tasks and the overall performance of the system can be improved. This super-fusion computing power scheduling system is suitable for medium-sized noisy quantum computers because it can intelligently allocate and schedule resources to reduce the impact of noise on computing results and efficiently utilize the respective advantages of quantum computers and classical computers.
[0009] In some embodiments, the super-convergent computing power scheduling system further includes a containerization module;
[0010] The containerization module is configured to determine the running environment of the computing task based on a preset isolation mechanism.
[0011] In this way, the super-converged computing power scheduling system also includes a containerization module, which can determine the operating environment of the computing task based on the preset isolation mechanism. In this way, the preset isolation mechanism ensures that different computing tasks will not interfere with each other, and each computing task runs in its own container with an independent file system, network and process space. In addition, by containerizing the computing task running environment through the containerization module, it can be ensured that the computing task has a consistent operating environment when running on different computing platforms. In addition, through the containerization module, relevant technicians can easily create, start, stop and destroy containers, as well as manage the life cycle of containers. In the super-converged computing power scheduling system, the containerization module works closely with the task splitting module, the execution graph generation module and the quantum-classical computing power resource module to jointly ensure efficient and stable processing of computing tasks, reduce invalid and redundant resource usage, and thus reduce operating costs.
[0012] In some embodiments, the task operator includes input information and output information, and the execution graph generation module is configured to:
[0013] Dependencies between the plurality of task operators are determined according to the input information and the output information, so as to determine the execution graph according to the dependency relationships.
[0014] In this way, the task operator includes input information and output information, and the execution graph generation module can determine the dependencies between multiple task operators based on the input information and output information, so as to determine the execution graph based on the dependencies. In this way, through the generated execution graph, the execution graph generation module provides a clear execution plan for the super-converged computing power scheduling system, ensuring that the task operators can be executed in the correct order and dependencies, ensuring the efficiency and accuracy of processing computing tasks. In addition, through the independence of the task operators and the clear structure of the execution graph, when an execution error occurs, the problem can be quickly located and handled, improving the overall system stability and reliability.
[0015] In some embodiments, the task operator further includes a session task operator, and the quantum-classical computing power resource allocation module is configured as follows:
[0016] The task computing power resources are locked according to the session task operator.
[0017] In this way, the task operator also includes the session task operator, and the quantum-classical computing power resource allocation module can lock the task computing power resources according to the session task operator. In this way, by locking the task computing power resources through the session task operator, the quantum-classical computing power resource allocation module can ensure that the required computing power resources can be used efficiently and stably in the process of processing computing tasks, thereby improving the efficiency and reliability of processing computing tasks.
[0018] In some embodiments, the super-converged computing power scheduling system further includes an execution graph modification module, and the execution graph modification module is configured to:
[0019] In response to the modification operation of the computing task, a non-target position in the execution graph is locked based on a logical lock to modify the target position in the execution graph, wherein the target position is used to indicate a position to be modified in the execution graph.
[0020] In this way, the super-converged computing power scheduling system also includes an execution graph modification module, which can lock the non-target position in the execution graph based on the logical lock in response to the modification operation of the computing task, so as to modify the target position in the execution graph, wherein the target position is used to indicate the position to be modified in the execution graph. In this way, the execution graph modification module provides flexibility and adaptability for the super-converged computing power scheduling system, so that the system can dynamically adjust and optimize the execution plan during the execution of the computing task, and ensure the efficiency and accuracy of processing the computing task.
[0021] In some embodiments, the task operator further includes execution log information, and the super-convergent computing power scheduling system further includes a monitoring module;
[0022] The monitoring module is configured to monitor and analyze the processing status of the task operator according to the execution log information.
[0023] In this way, the task operator also includes execution log information, and the super-convergent computing power scheduling system also includes a monitoring module. The monitoring module can monitor and analyze the processing status of the task operator based on the execution log information. In this way, the monitoring module can provide real-time monitoring and analysis capabilities for the super-convergent computing power scheduling system, ensuring the efficiency and reliability of processing computing tasks.
[0024] The embodiment of the present application provides a task processing method, which is based on the above-mentioned super-fusion computing power scheduling system, and the method includes:
[0025] Splitting the input computing task to determine a plurality of task operators, wherein the task operators include quantum task operators and classical task operators;
[0026] Based on the directed acyclic graph, determining an execution graph according to dependency relationships between the plurality of task operators;
[0027] Determine the task computing resources allocated to each of the task operators according to the execution graph;
[0028] The computing task is processed according to the execution graph and the task computing power resources.
[0029] Thus, the embodiment of the present application also provides a task processing method. First, the input computing task is split and processed to determine multiple task operators, which include quantum task operators and classical task operators. Next, based on the directed acyclic graph, an execution graph is determined according to the dependency relationship between multiple task operators. Then, the task computing power resources allocated to each task operator are determined according to the execution graph. Finally, the computing task is processed according to the execution graph and the task computing power resources. In this way, the super-fusion computing power scheduling system can realize the effective management and scheduling of quantum computing resources and classical computing resources, and improve the processing efficiency of computing tasks and the overall performance of the system.
[0030] In some embodiments, the task operator includes input information and output information, and determining the execution graph based on the directed acyclic graph according to the dependency relationship between the plurality of task operators includes:
[0031] Dependencies between the plurality of task operators are determined according to the input information and the output information, so as to determine the execution graph according to the dependency relationships.
[0032] In this way, the task operator includes input information and output information, and the dependency between multiple task operators is determined based on the input information and output information, so as to determine the execution graph based on the dependency. In this way, the dependency between multiple task operators can be determined through the input information and output information of the task operator, and an execution graph can be generated. Based on this generated execution graph, the super-converged computing power scheduling system can ensure that the task operators are executed in the correct order while maximizing parallelism and resource utilization.
[0033] In some implementations, the task operator further includes a session task operator, and the method further includes:
[0034] The task computing power resources are locked according to the session task operator.
[0035] In this way, the task operator also includes the session task operator, and the task computing resources are locked according to the session task operator. In this way, by locking the task computing resources through the session task operator, the super-convergent computing scheduling system can ensure that the required task computing resources can be used efficiently and stably in the process of processing computing tasks, thereby improving the efficiency and reliability of processing computing tasks.
[0036] In certain embodiments, the method further comprises:
[0037] In response to the modification operation of the computing task, a non-target position in the execution graph is locked based on a logical lock to modify the target position in the execution graph, wherein the target position is used to indicate a position to be modified in the execution graph.
[0038] In this way, in response to the modification operation of the computing task, the non-target position in the execution graph is locked based on the logical lock to modify the target position in the execution graph, wherein the target position is used to indicate the position to be modified in the execution graph. In this way, when adjusting and optimizing dynamically changing computing tasks, through this method, the super-converged computing power scheduling system can flexibly respond to the modification operation of the computing task and ensure the stability and consistency of the execution graph.
[0039] Additional aspects and advantages of the embodiments of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the embodiments of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0041] Figure 1 It is a schematic diagram of the architecture of the super-fusion computing power scheduling system of certain implementation modes of the present application;
[0042] Figure 2 is a schematic diagram of an execution graph generated by an execution graph generation module in certain embodiments of the present application;
[0043] Figure 3 It is one of the flowcharts of the information generation method of certain embodiments of the present application;
[0044] Figure 4 This is the second flow chart of the information generation method of certain implementation modes of the present application;
[0045] Figure 5 This is the third flow chart of the information generation method of certain implementation modes of the present application;
[0046] Figure 6 This is the fourth flow chart of the information generation method of certain implementation modes of the present application;
[0047] Figure 7 It is a schematic diagram of an execution diagram of an example of an information generation method of certain embodiments of the present application. DETAILED DESCRIPTION
[0048] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals represent the same or similar elements or elements having the same or similar functions from beginning to end. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the embodiments of the present application, and cannot be understood as limiting the embodiments of the present application.
[0049] In the current era of medium-scale noisy quantum computing, combining the advantages of quantum computers and classical computers to perform fusion processing of computing tasks has become an effective way to improve task processing efficiency. Quantum computers are good at processing certain types of computing tasks, such as quantum simulation, integer factorization, etc., while classical computers perform better in other types of tasks, such as traditional database operations, graphics rendering, etc. By combining these two computing resources, efficient processing of computing tasks can be achieved.
[0050] However, although combining the respective advantages of quantum computers and classical computers can improve task processing efficiency, the management efficiency and scheduling efficiency of existing quantum computing resources and classical computing resources are still low due to task dependency, resource heterogeneity, noise and error rate.
[0051] The era of medium-scale noisy quantum computing refers to a stage in the development of quantum computers. In this stage, the number of quantum bits in quantum computers is medium-sized, usually between dozens and hundreds, and they are able to perform certain tasks that are difficult for classical computers to handle, such as certain quantum simulation problems. In this stage, due to technical limitations and the instability of quantum bits, quantum computers are susceptible to noise when performing computing tasks.
[0052] Task dependency refers to the possible dependency between quantum computing tasks and classical computing tasks. Therefore, the dependency between tasks needs to be considered when scheduling resources to ensure that computing tasks can be executed correctly and efficiently.
[0053] Resource heterogeneity refers to the significant differences between quantum computers and classical computers in hardware architecture, operating mechanism, and programming model. Resource heterogeneity makes resource management and scheduling between quantum computers and classical computers more complicated.
[0054] Noise and error rate refer to the fact that medium-sized noisy quantum computers have high error rates and noise interference, which requires consideration of error correction and noise suppression strategies when scheduling resources, thereby increasing the complexity of scheduling.
[0055] Based on the above questions, please refer to Figure 1 The embodiment of the present application provides a directed acyclic graph-based super-fusion computing power scheduling system 100, and the super-fusion computing power scheduling system 100 includes a task splitting module 10, an execution graph generation module 20 and a quantum-classical computing power resource module 30.
[0056] Among them, the task splitting module 10 is configured to split the input computing task and determine multiple task operators, which include quantum task operators and classical task operators.
[0057] The execution graph generation module 20 is configured to determine the execution graph based on the directed acyclic graph and according to the dependency relationship between multiple task operators.
[0058] The quantum-classical computing power resource module 30 is configured to determine the task computing power resources allocated to each task operator according to the execution graph to process the computing task.
[0059] Specifically, a directed acyclic graph (DAG) is a data structure consisting of elements such as nodes, edges, directed and acyclic. Among them, nodes are the basic elements in the graph, used to represent entities or events. Edges are line segments connecting two nodes, representing the relationship or dependency between nodes. Directed means that each edge has a direction, indicating the directionality of the relationship. Acyclic means that there is no closed path in the graph, that is, starting from any node, it is impossible to return to the node along the edge direction. A directed acyclic graph can clearly represent the dependency relationship between nodes, and there is no circular dependency.
[0060] The task operator is the basic unit of scheduling and execution in the super-fusion computing power scheduling system 100 provided in this application. By splitting the input computing tasks, multiple task operators are obtained. Each task operator represents a specific computing function or operation, such as data processing, quantum computing simulation, classical algorithm execution, etc. There can be dependencies between task operators, that is, the execution of some task operators may depend on the output of other task operators. The super-fusion computing power scheduling system 100 optimizes the execution order and resource allocation of computing tasks by analyzing the characteristics and requirements of task operators, as well as the dependencies between them, thereby improving the efficiency and reliability of the overall computing tasks. Task operators include quantum task operators, classical task operators, and session task operators. Quantum task operators may be quantum circuits to be processed, etc. Classical task operators refer to task operators that can be processed using classical operator resources.
[0061] Dependency means that if there are two task operators A1 and A2, if task operator A2 needs the output of task operator A1 as input, then task operator A2 depends on task operator A1.
[0062] An execution graph refers to a directed acyclic graph consisting of multiple task operators obtained after a computing task is split and processed according to their dependencies.
[0063] Task computing resources refer to computing resources allocated to task operators, including one or more of quantum computing resources, classical computing resources, dedicated hardware resources, storage resources, and network resources, determined according to actual needs. Quantum computing resources refer to quantum bits, quantum processors (QPU), etc., which can perform quantum computing tasks. Classical computing resources refer to central processing units (CPU), graphics processing units (GPU), tensor processing units (TPU), etc., which can perform classical computing tasks. Dedicated hardware resources refer to field-programmable gate arrays (FPGA), application-specific integrated circuits (ASIC), etc., which can be optimized for specific types of computing tasks. Storage resources refer to memory, hard disks, etc., which can store data and intermediate results of computing tasks. Network resources refer to bandwidth, latency, etc., which can affect the transmission efficiency of task data.
[0064] The super-convergent computing power scheduling system 100 is based on a predefined operating environment specification, in which an input folder, an output folder, and an execution log folder are reserved. The input folder is used to store the input data of the task, the output folder is used to store the output results of the task, and the execution log folder is used to store the execution log of the task. In addition, the operating environment specification also provides a set of standard interfaces and APIs for the input, output, and logging of tasks. These interfaces and APIs can ensure the environmental independence and consistency between different computing tasks. In addition, this operating environment specification also includes one or more configuration files for defining the parameters and configurations of the tasks. When the user modifies these configuration files as needed, the execution behavior of the computing tasks can be customized. The operating environment specification also defines a series of environment variables for controlling the execution environment and behavior of the calculation. Users can implement specific task configurations by modifying environment variables.
[0065] This predefined operating environment specification defines the quantum environment, the canonical classical environment, and the canonical session environment. Based on this quantum environment, when the user uploads the selected quantum computing task to the input folder, the environment will automatically recognize these files and submit the task to the quantum computing resource for execution. In this quantum environment, the necessary quantum computing software libraries and hardware interfaces are preinstalled, which can efficiently process quantum computing tasks and output the results to the specified output folder. In this way, users do not need to care about the underlying quantum hardware details and can focus on the development of quantum algorithms.
[0066] The classic environment provides a basic system environment, common high-level programming languages such as Python and C++, and common computing libraries such as PyTorch and NumPy. PyTorch is an open source machine learning library used for applications such as deep learning and natural language processing. NumPy is an open source Python library used for scientific computing. In addition, users can modify or add the required computing libraries, computing tools, and programming languages according to actual needs. When users upload their own code and data, these codes and data will be automatically executed in this classic environment to process classic computing tasks. In this classic environment, users can adjust the environment configuration according to different computing needs to improve computing efficiency.
[0067] The session environment is built on the basis of the classical environment. The session environment provides a session function, which allows users to lock quantum computing resources for a period of time and only execute quantum computing tasks submitted in the current session. During the session, users can continue to submit quantum computing tasks, and the system will automatically manage the execution of these tasks. In this way, the session environment is particularly useful for quantum computing tasks such as variational quantum eigensolvers that require frequent quantum-classical interactions. It can reduce the initialization overhead and communication overhead of quantum computers and improve computing efficiency and resource utilization.
[0068] Quantum circuit is a concept in quantum computing that is used to describe the order of operations between quantum bits and the way quantum gates are connected. A quantum circuit consists of a series of quantum gates that act on quantum bits in a certain order to implement specific quantum algorithms or operations.
[0069] Quantum gate is the basic operation unit of quantum computing, which can transform the state of quantum bits and realize the processing of quantum information. The function of quantum gate is to create entanglement between quantum bits or change the superposition state of quantum bits.
[0070] Please refer to Figure 2 After the user submits computing task B, the task splitting module 10 in the super-convergent computing power scheduling system 100 splits computing task B to obtain task operators B1, B2, B3, B4, B5, B6 and B7. Among them, task operators B1, B2, B4 and B7 are classical task operators, task operator B3 is a quantum task operator, and task operator B6 is a session task operator.
[0071] Next, the execution graph generation module 20 generates an execution graph C1 according to the dependency relationship between the above-mentioned task operators B1, B2, B3, B4, B5, B6 and B7. The execution graph C1 is a directed acyclic graph that determines the execution order of the task operators.
[0072] Finally, the quantum-classical computing power resource module 30 determines the task computing power resource D1 assigned to the task operator B1, the task computing power resource D2 assigned to the task operator B2, the task computing power resource D3 assigned to the task operator B3, the task computing power resource D4 assigned to the task operator B4, the task computing power resource D5 assigned to the task operator B5, the task computing power resource D6 assigned to the task operator B6, and the task computing power resource D7 assigned to the task operator B7 according to the execution graph C1, and processes these task operators according to these assigned task computing power resources.
[0073] For clarification, please refer to Figure 2 When processing each task operator according to the execution graph C1, first obtain the nodes with in-degree 0 in the execution graph, that is, the task operators that do not rely on the output information of other task operators as input information. In this embodiment, the task operators with in-degree 0 include the classic task operator B1 and the classic task operator B4. Then, the computing tasks are processed from these nodes with in-degree 0 at the same time.
[0074] It should be noted that the task computing resources allocated by the quantum-classical computing resource module 30 are not determined and remain unchanged after allocation, but the computing resources are allocated dynamically. For example, if it is found during the execution process that the task computing resources D2 allocated to the task operator B2 are insufficient and the efficiency of executing the task operator B2 is not enough, the task computing resources D2 allocated to the task operator B2 will be increased. If it is found during the execution process that the task computing resources D4 allocated to the task operator B4 are too much, a lot of operator resources are wasted, and the task computing resources D4 allocated to the task operator B4 will be reduced. In this way, the utilization rate of computing resources and the execution efficiency of the overall task are improved.
[0075] In summary, the present application provides an over-fusion computing power scheduling system 100 based on a directed acyclic graph, and the over-fusion computing power scheduling system 100 includes a task splitting module 10, an execution graph generation module 20 and a quantum-classical computing power resource module 30. Among them, the task splitting module 10 is configured to split the input computing task and determine multiple task operators, and the task operators include quantum task operators and classical task operators. The execution graph generation module 20 is configured to determine the execution graph based on the directed acyclic graph according to the dependencies between multiple task operators, and determine the order and dependencies of the execution of the computing tasks. The quantum-classical computing power resource module 30 is configured to determine the task computing power resources assigned to each task operator according to the execution graph to process the computing tasks. In this way, through this over-fusion computing power scheduling system 100 based on a directed acyclic graph, effective management and scheduling of quantum computing resources and classical computing resources can be achieved, the computing task processing time can be reduced, and the processing efficiency of computing tasks and the overall performance of the system can be improved. This super-fusion computing power scheduling system 100 is suitable for medium-sized noisy quantum computers because it can intelligently allocate and schedule resources to reduce the impact of noise on computing results and efficiently utilize the respective advantages of quantum computers and classical computers.
[0076] Please refer to Figure 1 , In some embodiments, the super-convergent computing power scheduling system 100 further includes a containerization module 40;
[0077] The containerization module 40 is configured to determine the running environment of the computing task based on a preset isolation mechanism.
[0078] Specifically, the preset isolation mechanism refers to containerization technologies such as Docker or Containerd, which can provide an independent operating environment for each computing task, ensuring that different computing tasks do not interfere with each other. Each computing task runs in its own container and has an independent file system, network, and process space.
[0079] Docker is an open platform that allows users to package an application and its dependencies in a lightweight, portable container that can run consistently almost anywhere.
[0080] Containerd is a high-level container runtime separated from the Docker project and implements the CRI specification. Docker uses Containerd to manage containers, and Containerd can be used directly by higher-level systems such as Kubernetes.
[0081] The super-converged computing power scheduling system 100 also includes a containerization module 40. After obtaining the computing task, the containerization module 40 can determine the operating environment of the computing task based on the preset isolation mechanism. In some embodiments, for specific task requirements, software tools such as C++ compiler tools, OpenSSL, and Python libraries such as PyTorch and NumPy are pre-installed in the containerized operating environment.
[0082] In this way, a preset isolation mechanism is used to ensure that different computing tasks will not interfere with each other. Each computing task runs in its own container and has an independent file system, network, and process space. In addition, by containerizing the computing task running environment through the containerization module 40, it can be ensured that the computing task has a consistent running environment when running on different computing platforms. In addition, through the containerization module 40, relevant technicians can easily create, start, stop and destroy containers, as well as manage the life cycle of containers. In the super-fusion computing power scheduling system 100, the containerization module 40 works closely with the task splitting module 10, the execution graph generation module 20, and the quantum-classical computing power resource module 30 to jointly ensure efficient and stable processing of computing tasks.
[0083] Please refer to Figure 1 In some implementations, the task operator includes input information and output information, and the execution graph generation module 20 is configured to:
[0084] Dependencies between multiple task operators are determined based on input information and output information, so as to determine an execution graph based on the dependencies.
[0085] Specifically, input information can be regarded as data information or resources required for the execution of task operators, and output information refers to the data information obtained by executing task operators.
[0086] Continuing with the above example, the input information of the classical task operator B2 and the input information of the quantum task operator B3 both depend on the output information of the classical task operator B1. The input information of the classical task operator B5 depends on the output information of the classical task operator B2, the output information of the quantum task operator B3, and the output information of the classical task operator B4. The input information of the conversation task operator B6 depends on the output information of the classical task operator B5. The input information of the classical task operator B7 depends on the output information of the conversation task operator B6.
[0087] According to the dependencies of the above task operators, the execution graph generation module 20 constructs a directed acyclic graph as the execution graph C1 according to these dependencies, where each node represents a task operator and the edge represents the dependency between the task operators. In the execution graph, the absence of a cycle ensures that the tasks can be executed in a certain order without circular dependencies.
[0088] For computing tasks that require a loop, a single execution process in the computing task is used as the input computing task.
[0089] Thus, through the generated execution graph, the execution graph generation module 20 provides a clear execution plan for the super-fusion computing power scheduling system 100, ensuring that the task operators can be executed in the correct order and dependency relationship, ensuring the efficiency and accuracy of processing computing tasks. In addition, through the independence of the task operators and the clear structure of the execution graph, when an execution error is encountered, the problem can be quickly located and handled, improving the overall system stability and reliability.
[0090] Please refer to Figure 1 , the task operator also includes the session task operator, and the quantum-classical computing power resource allocation module is configured as:
[0091] The task computing resources are locked according to the session task operator.
[0092] Specifically, in the super-fusion computing power scheduling system 100, the session task operator is a special task operator. When it comes to computing tasks that need to maintain context continuity, the task computing power resources need to be locked according to the session task operator. In this way, it is ensured that these tasks can monopolize the required computing power resources during execution, avoiding resource conflicts and performance losses caused by context switching. For example, in quantum computing, some computing tasks may require continuous operations on the same quantum state, which requires a session task operator to maintain this continuity.
[0093] In this way, by locking the task computing resources through the session task operator, the quantum-classical computing resource allocation module can ensure that the required computing resources can be used efficiently and stably in the process of processing computing tasks, thereby improving the efficiency and reliability of processing computing tasks.
[0094] Please refer to Figure 1 In some embodiments, the super-converged computing power scheduling system 100 also includes an execution graph modification module 50, which can respond to the modification operation of the computing task and lock the non-target position in the execution graph based on the logical lock to modify the target position in the execution graph, wherein the target position is used to indicate the position to be modified in the execution graph.
[0095] Specifically, the modification operation can be viewed as adding new task operators, deleting existing task operators, or changing dependencies between task operators.
[0096] Logical lock is a mechanism used to control concurrent access to shared resources and prevent data inconsistency caused by multiple modification operations at the same time.
[0097] During the execution graph modification process, in order to prevent changes in other task operators or dependencies from affecting the correctness of the entire execution graph when modifying the target position, the execution graph modification module 50 will lock other positions except the target position. Once the non-target position is locked, the execution graph modification module 50 can safely modify the target position.
[0098] After the execution graph modification is completed, the execution graph modification module 50 will release the logic lock so that other parts of the execution graph can continue to be accessed and modified, ensuring that the dynamic modification of the execution graph will not have an adverse impact on the operation of the entire system.
[0099] In this way, the execution graph modification module 50 provides flexibility and adaptability for the super-fusion computing power scheduling system 100, enabling the system to dynamically adjust and optimize the execution plan during the execution of computing tasks, thereby ensuring the efficiency and accuracy of processing computing tasks.
[0100] Please refer to Figure 1 In some implementations, the task operator also includes execution log information, and the super-fusion computing power scheduling system 100 also includes a monitoring module 60, which can monitor and analyze the processing status of the computing task based on the execution log information.
[0101] Specifically, the execution log information can be regarded as the start and end time of the task operator, the execution result of the task operator, the resource usage of the task computing resources corresponding to the task operator, and the abnormal information of the task operator.
[0102] The monitoring module 60 collects the execution log information generated by the task operator during execution, monitors the execution status of the task operator in real time, and ensures that they are carried out as expected. If an abnormality or timeout is detected in the execution of the task operator, the monitoring module 60 can promptly issue an alarm to notify relevant technical personnel or take appropriate remedial measures.
[0103] Furthermore, the monitoring module 60 can also analyze the execution efficiency of the task operator by executing the log information, including the utilization rate of computing resources and the execution time of the task operator. In this way, the monitoring module 60 can help relevant technical personnel optimize resource allocation and task scheduling strategies.
[0104] In addition, based on the analysis of the execution log information, the monitoring module 60 can provide performance optimization suggestions. For example, if a task operator frequently encounters resource contention, the monitoring module 60 may suggest adjusting the resource allocation strategy or task scheduling order.
[0105] In this way, the monitoring module 60 can provide real-time monitoring and analysis capabilities for the super-fusion computing power scheduling system 100, ensuring the efficiency and reliability of processing computing tasks.
[0106] See also Figure 3 The embodiment of the present application provides a task processing method, which is based on the above-mentioned super-fusion computing power scheduling system 100, and includes:
[0107] 01: Split the input computing task and determine multiple task operators;
[0108] 02: Based on the directed acyclic graph, the execution graph is determined according to the dependency relationship between multiple task operators;
[0109] 03: Determine the task computing resources allocated to each task operator based on the execution graph;
[0110] 04: Process the computing task according to the execution graph and task computing resources.
[0111] The embodiment of the present application also provides a computer device, including a memory and a processor. The task processing method of the embodiment of the present application can be implemented by the computer device of the embodiment of the present application. Specifically, a computer program is stored in the memory, and the processor is used to split the input computing task and determine multiple task operators. And based on the directed acyclic graph, an execution graph is determined according to the dependency relationship between multiple task operators. The processor is also used to determine the task computing power resources allocated to each task operator according to the execution graph. And the computing task is processed according to the execution graph and the task computing power resources.
[0112] The embodiment of the present application also provides a task processing device. The task processing method of the embodiment of the present application can be implemented by the task processing device of the embodiment of the present application. Specifically, the task processing device includes a determination module, an allocation module and a processing module. The determination module is used to split the input computing task and determine multiple task operators, and the task operators include quantum task operators and classical task operators. The determination module is also used to determine an execution graph based on a directed acyclic graph according to the dependency relationship between multiple task operators. The allocation module is used to determine the task computing power resources allocated to each task operator according to the execution graph. The processing module is used to process the computing task according to the execution graph and the task computing power resources.
[0113] Specifically, first, the super-fusion computing power scheduling system 100 splits the input computing tasks and determines multiple task operators, which include quantum task operators and classical task operators. Next, based on the directed acyclic graph, the super-fusion computing power scheduling system 100 determines the execution graph according to the dependencies between the multiple task operators. Then, the super-fusion computing power scheduling system 100 determines the task computing power resources allocated to each task operator according to the execution graph. Finally, the super-fusion computing power scheduling system 100 processes the computing tasks according to the execution graph and the task computing power resources.
[0114] In this way, the super-fusion computing power scheduling system 100 can achieve effective management and scheduling of quantum computing resources and classical computing resources, improving the processing efficiency of computing tasks and the overall performance of the system.
[0115] See also Figure 4 In some implementations, the task operator includes input information and output information. Step 02 (determining an execution graph based on a directed acyclic graph and according to dependencies between multiple task operators) includes:
[0116] 021: Determine the dependency between multiple task operators based on the input information and the output information, so as to determine the execution graph based on the dependency.
[0117] In some implementations, the determination module is used to determine the dependency relationship between multiple task operators based on the input information and the output information, so as to determine the execution graph based on the dependency relationship.
[0118] In some embodiments, the processor is further configured to determine dependencies between multiple task operators based on input information and output information, so as to determine an execution graph based on the dependencies.
[0119] Specifically, a task operator includes input information and output information.
[0120] The super-converged computing power scheduling system 100 determines the dependency relationship between multiple task operators based on input information and output information, so as to determine an execution graph based on the dependency relationship.
[0121] In this way, the dependencies between multiple task operators can be determined through the input information and output information of the task operators, and an execution graph can be generated. According to the generated execution graph, the super-converged computing power scheduling system 100 can ensure that the task operators are executed in the correct order while maximizing parallelism and resource utilization.
[0122] See also Figure 5 In some embodiments, the task operator further includes a session task operator, and the method further includes:
[0123] 05: Lock the task computing resources according to the session task operator.
[0124] In some implementations, the processing module is further configured to lock the task computing resources according to the session task operator.
[0125] In some implementations, the processor is further configured to lock the task computing resources according to the session task operator.
[0126] Specifically, the task operator also includes a session task operator.
[0127] When it is necessary to lock the task computing power resources, the super-converged computing power scheduling system 100 can lock the task computing power resources according to the session task operator.
[0128] In this way, by locking the task computing power resources through the session task operator, the super-fusion computing power scheduling system 100 can ensure that the required task computing power resources can be used efficiently and stably in the process of processing computing tasks, thereby improving the efficiency and reliability of processing computing tasks.
[0129] See also Figure 6 In some embodiments, the method further comprises:
[0130] 06: In response to the modification operation of the computing task, a non-target position in the execution graph is locked based on a logical lock to modify the target position in the execution graph.
[0131] In some embodiments, the processing module is further configured to lock a non-target position in the execution graph based on a logical lock in response to a modification operation of the computing task, so as to modify the target position in the execution graph.
[0132] In some embodiments, the processor is further configured to lock a non-target position in the execution graph based on a logical lock in response to a modification operation of the computing task, so as to modify the target position in the execution graph.
[0133] Specifically, in response to the modification operation of the computing task, the super-converged computing power scheduling system 100 locks the non-target position in the execution graph based on a logical lock to modify the target position in the execution graph, wherein the target position is used to indicate the position to be modified in the execution graph.
[0134] In this way, when adjusting and optimizing dynamically changing computing tasks, through this method, the super-converged computing power scheduling system 100 can flexibly respond to the modification operations of the computing tasks and ensure the stability and consistency of the execution graph.
[0135] The above task processing method is described below with an example. How a user can accelerate the drug discovery process through the super-fusion computing power scheduling system 100 involves the field of drug preparation. The field of drug preparation involves the combination of quantum computing and classical computing, and usually requires processing large-scale data and complex computing tasks.
[0136] RDKit is an open source cheminformatics software package mainly used for chemical data processing and analysis.
[0137] OpenFermion is an open-source software library designed to help researchers and developers easily simulate and compile quantum algorithms, particularly those used in chemistry and materials science.
[0138] Large-scale compound libraries refer to collections containing tens of thousands or even millions of compounds, which are often used in drug discovery and high-throughput screening studies.
[0139] First, after the super-fusion computing power scheduling system 100 obtains the computing task of drug discovery, it defines the running environment of the computing task. It needs to use python3.10 as the basic image and install libraries such as PyTorch, NumPy, OpenFermion, and RDKit.
[0140] Next, the super-fusion computing power scheduling system 100 splits the computing task and obtains the following task operators: molecular library screening operator, quantum simulation operator, classical computing operator, data fusion and analysis operator, optimization and iteration operator and final verification operator. Among them, the molecular library screening operator, classical computing operator, data fusion and analysis operator and final verification operator are classical task operators, the quantum simulation operator is a quantum task operator, and the optimization and iteration operator is a session task operator.
[0141] The molecular library screening operator refers to the process of screening candidate molecules with potential activity from large-scale compound libraries.
[0142] Quantum simulation operators refer to quantum mechanical simulations of selected candidate molecules to predict their interactions with biological targets. The interaction between candidate molecules and biological targets refers to the interaction between drug candidate molecules and specific target molecules in the body, such as proteins, enzymes, and receptors. This interaction can be a physical binding or a chemical reaction. For example, a drug molecule may inhibit the activity of a specific enzyme by binding to its active site, thereby blocking a biological pathway related to a disease.
[0143] Classical computational operators refer to the classical bioinformatics analysis and chemical property analysis of the screened candidate molecules. Bioinformatics analysis refers to the prediction of the biological activity, toxicity, pharmacokinetic properties, etc. of candidate molecules. For example, various algorithms and databases are used to predict the binding affinity of candidate molecules to specific proteins or their ability to pass through cell membranes. Chemical property analysis refers to the analysis of the physicochemical properties of candidate molecules, such as solubility and molecular weight, which have an important influence on the efficacy and pharmacokinetic properties of candidate molecules.
[0144] Data fusion and analysis operators refer to integrating the results from quantum simulation operators and classical computing operators to conduct in-depth molecular property analysis on the results. In-depth molecular property analysis refers to combining the results from quantum simulation operators and classical computing operators to comprehensively evaluate the properties of candidate molecules, including detailed analysis of the structure, electronic properties, reactivity, etc. of candidate molecules to better understand the mechanism of their interaction with biological targets.
[0145] The optimization and iteration operators are used to optimize the structure of the selected candidate molecules according to the results of the data fusion and analysis operators, and to optimize the candidate molecules obtained after structural optimization. Structural optimization refers to the structural adjustment and improvement of the selected candidate molecules according to the results of data fusion and analysis to improve their biological activity, reduce toxicity, improve pharmacokinetic properties or enhance stability. This optimization usually involves minor modifications to the molecular structure, such as changing functional groups, adjusting bond lengths, optimizing stereochemistry, etc. The goal of structural optimization is to generate more effective drug candidate molecules.
[0146] The final verification operator refers to the simulated bioactivity verification and simulated safety verification of the optimized candidate molecules. Bioactivity verification refers to testing the effects of candidate molecules on specific biological pathways through in vitro experiments such as cell culture or in vivo experiments such as animal models. For example, whether the candidate molecule can inhibit the proliferation of tumor cells. Safety verification refers to the evaluation of the toxicity, side effects and potential safety risks of candidate molecules, which usually involves a series of toxicity tests on the candidate molecules to determine their safe dosage range in the human body.
[0147] Then, define the execution graph based on the above task operators and their dependencies. In the process of defining the execution graph, it is necessary to define the execution environment of the task operators at the same time, and determine the task computing resources of each task operator based on the generated execution graph. Figure 7 , Figure 7 This is the execution graph of the computational task of drug discovery. Figure 7 As shown, the first step is to screen candidate molecules with potential activity from a large-scale compound library. The second step is to perform quantum mechanical simulation on the candidate molecules to obtain quantum simulation results. The third step is to perform classical bioinformatics and chemical property analysis on the candidate molecules to obtain classical calculation results. The fourth step is to integrate and analyze the quantum simulation results and classical calculation results to obtain the initial target processing results. The fifth step is to perform structural optimization on the candidate molecules to obtain optimized candidate molecules, and repeat the first to fourth steps on the optimized candidate molecules until the candidate molecules meet the requirements. The sixth step is to perform simulated biological activity verification and simulated safety verification on the final candidate molecule to determine the availability of the candidate molecule.
[0148] Subsequently, the super-fusion computing power scheduling system 100 processes the above-mentioned task operators according to the allocated task computing power resources, and dynamically adjusts the task computing power resources during the processing.
[0149] In addition, when processing each task operator, the super-convergent computing power scheduling system 100 will also collect and record the input data information, output data information and execution log information of each stage of the entire computing task processing process. Based on this information, the efficiency and correctness of the entire computing task processing process can be evaluated, and potential improvement space for the super-convergent computing power scheduling system 100 can be found.
[0150] The present application also provides a computer-readable storage medium containing a computer program. When the computer program is executed by one or more processors, the one or more processors execute the method of the present application.
[0151] It is understood that a computer program includes computer program code. The computer program code may be in source code form, object code form, executable file or some intermediate form. Computer readable storage media may include: any entity or device capable of carrying computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), and software distribution medium.
[0152] In the description of this specification, the descriptions with reference to the terms "specifically", "further", "particularly", "understandably", etc. are intended to mean that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms are not intended to refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.
[0153] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.
[0154] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. An over-fusion computing power scheduling system based on directed acyclic graph, characterized in that: The super-fusion computing power scheduling system includes a task splitting module, an execution graph generation module and a quantum-classical computing power resource module; The task splitting module is configured to split the input computing task and determine a plurality of task operators, wherein the task operators include quantum task operators and classical task operators; The execution graph generation module is configured to determine an execution graph based on the directed acyclic graph and according to the dependency relationship between the plurality of task operators; The quantum-classical computing power resource module is configured to determine the task computing power resources allocated to each of the task operators according to the execution graph to process the computing task.
2. The super-fusion computing power scheduling system according to claim 1, characterized in that: The super-fusion computing power scheduling system also includes a containerization module; The containerization module is configured to determine the running environment of the computing task based on a preset isolation mechanism.
3. The super-fusion computing power scheduling system according to claim 1, characterized in that: The task operator includes input information and output information, and the execution graph generation module is configured as follows: Dependencies between the plurality of task operators are determined according to the input information and the output information, so as to determine the execution graph according to the dependency relationships.
4. The super-fusion computing power scheduling system according to claim 1, characterized in that: The task operator also includes a session task operator, and the quantum-classical computing power resource allocation module is configured as follows: The task computing power resources are locked according to the session task operator.
5. The super-fusion computing power scheduling system according to claim 1, characterized in that: The super-converged computing power scheduling system further includes an execution graph modification module, which is configured to: In response to the modification operation of the computing task, a non-target position in the execution graph is locked based on a logical lock to modify the target position in the execution graph, wherein the target position is used to indicate a position to be modified in the execution graph.
6. The super-fusion computing power scheduling system according to claim 1, characterized in that: The task operator also includes execution log information, and the super-fusion computing power scheduling system also includes a monitoring module; The monitoring module is configured to monitor and analyze the processing status of the task operator according to the execution log information.
7. A task processing method, characterized in that: The task processing method is based on the super-convergent computing power scheduling system according to any one of claims 1 to 6, and the method includes: Splitting the input computing task to determine a plurality of task operators, wherein the task operators include quantum task operators and classical task operators; Based on the directed acyclic graph, determining an execution graph according to dependency relationships between the plurality of task operators; Determine the task computing resources allocated to each of the task operators according to the execution graph; The computing task is processed according to the execution graph and the task computing power resources.
8. The task processing method according to claim 7, characterized in that: The task operator includes input information and output information, and the determining of the execution graph based on the directed acyclic graph and the dependency relationship between the plurality of task operators includes: Dependencies between the plurality of task operators are determined according to the input information and the output information, so as to determine the execution graph according to the dependency relationships.
9. The task processing method according to claim 7, characterized in that: The task operator also includes a session task operator, and the method further includes: The task computing power resources are locked according to the session task operator.
10. The task processing method according to claim 7, characterized in that: The method further comprises: In response to the modification operation of the computing task, a non-target position in the execution graph is locked based on a logical lock to modify the target position in the execution graph, wherein the target position is used to indicate a position to be modified in the execution graph.
Citation Information
Patent Citations
Fusion computing method and system for high-performance computing power and quantum computing power of cloud platform
CN117850996A
Method and system for improving computing power efficiency
CN118550711A
Edge computing orchestration
US20240220846A1
Cited By
Heterogeneous architecture electronics control system and control method controlled by atomic quantum computing
CN120012951A
Heterogeneous architecture electronics control system and control method for atomic quantum computing control
CN120012951B
Open distributed system resource management and task scheduling system and method
CN120448035A
Calculation power data processing method and system based on quantum inspiration
CN120560826A
Heterogeneous computing power-oriented excess fusion task dynamic scheduling method and device
CN122044785A