Time management for enhanced quantum circuit operations with hybrid classical / quantum systems

By combining global and local counter management with the scheduler's instruction scheduling, the time management problem in quantum program execution is solved, achieving efficient and accurate quantum program execution while reducing system complexity and cost.

CN115907017BActive Publication Date: 2026-06-02INTERNATIONAL BUSINESS MACHINE CORPORATION

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2022-08-08
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing technologies struggle to achieve precise time management in quantum program execution, leading to synchronization loss, slow execution speed, low quality, and high system complexity and cost.

Method used

By employing a combination of global and local counter management, and executing instruction streams on different nodes as separate threads, the scheduler is used for instruction scheduling and dependency management, ensuring the accuracy and efficiency of instruction execution.

Benefits of technology

This achieves efficient execution of quantum programs, reduces synchronization loss and noise impact, lowers system complexity and cost, and improves execution quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115907017B_ABST
    Figure CN115907017B_ABST
Patent Text Reader

Abstract

Systems, computer-implemented methods, and / or computer program products for facilitating time management of quantum programs at one or more nodes of a system, such as a hybrid classical / quantum system, are provided. A system, e.g., a classical portion of a hybrid system, can include a memory that stores computer executable components and a processor that executes the computer executable components stored in the memory. The computer executable components can include a time management component that can communicate with a node to trigger the node to execute one or more quantum program instructions with respect to a counter of the node that is advanced by communication. The time management component can advance the counter at the node based on a combination of a time of another node and a determined actual propagation time for the communication.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to time management of quantum programs, and more particularly to a system, a computer-implemented method, and a computer program product that facilitates time management of quantum programs at one or more nodes of a system. Background Technology

[0002] One or more embodiments described herein relate generally to quantum program control, and more specifically, to time management for enhanced quantum circuit operation employing a hybrid classical / quantum system. Summary of the Invention

[0003] The following summary is presented to provide a basic understanding of one or more embodiments described herein. This summary is not intended to identify key or essential elements, or to depict any scope of a particular embodiment and / or any scope of the claims. The sole purpose of this summary is to present concepts in a simplified form as a prelude to the more detailed description that follows. In one or more embodiments described herein, devices, systems, computer-implemented methods, apparatuses, and / or computer program products are described that can facilitate time management of quantum programs at one or more nodes of a system.

[0004] According to an embodiment, the system may include a memory storing computer-executable components and a processor executing the computer-executable components stored in the memory. The computer-executable components may include a time management component that communicates with a node to trigger the node to execute one or more quantum program instructions relative to a counter of the node that is advanced through the communication.

[0005] According to another embodiment, a computer-implemented method may include system-node communication operatively coupled to a processor to trigger the node to execute one or more quantum program instructions relative to a counter of the node that is advanced via the communication.

[0006] According to yet another embodiment, a computer program product for facilitating time management of quantum programs at one or more nodes in a system may include a computer-readable storage medium having program instructions contained therein. The program instructions can be executed by a processor to communicate with the nodes via the processor to trigger the nodes to execute one or more quantum program instructions relative to a counter of the node that is advanced via the communication. Attached Figure Description

[0007] Figure 1 A block diagram of an example non-limiting system that facilitates time management of quantum programs at one or more nodes of the system, according to one or more embodiments described herein, is shown.

[0008] Figure 2 Another block diagram of an example non-limiting system that facilitates time management of quantum programs at one or more nodes of the system, according to one or more embodiments described herein, is shown.

[0009] Figure 3 One or more embodiments described herein are illustrated. Figure 2 A schematic diagram illustrating how an unrestricted system facilitates the execution of instructions at a single node.

[0010] Figure 4 One or more embodiments described herein are illustrated. Figure 2 Another schematic diagram illustrating how the non-restrictive system facilitates the execution of instructions at a single node.

[0011] Figure 5 Another block diagram is shown of a non-limiting system that facilitates time management of quantum programs at one or more nodes of the system, according to one or more embodiments described herein.

[0012] Figure 6 A flowchart is shown of an example non-limiting computer implementation of a method that facilitates time management of quantum programs at one or more nodes of a system, according to one or more embodiments described herein.

[0013] Figure 7 This document illustrates an example, non-limiting computer implementation of a method, according to one or more embodiments described herein, capable of facilitating time management of quantum programs at one or more nodes of a system. Figure 6 The flowchart continues.

[0014] Figure 8 This document illustrates an example, non-limiting computer implementation of a method, according to one or more embodiments described herein, capable of facilitating time management of quantum programs at one or more nodes of a system. Figure 6 Another continuation of the flowchart.

[0015] Figure 9 A block diagram is shown illustrating an example non-limiting operating environment that can facilitate one or more embodiments described herein.

[0016] Figure 10 A block diagram of an example non-limiting cloud computing environment according to one or more embodiments described herein is shown.

[0017] Figure 11 A block diagram of several example non-limiting abstract model layers according to one or more embodiments described herein is shown. Detailed Implementation

[0018] The following detailed description is illustrative only and is not intended to limit the embodiments, their application, and / or use. Furthermore, it is not intended to be construed as being bound by any express or implied information presented in the foregoing Background and / or Summary of the Invention and / or Detailed Description sections.

[0019] Quantum computing typically involves using quantum mechanical phenomena to perform computational and information processing functions. Instead of transistor-based binary digital technology, quantum computing uses quantum physics to encode and process information. That is, while classical computers can operate on bit values ​​that are either 0 or 1, quantum computing devices can use qubits (also called quantum bits) that operate according to the laws of quantum physics and can exhibit phenomena such as superposition and / or entanglement.

[0020] The superposition principle of quantum physics allows qubits to exist in states that simultaneously represent both "1" and "0" values. The entanglement principle of quantum physics allows qubits to be correlated. For example, the state of the first qubit can depend on the state of the second qubit, and / or vice versa. Thus, quantum circuits can use qubits to encode and process information in a way completely different from transistor-based binary digit technology. In fact, quantum computing has the potential to solve problems that, due to computational complexity, cannot be solved or can only be solved relatively slowly on classical computers.

[0021] Quantum computing allows manipulation of qubits using specialized controls, such as quantum circuits. A quantum circuit is a transformation that can perform operations on qubits. A quantum circuit, for example as part of a quantum program, can be implemented as one or more quantum gates, such as a series of quantum gates. These quantum gates can be implemented as one or more physical operations on a set of qubits, such as implementing a sequence of pulses. A pulse is a time-dependent tone (e.g., a wave or waveform) that can be applied to a qubit to change the state of the qubit and / or analyze the state of the qubit.

[0022] Quantum programming can involve the process of assembling a sequence of instructions, which can be called a quantum program and can run on a quantum computer. A quantum program can be associated with a collection of quantum circuits. When a quantum program is executed, one or more measurements can be computed, for example, through a quantum system and / or an associated classical system. One or more measurements can include one or more resonant and / or oscillation frequencies of one or more qubits of the quantum system, which can represent one or more states and / or oscillations of the one or more qubits.

[0023] Control of quantum programs can employ both classical and quantum resources, and therefore can utilize one or more hybrid classical / quantum systems. Classical resources (e.g., one or more control nodes, such as one or more control CPUs) can be used to control one or more acting nodes. One or more acting nodes, such as one or more quantum processors, can perform qubit operations, such as qubit measurements, and / or operate one or more quantum circuits by implementing one or more quantum pulses.

[0024] In one or more embodiments, a quantum program can be advanced by executing instructions for facilitating one or more quantum tasks on and / or relative to one or more qubits, using either software or hardware simulation. Regarding software simulation, an instruction set simulator can advance a quantum program by executing one or more instructions. The instruction set simulator does not model the underlying clock cycle for each instruction. Instead, the one or more instructions executed can alternatively align different flows of the quantum task and / or pause the execution of the quantum task until data is available to continue. Instruction flows on different nodes can be executed independently, e.g., as separate thread operations. Clock cycle-dependent objects, such as time-to-date (TOD) counters or timers, are not modeled and / or abstracted by the instruction set simulator because multiple clock cycles may be difficult or impossible to maintain precisely. This type of simulation may be imperfect when used to execute quantum programs because the operation and / or alignment of quantum tasks can utilize precise clock cycle accuracy, which may be difficult and / or impossible to maintain by software simulation.

[0025] Alternatively, hardware simulation can be employed to advance the quantum program by executing one or more cycles of a common clock relative to one or more nodes executing one or more instructions. The number of clock cycles can be precisely maintained by the common clock to enable accurate modeling, for example, via TOD counting. In each clock cycle, if the input is pending, all nodes are typically invoked to process it. This type of simulation can facilitate the operation and / or calibration of the quantum task with this precision in clock cycles. However, such precise modeling may result in a performance penalty, for example, due to lower speeds and / or increased processing power at each node in each clock cycle.

[0026] A large number of quantum tasks can create pressure to execute the corresponding quantum programs quickly, further complicating the large-scale execution of quantum programs. That is, increased execution speed can be directly and / or indirectly related to maximizing system utilization, minimizing the compilation time of quantum programs, minimizing the time users must wait for compilation to complete, and / or minimizing undesirable consumption of classical computing resources. There is also pressure to execute these quantum tasks well, enabling the extraction of high performance from recently error-prone systems and / or enabling improvements in the quality of compiled physical-level impulses (e.g., related to the accuracy, precision, and / or efficiency of impulse execution).

[0027] Turning now to one or more embodiments described herein, such embodiments may provide one or more systems, methods, and / or computer program products to improve (e.g., enhance, optimize, and / or reduce) the execution of quantum tasks by addressing one or more deficiencies of existing instruction set simulation and / or hardware simulation techniques. Typically, one or more systems, methods, and / or computer program products may employ an emulator or simulator, such as an instruction set simulator, to execute one or more instructions of one or more quantum programs for operating one or more quantum tasks. Typically, one or more systems, methods, and / or computer program products may improve the execution time or instruction execution accuracy for performing quantum tasks and / or may improve the execution quality of such quantum tasks compared to existing technologies. In one or more embodiments described herein, one or more systems, methods, and / or computer program products may advance quantum programs by executing one or more streams of one or more instructions on one or more different nodes, said streams and / or nodes may operate as separate threads. One or more systems, methods, and / or computer program products may also provide accurate modeling of counters and / or timers, such as TOD counters, to enable accurate execution and / or alignment of one or more quantum tasks. These techniques can achieve performance improvements over existing instruction set simulation and / or hardware simulation techniques, for example, when simulating quantum programs running on a model of a quantum control system that incorporates both classical and quantum components.

[0028] For example, one or more embodiments described herein can achieve improved performance through a combination of global and local counter management of counters (e.g., local counters) at one or more action nodes of the system. Performance at one or more action nodes can be dedicated to executing instructions to advance the corresponding quantum program. Furthermore, the execution instructions for execution at one or more action nodes can be modeled by a scheduler without modeling the instructions and / or parts thereof to align execution at one or more action nodes and / or resolve one or more dependencies between one or more action and / or control nodes. Instead, one or more embodiments described herein can manage the triggering of one or more action nodes to achieve such alignment and / or initiate instruction execution when dependencies are satisfied. This global management of alignment and / or initiation upon dependency satisfaction also allows performance at one or more action nodes to be repurposed for executing instructions to advance the corresponding quantum program. As a result, precise timing can be employed for instruction execution without complex instruction scheduling and / or high-granularity invocation of input processing (e.g., every clock cycle at all nodes).

[0029] Furthermore, traditional resources (e.g., one or more control nodes) can be nondeterministic and can take variable amounts of time to analyze data, prepare instructions, and / or send instructions. Due to the variable amount of time, synchronization between control nodes and / or action nodes may be lost. That is, as a further result, synchronization loss can be prevented, or at least it can make it possible to reduce interruptions, prolonged initialization, and / or failures in the implementation of multi-qubit actions that depend on synchronization. Additionally and / or alternatively, the negative impacts of synchronization loss on quantum program execution speed, quantum program execution quality, and / or the introduction of quantum errors and / or noise can also be desired to be reduced and / or prevented. As noted, one or more embodiments described herein can manage the triggering of one or more action nodes to achieve such resynchronization and / or alignment.

[0030] In one or more cases, the embodiments described herein may allow for increased scaling of the execution of one or more quantum programs due to increased execution time and / or execution quality. Additionally and / or alternatively, employing the described subject matter may allow for reduced cost and / or complexity of systems used to execute quantum programs according to the described subject matter. This allowance may be at least due to the use of low storage, time, and / or computational power at one or more action nodes of the system, given the time management of one or more action nodes.

[0031] The one or more functions and / or processes generally described above will now be described in more detail below with reference to the accompanying drawings, wherein throughout the description of one or more embodiments, the same reference numerals are used to refer to the same elements. As used herein, the term "entity" can mean machine, device, smart device, component, hardware, software, and / or person. In the following description, numerous specific details are set forth for purposes of explanation in order to provide a more thorough understanding of one or more embodiments. However, in one or more cases, it will be apparent that one or more embodiments can be practiced without these specific details.

[0032] Furthermore, it will be understood that the embodiments depicted in one or more figures described herein are for illustrative purposes only, and therefore, the architecture of the embodiments is not limited to the systems, devices, and / or components depicted herein, nor is it limited to any particular order, connection, and / or coupling of the systems, devices, and / or components depicted herein. For example, in one or more embodiments, as Figure 1 The non-limiting systems 100 and / or 200 and / or their systems shown in Figure 2 may also include, as referenced herein, systems such as Figure 9 The operating environment 900 and other operating environments described herein include one or more computers and / or computing-based components. In one or more of the described embodiments, the computer and / or computing-based components may be used to implement a combination of Figure 1 and / or Figure 2 And / or the operations implemented by one or more systems, devices, components and / or computers shown and / or described in other figures herein.

[0033] First, generally turn around. Figure 1 The one or more embodiments described herein may include one or more systems, computer-implemented methods, apparatuses, and / or computer program products that can facilitate time management of quantum programs at one or more nodes of a system executing a quantum program. For example, Figure 1 A block diagram of an exemplary non-restrictive system 100 is shown, which facilitates time management via the non-restrictive system 100, such as via action nodes 103 of an execution management system 102.

[0034] As shown in the figure, the non-limiting system 100 may include a quantum system 101 and a classical system such as an execution management system 102. That is, in one or more embodiments, the non-limiting system 100 may be a hybrid system. In one or more other embodiments, the quantum system 101 may operate separately from the non-limiting system 100, but in combination with it.

[0035] The quantum system 101 shown (e.g., a quantum computer system, a superconducting quantum computer system, and / or the like) can be associated with, for example, accessed via, a cloud computing system. The quantum system 101 may employ quantum algorithms and / or quantum circuits, including computing components and / or devices, to perform quantum operations and / or functions on input data, thereby producing results that can be output to an entity relative to the quantum program 109. One or more components may be included by the quantum system 101, whose output may include qubit measurement data. Although not shown, the quantum system 101 may include corresponding memories and / or quantum processors.

[0036] As shown in the figure, quantum system 101 may include action node 103 for controlling one or more qubits of quantum system 101, thereby executing quantum program 109. As used herein, a node (e.g., a control or action node) may include one or more machines. One or more machines may include one or more of the following: computing devices, general-purpose computers, special-purpose computers, quantum computing devices (e.g., quantum computers), tablet computing devices, handheld devices, server-type computing machines and / or databases, laptop computers, notebook computers, desktop computers, cellular phones, smartphones, consumer appliances and / or instruments, industrial and / or commercial equipment, digital assistants, multimedia internet-enabled phones and / or other types of devices.

[0037] In the illustrated embodiment, the non-limiting system 100 includes a quantum system 101. Alternatively, the quantum system 101 may be external to the non-limiting system 100, but accessible from it. Alternatively, the execution management system 102 may include one or more components capable of performing one or more processes executed by the quantum system 101.

[0038] The non-limiting system 100 may include an execution management system 102, which may be associated with, or be accessible via, a cloud computing environment. The execution management system 102 may include one or more components, such as memory 104, processor 106, bus 124, and / or time management component 112. Typically, the execution management system 102, and therefore the non-limiting system 100, may facilitate the execution of the quantum program 109 through communication with the action node 103 and time management.

[0039] The execution management system 102 can provide one or more processes and / or functions to function as an instruction set simulator. For example, the time management component 112 can communicate with a node such as action node 103 to trigger that node to execute one or more quantum program instructions associated with a counter of the node advanced via communication. In other words, the time management component can advance a counter at a node when the node is triggered and / or separately from the triggering node to execute one or more quantum program instructions. The time management component 112 can use one or more communications to implement one or both of triggering and / or counter advancement. Communication can be facilitated via any suitable wired and / or wireless method including any suitable hardware and / or software. In one example, the time management component 212 can transmit data to control the triggering of action node 103 for executing one or more quantum program instructions at the node. Via data transmission, the time management component 212 can cause a jump in the counter of action node 103.

[0040] Therefore, one or more processes to be executed by the execution management system 102 can achieve improved performance by transmitting global management data to action nodes 103 to trigger the initiation of one or more action nodes 103, such as initiation when dependencies are satisfied and / or initiation for the execution of one or more quantum program instructions. This global management of alignment and / or initiation, such as initiation when dependencies are satisfied, allows performance at one or more action nodes to be dedicated to executing instructions to advance the corresponding quantum program. Furthermore, instructions can be modeled by the scheduler of the non-limiting system 100 without additional modeling of instructions and / or portions thereof aligned to execution at one or more action nodes and / or resolving one or more dependencies between one or more action nodes.

[0041] It will also be understood that the operation of the execution management system 102 is not limited to controlling a single action node 103 at a time. Rather, the use of the execution management system 102 itself can be scalable, such as in which the execution management system 102 can control action nodes simultaneously, at least in part, in parallel with another action node.

[0042] Next, turn to Figure 2 The figure illustrates a block diagram of an example non-restricted system 200 that can facilitate time management of a quantum program at one or more nodes of a system executing the quantum program. It will be understood that the description of non-restricted system 200 and / or one or more of its components can be applied to non-restricted system 100 and / or one or more of its components, and / or vice versa.

[0043] As used herein, a node (e.g., a control or action node) may include one or more machines. One or more machines may include one or more of the following: computing devices, general-purpose computers, special-purpose computers, quantum computing devices (e.g., quantum computers), tablet computing devices, handheld devices, server-type computing machines and / or databases, laptop computers, notebook computers, desktop computers, cellular phones, smartphones, consumer appliances and / or instruments, industrial and / or commercial equipment, digital assistants, multimedia internet-enabled phones and / or other types of devices.

[0044] Turning now to one or more details of the unrestricted system 200, as illustrated, the unrestricted system 200 may include a quantum system 201 and a classical system, such as an execution management system 202. In one or more embodiments, the unrestricted system 200 may be a hybrid system. In such an example, the quantum system 201 may be separate from the unrestricted system 200, but may function in combination with it.

[0045] The quantum system 201 shown (e.g., a quantum computer system, a superconducting quantum computer system, and / or the like) can employ quantum algorithms and / or quantum circuits (including computing components and / or devices) to perform quantum operations and / or functions on input data to produce results that can be output to an entity.

[0046] Quantum circuits can include circuitry for qubits (qubits), such as multi-qubit qubits, physical circuit-level components, advanced components, and / or functions. Quantum circuits can involve physical pulses that can be constructed (e.g., arranged and / or designed) to perform desired quantum functions and / or computations on data (e.g., input data and / or intermediate data derived from the input data) to produce one or more quantum results and / or measurements as outputs. Quantum results and / or measurements can be responsive to a quantum job request and associated input data, and can be at least partially based on the input data, quantum functions, and / or quantum computations.

[0047] Quantum system 201 may include one or more action nodes, such as action nodes 203A and 203B for controlling one or more qubits 211 to execute quantum program 209. Action nodes may be quantum resources capable of performing one or more quantum tasks, such as pulse generation, waveform generation, quantum measurement, and / or other functions associated with and / or involving one or more qubits. These action nodes may be distributed locally and / or decentralized relative to each other, and / or any suitable number of action nodes may be communicatively connected to each other via any suitable method. It will be understood that in one or more other embodiments, one or more action nodes may be quantum resources and / or may include one or more quantum components. Additionally and / or alternatively, it will be understood that one or more action nodes may provide one or more of the functions listed below for the control node, and / or one or more control nodes may provide one or more of the functions listed above for the action node.

[0048] In one or more embodiments, quantum system 201 may include one or more quantum components, such as quantum manipulation components and / or quantum processors. For example, action node 203A may include quantum manipulation component 207A and / or quantum processor 205A, and action node 203B may include quantum manipulation component 207B and / or quantum processor 205B. In one or more embodiments, quantum system 201 may include quantum manipulation components and / or quantum processors separate from its one or more action nodes.

[0049] The quantum manipulation components can perform one or more quantum processes, calculations, and / or measurements to manipulate one or more quantum circuits on one or more qubits 211. For example, quantum manipulation components 207A and / or 207B can operate one or more qubit effectors, such as qubit oscillators, harmonic oscillators, pulse generators, and / or the like, to induce one or more pulses and / or signals to excite and / or manipulate the state of one or more qubits 211 present in the quantum system 201. Additionally and / or alternatively, quantum manipulation components 207A and / or 207B can perform one or more quantum measurements.

[0050] A quantum processor can be a suitable processor, such as one capable of controlling qubit generation. A quantum processor can generate one or more instructions for controlling one or more processes of one or more quantum operation components (e.g., quantum operation components 207A and / or 207B).

[0051] Turning now to the classical portion of the non-limiting system 200, although not shown, the execution management system 202 may be included in the classical system of the control nodes. Alternatively, the execution management system 202 itself may be a control node. Control nodes may be classical resources capable of providing scheduling, instruction, data analysis, measurement analysis, quantum parameter optimization, etc. Control nodes may be locally and / or decentralized relative to each other, and / or any two or more control nodes may be communicatively connected to each other via any suitable method. It will be understood that in one or more other embodiments, one or more control nodes may be quantum resources and / or may include one or more quantum components.

[0052] Additionally and / or alternatively, one or more other node types besides action nodes and control nodes are also possible. For example, a pass-through node can be used to aid physical distribution and / or connectivity, an interface node can be used between quantum systems, and / or a qubit group controller can be used to manage a set of imperfect qubits, such as as a single error-protected qubit.

[0053] Furthermore, as will be appreciated below, the description of one or more processes executed by the execution management system 202 is given only in relation to one or more action nodes 203A and 203B of the quantum system 201, for example, for ease of explanation. However, one or more processes executed by the execution management system 202, such as one or more processes executed by the scheduling component 210, the time management component 212, and / or the execution component 216, can be applied to and / or executed in relation to one or more additional and / or other action nodes, one or more control nodes, and / or one or more other node types as described above. That is, the execution management system 202 can be used to control time management at various and / or all nodes of the hybrid classical / quantum system, for example, for executing quantum programs.

[0054] As shown, the execution management system 202 may include any suitable type of components, machines, devices, facilities, apparatuses, and / or instruments, including processors and / or devices capable of effective and / or operable communication with wired and / or wireless networks. All of these embodiments are foreseeable. For example, the execution management system 202 may include server equipment, computing devices, general-purpose computers, special-purpose computers, quantum computing devices (e.g., quantum computers), tablet computing devices, handheld devices, server-type computing machines and / or databases, laptop computers, notebook computers, desktop computers, cellular phones, smartphones, consumer appliances and / or instruments, industrial and / or commercial equipment, digital assistants, multimedia internet-enabled phones, multimedia players, and / or other types of devices and / or computing devices.

[0055] In one or more embodiments, the execution management system 202 may include a processor 206 (e.g., a computer processing unit, microprocessor, classical processor, quantum processor, and / or similar processor). In one or more embodiments, as described herein with or without reference to one or more accompanying drawings of one or more embodiments, components associated with the execution management system 202 may include one or more computer and / or machine-readable, writable, and / or executable components and / or instructions that can be executed by the processor 206 to facilitate the execution of one or more processes defined by these components and / or instructions. In one or more embodiments, the processor 206 may include a job determination component 208, a scheduling component 210, a time management component 212, an execution component 216, an analysis component 218, and / or an output component 220.

[0056] In one or more embodiments, the execution management system 202 may include a computer-readable storage device 204 operatively connected to a processor 206. The storage device 204 may store computer-executable instructions that, when executed by the processor 206, cause the processor 206 and / or other components of the execution management system 202 (e.g., job determination component 208, scheduling component 210, time management component 212, execution component 216, analysis component 218, and / or output component 220) to perform one or more actions. In one or more embodiments, the storage device 204 may store computer-executable components (e.g., job determination component 208, scheduling component 210, time management component 212, execution component 216, analysis component 218, and / or output component 220).

[0057] The execution management system 202 and / or its components as described herein may be communicatively, electrically, operatively, optically, and / or otherwise coupled to each other via bus 224 to perform the functions of the unrestricted system 200, the execution management system 202, and / or one or more of its components, and / or coupled thereto. Bus 224 may include one or more of a memory bus, memory controller, peripheral bus, external bus, local bus, quantum bus, and / or another type of bus that may employ one or more bus architectures. One or more of these examples of bus 224 may be used to implement one or more embodiments described herein.

[0058] In one or more embodiments, the execution management system 202 may be coupled to one or more external systems, sources, and / or devices (e.g., classical and / or quantum computing devices, communication devices, and / or similar devices) via a network (e.g., communicative ground, electrical ground, operational ground, optical ground, and / or similar functions). In one or more embodiments, one or more components of the non-limiting system 200 may reside in the cloud and / or may reside locally in a local computing environment (e.g., at a desired location).

[0059] In addition to the processor 206 and / or memory 204 described above, the execution management system 202 may include one or more computer and / or machine-readable, writable, and / or executable components and / or instructions that, when executed by the processor 206, can facilitate the execution of one or more operations defined by such components and / or instructions. Furthermore, in one or more embodiments, the execution management system 202 may include a job determination component 208, a scheduling component 210, a time management component 212, an execution component 216, an analysis component 218, and / or an output component 220.

[0060] The job determination component 208 can employ, for example... Figure 9 The operating environment 900 shown represents one or more aspects of an operating environment to provide services such as receiving, retrieving, and / or otherwise obtaining job requests, such as quantum job requests from a requesting entity. As a non-limiting example, quantum job requests can be downloaded directly and / or indirectly from quantum operation component 203 and / or from execution management system 202, received from memory / storage 952 via WAN 956, and / or received from, for example, cloud computing environment 1050 via WAN 956. Figure 10 The cloud computing node 1010 downloads the quantum job request.

[0061] Employing the execution management system 202 and the quantum system 201, the unrestricted system 200 can execute one or more quantum programs, such as quantum program 209, that are requested to be implemented in a quantum job request. In one or more cases, the quantum job request may include one or more execution instructions relating to one or more specific quantum circuits to be employed.

[0062] In one or more embodiments, the execution management system 202 may also provide one or more processes and / or functions for use as an instruction set simulator. For example, the execution management system 202 may include a scheduling component 210, a time management component 212, and / or an execution component 216. Alternatively and / or additionally, in one or more other embodiments, it will be appreciated that one or more of the functions, processes, and / or components described herein may be employed and / or constructed to operate outside the simulation environment.

[0063] Scheduling component 210 may include and / or may be a scheduler and / or compiler. Scheduling component 210 may be used to compile (e.g., schedule and / or identify) one or more execution aspects (e.g., one or more data transfers, instruction execution, aligned execution of one or more execution instructions, start points, wait points, dependencies, and / or the like), which will be described in detail below. One or more compilation start points, wait points, and / or dependencies may be facilitated and / or satisfied via scheduling of one or more data transfers by scheduling component 210. Data transfers may be performed via one or more communications / messages that are being transmitted and include data from one or more data transfers.

[0064] Compilation may include checking and / or simulating a quantum program, such as quantum program 209. Compiling one or more of these execution aspects enables the time management component 212 to maintain tracking of the progress of quantum program 209 during its execution. In fact, as will be described in detail later in a further explanation of one or more execution aspects, compiling such execution aspects enables the time management component 212 to simulate one or more time periods, time delays, etc., which allows quantum program 209 to be managed relative to precise clock cycles and executed at high speed and / or high efficiency, such as not calling all nodes in every clock cycle.

[0065] It will be understood that one or more execution aspects may be compiled prior to the initiation of quantum program 209. Alternatively and / or, one or more such execution aspects may be compiled during the execution of quantum program 209, for example, at runtime.

[0066] Referring now to compilation of one or more different execution aspects, scheduling component 210 can examine and / or analyze the corresponding quantum program 209, thereby compiling one or more strings of one or more sequentially executed instructions. One or more execution instructions and / or strings thereof can be compiled for execution without synchronization with another node. Such asynchronous execution may include unaligned execution with another node (e.g., action and / or control node), execution without initial initiation, and / or execution independent of one or more other nodes (e.g., action and / or control node).

[0067] The scheduling component 210 may also compile one or more dependencies on another node, and / or one or more start points for receiving execution instructions and / or for receiving initialization data to enable one or more execution instructions. As used herein, a dependency may refer to measurement results, execution instructions, and / or other data transmissions that will be received from another node (e.g., action and / or control nodes) to enable a node such as an action node to begin execution of one or more execution instructions. That is, in one or more cases, the execution of one or more instructions that depend on a dependency cannot be performed if the dependency is not satisfied.

[0068] For further examples, see Figure 3 Figure 300 is illustrated in relation to one or more execution instructions 302 of quantum program 209 executed at action node 203A. Figure 300 is divided into three different methods I, II and III of quantum program 209.

[0069] Method I describes the scenario where threads A and B both operate on a shared processor and in a sequential manner. Execution instructions 302A-302C represent execution instruction strings that can be compiled by scheduling component 210 for sequential execution, such as lack of alignment with another node (e.g., action and / or control node), lack of initial startup, and / or lack of dependency on one or more other nodes (e.g., action and / or control node).

[0070] Method II describes a scenario where threads A and B both operate on a shared processor, but bistate switching and / or task swapping between threads A and B is enabled. Start points 304A and 304B can be identified by scheduling component 210. That is, the initiation of execution instructions 302A-302C in Method II (at 304A) can be provided via communication, such as data transfer, including start instructions and / or wake-up instructions, as will be described in further detail below.

[0071] Dependency 306A can be identified by the scheduling component, further enabling the recognition of a start point 304B for the satisfaction of dependency 306A, for example via another communication, such as the reception of data transmission (DT) 308A. Although data transmission 308A is shown as being received from the same action node 203A, it will be understood that data transmission 308A may depend on one or more other data transmissions outside of action node 203A, and not specifically shown.

[0072] Similarly, at one or more later points of execution, one or more waiting points such as waiting points 310A and 310B can be identified by scheduling component 210, where one or more execution instructions will complete execution, but additional execution instructions will be scheduled later depending on dependencies (e.g., at 304) and / or include separate start points (e.g., at 304A).

[0073] Method III illustrates the scenario where threads A and B operate simultaneously on different processors, providing a high-performance case. For example, without task swapping or switching, the start point 304D in Method III can be implemented while instruction 302A is being executed in Method III, and instructions 302B and 302C are not fully executed in Method III, unlike Method II. As shown, for example, along the timeline from left to right in Methods I, II, and III, threads A and B can operate with higher performance in Method III compared to Methods I and II.

[0074] It should be understood that not all start points, dependencies, wake-up points, and / or execution instructions are in [the context of the previous sentence]. Figure 3 The nodes are marked. Rather, for the purposes of the explanation provided above, certain initiation points, dependencies, wake-up points, and / or execution instructions have been marked. Nevertheless, scheduling component 210 can identify one or more, such as all initiation points, dependencies, wake-up points, and / or execution instructions, relative to one or more action nodes for the execution of quantum program 209. For example, in Figure 3 In this example, the third instruction on thread A (the third block of 302A) generates data that needs to arrive before the third instruction on thread B (the third block at 302D). That is, thread B has a dependency on thread A and therefore waits until the data (DT 308A) is available. This dependency exists and will be satisfied regardless of the order in which the threads execute, as shown in each of the three methods.

[0075] Still referencing Figure 3 It will be understood that scheduling component 210 can divide the identified execution instructions to be executed at the action node into one or more threads, such as to allow for easier or more efficient execution at the action node and / or easier and / or more efficient monitoring by time management component 212, which will be described in further detail. For example, Figure 3The execution instructions 302 at action node 203A are shown, having been divided into threads A and B by scheduling component 210. In one example, each action node can be a thread in the simulation environment. When running on one or more machines with multithreading support, tangible acceleration of the corresponding simulation can be achieved by running threads in parallel (e.g., as shown in method III). The order of thread execution can vary from machine to machine or from run to run on the same machine, provided that all dependencies are recognized and handled efficiently by the simulator (e.g., scheduling component 210), while still achieving the same results even if timing variations occur on or between machines (e.g., memory conflicts, message bottlenecks, cache misses, and / or similar situations).

[0076] In relation to various scheduling aspects that can be identified at least partially by scheduling component 210 before the execution of quantum program 209, such as one or more initiation points, dependencies, wake-up points, and / or execution instructions, it will be understood that one or more nodes of the non-restrictive system 200, such as action nodes 203A and 203B, can be configured to perform one or more functions corresponding to them (e.g., in relation to various scheduling aspects). For example, one or more action nodes can operate in specific execution states, such as an active state or a waiting state. An active state can refer to a state in which one or more execution instructions are being executed and / or operated. A waiting state can refer to a state in which no execution instructions are being executed and / or operated. A node's waiting state can include at least a partially dormant state, such as idle or swapping out a thread to allow another to execute. A trigger can wake a node from a waiting state to an active state, and this trigger can be provided by time management component 212, which will be described below.

[0077] In one or more embodiments, one or more nodes may adopt one or more additional execution states (e.g., state types). For example, a node may adopt an initial state before the quantum program begins. The initialization of one or more execution instructions at a node in the initial state may be provided via the aforementioned triggers and / or by another component of the non-limiting system 200. For example, a counter at each node may be started uniformly, as via quantum processor 205 and / or quantum operation component 207.

[0078] A node can be in a paused state, where no further execution instructions are scheduled to be executed on that node, but other nodes can still have one or more execution instructions to execute. While in a paused state, a node can continue to receive data transmissions that may or may not be considered problematic (e.g., a single message to a stopped node might be erroneous, while receiving a copy of a system-wide broadcast message is not). An error state can be entered from any other state, such as upon detecting and / or encountering an error or architectural violation. An abort state can be entered from any other state, such as when one or more nodes are instructed to stop the current and / or future execution of one or more execution instructions. The indication to enter an abort state can be provided by triggers provided by the time management component 212, which will be described below. A termination state can be entered to dismantle the simulation, for example when all nodes are stopped and no messages are to be delivered.

[0079] To summarize one or more aspects described above, various execution aspects, such as one or more data transfers, initiation points, dependencies, wake-up points, and / or execution instructions, can be identified by scheduling component 210. One or more nodes, such as one or more action nodes and / or one or more control nodes, can be configured to operate in one or more specific execution states (e.g., active state, wake-up state, initial state, paused state, error state, aborted state, and / or terminated state) that may correspond to various scheduling aspects.

[0080] Now turn to Figure 2 And turning to one or more functions of the time management component 212, which will further describe in detail the advancement of time / count at the local counters of nodes (e.g., action nodes 203A and / or 203B), and the switching between one or more various execution states.

[0081] First, the switching between one or more execution states can be managed by the time management component 212, or by the local management of one or more nodes at one or more nodes.

[0082] For example, the transition from an active state to a waiting state can be controlled by the local node that has these states, because the local node can recognize when it should initiate the execution of dependent instructions.

[0083] Alternatively, the transition from a waiting state to an active state can be controlled by a time management component, such as by delivering dependency data that a node in the waiting state is waiting for. Similarly, the identification that one or more dependencies have been satisfied and / or one or more start points have been reached can also be managed by time management component 212, rather than by local management at one or more nodes (e.g., action nodes 203A and 203B). In this way, computational power and memory at one or more nodes can be focused on executing execution instructions and / or can employ precise timing for instruction execution, without complex instruction scheduling and / or high-granularity calls that do not require input processing (e.g., every clock cycle at all nodes).

[0084] One or more examples of communication by the time management component 212 are now provided to further illustrate the time management performed by the time management component 212. For example, the time management component 212 may send individual data transmissions to one or more action nodes 203A and 203B to individually trigger one or more of these nodes to execute one or more individual instructions, such as one or more execution instructions scheduled by the scheduling component 210. That is, one or more action nodes 203A and 203B may be triggered from a waiting state to a corresponding active state via the time management component 212.

[0085] In practice, one or more action nodes 203A and / or 203B can operate under local control to control instruction execution once triggered, until a waiting state is activated. The waiting state can be activated by completing one or more execution instructions, such as at a waiting point (e.g., ...). Figure 3 Waiting point 310A in the middle) and / or via encountering dependencies (e.g., Figure 3 (Dependency 306A in the context). The time management component 212 can then control the activation of switching the waiting state to the active state at action nodes 203A and / or 203B to initiate the execution of one or more execution instructions at action nodes 203A and / or 203B.

[0086] Similarly, the time management component 212 may trigger a switch to a paused state, an aborted state, and / or any other suitable execution state as defined herein or otherwise deemed appropriate, via one or more communications, such as one or more data transfers, data verifications, and / or other triggers.

[0087] Next, the advancement of the counter at each node (e.g., action nodes 203A and / or 203B) can be managed by the time management component 212 (e.g., global management) or by local management at one or more nodes.

[0088] First, it should be understood that nodes (e.g., action nodes 203A and / or 203B) can self-propel their respective local counters, where the instructions being executed are independent of messages and / or data. For example, an active node can update its local TOD counter from its corresponding local counter, incrementing the counter based on the number of cycles consumed for each executed instruction. However, in a waiting state, a node cannot update its local TOD counter because the node does not know how long it will take for the data it is waiting for to arrive.

[0089] As an alternative and / or supplement, a time management component, such as a time manager, such as time management component 212, can typically control the time management of the execution of quantum program 209 at one or more nodes, such as action nodes 203A and / or 203B. Typically, time management component 212 can communicate with one or more nodes (e.g., action nodes 203A and / or 203B) to trigger the execution of one or more quantum program instructions (e.g., execution instructions) relative to a counter (e.g., a local counter) at the corresponding node advanced by the communication. That is, one or more communications of time management component 212, such as including one or more data transfers (e.g., such as those compiled via scheduling component 210), can control the triggering of one or more nodes, such as action nodes 203A and 203B, and / or the advancement of local counters at one or more nodes, such as for the execution of quantum program 209. One or more identical and / or different communications of time management component 212 can advance local counters at one or more nodes based on access to time management component 212.

[0090] That is, one or more communications via the time management component 212 enable the time management component 212 to facilitate synchronization between one or more individual counters at one or more nodes, such as the TOD counters at action nodes 203A and 203B, and / or between them. Each counter can be included and / or accessed by the time management component 212 and / or the execution management system 202 via any suitable communication method. For example, upon initiating the execution of the quantum program 209, the time management component 212, the execution management system 202, and / or the quantum system 201 can trigger each counter to begin counting at any appropriate start point (e.g., 0).

[0091] Typically, a time management component, such as time management component 212, monitors data publication from all nodes and can advance the TOD counters of (waiting) nodes to the message delivery time, which is predicted by a combination of the sender's (e.g., the sender node's) TOD at the time of publication and, for example, the propagation delay of message delivery based on the physical characteristics of the simulated system. Time management component 212 can deliver messages such as based on the state of all nodes and / or any message priority rules that may be applied based on the modeled system. A detailed description of this functionality will now be provided.

[0092] For example, time management component 212 may, for instance, reset a counter at a node upon initial triggering, via one or more data transfers, data verifications, and / or other triggers. This "reset" may initialize a local counter at the node. A node may self-update its counter when executing instructions that do not have dependencies. When dependencies occur in the instruction stream and between nodes, data awaiting arrival from another node (e.g., the sending node) may be sent by the other node to trigger the waiting node (e.g., by transmitting qubit measurements), via appropriate message delivery rules (e.g., priority based on message type or priority of the sending node when a message collision occurs). That is, time management component 212 may receive and / or intercept dependent data from another node. Time management component 212 may then deliver the message (i.e., from the other node to the waiting node) and may advance the waiting node's counter (i.e., now the receiving node) to the time when the message will arrive at the hardware (e.g., if not simulated) via the same message and / or communication including the message.

[0093] Time management component 212 can advance a node's local counter based on a combination of the other node's time and the determined actual propagation time of the message. In the above case, time management component 212 can advance the receiving node's local counter based on a combination of the other node's time and the determined actual propagation time for a message including dependent data from the other node. In other words, the new time advanced by time management component 212 to the receiving node's local counter can be a combination of the sending node's counter value when the message was sent plus the message propagation time based on physical system characteristics. Physical system characteristics can be actual or hypothetical. Physical system characteristics can be unique (e.g., cable lengths can differ between physical components) and can be determined by time management component 212 and / or scheduling component 210 during instruction compilation and / or runtime.

[0094] It is understood that, additionally and / or alternatively, the time management component 212 may employ separate communication for local counter control and instruction execution control.

[0095] Including propagation delays can enable both the simulated and real implementations of the receiving node (i.e., the waiting node) to restart execution simultaneously with respect to all other nodes in the system (e.g., after a waiting state). If the simulated and real nodes are not functionally identical, the periodically accurate output waveforms produced on all nodes (e.g., those adopted and / or observed by the qubits) may undesirably differ between the simulated and real implementations, which could undesirably reduce the efficiency and / or functionality of the simulation.

[0096] In one or more embodiments, when a waiting state is activated, an action node may send and / or load messages including a cycle count and / or a TOD count into the time management component 212 for transmission. In this way, the time management component 212 can verify and / or further track the advancement cycle at one or more action nodes.

[0097] The time management component 212 can control one or more nodes to enter a waiting state. In this case, the underlying machine running the node threads, such as the corresponding processor, can enter a sleep mode to consume less computational power, or it can swap out a node thread so that another thread waiting for computational resources can begin execution. A side effect of using the time management component 212 in this way is the loss of synchronization between counters at each node. In fact, when viewing the entire system at any given moment during the simulation, a node may have counters with different execution times before or after one or more other nodes. However, by using the correct message delivery rules adopted by the time management component 212, which can be unique to each physical system, the same result about the periodic accurate waveforms produced by all nodes can be generated, regardless of the order in which the threads take action during one or more simulation runs.

[0098] Next, let's look at... Figure 4 And also refer to Figure 2 A schematic diagram 400 is shown at a non-restricted system 200, illustrating instruction execution. This schematic diagram 400 provides further illustration of the initiation points, waiting points, and / or dependencies of the time management component 212 employing various data transmissions 402 relative to the execution instructions (EI) executed at the control node, action node 203A, and action node 203B. Further details regarding... Figure 4 A further explanation involves the control of a time management component 212 of one or more counters at one or more nodes of the non-restrictive system 200, such as action nodes 203A and 203B.

[0099] For example, time management component 212 can reset local counters at action nodes 203A and / or 203B. In one example, data transfer 403 to action node 203A can reset the local counter at action node 203A to count 435. Similarly, one or more nodes, such as action nodes 203A and 203B, can transfer counts at their respective local counters when entering a wait state and / or a paused state.

[0100] Go to Figure 5 And also turned to Figure 2 Communication of the time management component 212 may be facilitated at least in part by one or more mailboxes 530, which may be generated by the execution component 216.

[0101] Time management component 212 may use one or more mailboxes 530 at one or more nodes, such as action nodes 203A and / or 203B, wherein the mailboxes 530 may dynamically change their mailbox assignments. Mailbox assignments may relate to the execution state of a node, such as active, waiting, initial, paused, error, and / or aborted states. That is, in one or more embodiments, various execution states of a node may be communicated indirectly to time management component 212 via one or more mailboxes 530. Mailbox assignments generally allow time management component 212 to monitor the execution of a quantum program (e.g., quantum program 209) at a node during the execution of the quantum program. In practice, one or more assignments may provide time management component 212 with notifications of one or more actions and / or procedures to be performed relative to one or more nodes, such as action nodes 203A and / or action nodes 203B, as will now be described in more detail.

[0102] See Figure 5 One or more (such as each) action node 203A and 203B may include one or more action node components, such as an extender (EX), a waveform player (WP), a digital-to-analog converter (DAC) device, an analog-to-digital converter (ADC) device, and / or a kernel / discriminator (KD). In one or more embodiments, one or more functions of one or more action node components may be performed by another one or more action node components. In one or more embodiments, one or more action node components may be combined and / or omitted.

[0103] Action node 203A can function to operate on at least one qubit, such as qubit 211A. Similarly, action node 203B can function to operate on at least one qubit, such as qubit 211B. Furthermore, it will be appreciated that although only two qubits are shown, in one or more other embodiments, multiple additional action nodes may be included to operate on multiple additional qubits, such as 7 or more qubits, 10 or more qubits, and / or 100 or more qubits.

[0104] Referring now to action node 203A, but also applicable to action node 203B, one or more aspects of action node 203A will be described in detail. Action node 203A may include an expander (EX) 521A, a waveform player (WP) 522A, a digital-to-analog converter (DAC) device 523A, an analog-to-digital converter (ADC) device 524A, and a kernel / discriminator (KD) 525A, and may act on qubits (0) 211A. Expander 521A can convert compressed information about quantum gates into a sequence of one or more quantum gates. At least a portion of the sequence may be compiled at a database external to and / or internal to the non-restricted system 200. Waveform player 522A can convert a sequence of two or more quantum gates into code points for use by DAC device 523A. For example, waveform player 522A may refer to a library representing code points of one or more quantum gates and use the library of code points to construct a sequence of code points. The library of code points may be stored in a database external to and / or internal to the expanded non-restricted system 200. DAC device 523A can convert a sequence of code points into one or more analog signals, such as analog control signals and / or analog measurement signals. During the measurement time window of the state of a qubit, such as qubit (0) 211A, ADC device 524A can sample one or more analog signals to generate one or more digital codes representing voltages.

[0105] The kernel / discriminator 525A can convert one or more measurement samples into binary representations of the states of qubits. In one or more other embodiments, the kernel / discriminator 525A can convert one or more measurement samples into one or more binary states, such as where a binary string can be used and / or the binary string can be passed around to represent one or more states (e.g., four different quantum states defined as 00, 01, 10, and 11). The kernel / discriminator 525A can output the qubit value of qubit (0) 211A. Furthermore, although in Figure 5 Not specifically shown, but in one or more embodiments, the qubit measurement output from the kernel / discriminator can be fed into a corresponding extender, fed into different extenders, and / or broadcast to two or more nodes in the corresponding system.

[0106] For example, during the compilation of execution instructions, one or more mailboxes 530 may be generated, for example, by execution component 216 and / or by time management component 212. In one or more embodiments, one or more mailboxes 530 may be generated at least partially during runtime by execution component 216, time management component 212, and / or kernel / discriminator component 525. Each action node may use at least one mailbox 530, such as mailbox 530A associated with action node 203A and mailbox 530B associated with action node 203B. Execution component 216 may identify and / or employ one or more hardware and / or software aspects of non-limiting system 200 and / or outside of non-limiting system 200 to implement mailboxes 530. In one or more embodiments, software aspects may include a cloud network or part of a cloud network. Hardware aspects may include one or more physical hardware components, such as routers, servers, cables, routing boxes, custom hardware interfaces, etc.

[0107] As shown, mailbox 530 can adopt various specifications related to the execution state of the corresponding node. The specifications at mailbox 530 can be dynamically toggled, for example, by the time management component 212 and / or by the node including the corresponding mailbox 530. The specifications can be monitored by the time management component 212, thereby instructing, guiding, and / or suggesting that the time management component 212 execute one or more compiled and / or uncompiled execution aspects, such as data transfer.

[0108] In one or more embodiments, the mailbox specification may include an empty, loaded, delivered, and read specification. An empty specification may indicate that mailbox 530 is not in use and therefore mailbox 530 may be loaded with new data transmissions, such as messages. A loaded specification may indicate that mailbox 530 contains messages. When the loaded data transmission is to be used, the time management component 212 may change the loaded specification to a delivered specification to trigger a node to switch from a waiting state to an active state. A delivered specification may indicate that mailbox 530 is visible to the receiver node. The receiver node (e.g., the node that includes mailbox 530) may change the delivered specification to a read specification, such as when content begins to be retrieved by the receiver node. This change may indicate to the time management component 212 that the receiver node is working correctly. A read specification may indicate that the receiver node may act on, such as immediately acting on, the content of the data transmission and / or make a copy of the data transmission for later processing. After the receiver node acts on the data transmission and / or makes a copy of it, the receiver node may change the mailbox specification back to an empty specification.

[0109] In one or more embodiments, mailbox 530 can be point-to-point, allowing one sender and one receiver. For example, mailbox 530 can be uniquely identified by a sender node ID and channel, a receiver node ID and channel, and / or a multicast group (MCG). Using a point-to-point mailbox allows for customized delivery times for each data transmission.

[0110] Furthermore, it will be understood that one or more embodiments of the non-limiting system 200 may employ the general mechanism of a mailbox in one or more different ways, or even replace one or more mailboxes with different mechanisms. However, in relation to Figure 5 In the described embodiments, mailbox designation allows for clear definition and control of mailbox ownership / control. That is, in an empty state, the sending node can control write access to the corresponding mailbox. Once new information shared with other nodes becomes available, this allows the sending node to immediately populate the corresponding mailbox with data.

[0111] In the loading state obtained for the corresponding mailbox, ownership / control can be transferred to the time management component 212, which is responsible for presenting the mailbox to the receiving node at the correct time, given the state of the receiving node (e.g., waiting or active) and given message delivery rules (e.g., priority based on message type or priority of the sending node when message conflicts occur).

[0112] In the delivery state, ownership / control of the corresponding mailbox can be exercised by the receiving node. The delivery state indicates that the mailbox content is ready for the receiving node to process, but processing has not yet begun.

[0113] In the subsequent read state, the receiving node may have already opened the corresponding mailbox and begun processing its contents. Mailbox ownership may remain with the receiving node. In one or more embodiments, the read state may be considered optional, but it can be used for debugging to differentiate between the delivery and read states. When the receiving node has finished processing the corresponding mailbox content, it can return the mailbox specification settings to an empty state to repeat the loop.

[0114] Each mailbox allows only one sender and one receiver, allowing for distinct and unique propagation times between nodes. This enables simulation by the physical system's execution management system 202 (e.g., cable lengths can vary between physical components). While this exemplary embodiment breaks down a broadcast operation into multiple mailboxes (one for each receiver), it should be understood that different embodiments can implement a mailbox structure where a broadcast message includes one sender and multiple receivers, where each receiver has a different path delay.

[0115] Additionally, mailbox 530 may include one or more fields and / or sub-registers, and / or may employ different types of mailboxes at one or more nodes. Each of the one or more fields and / or sub-registers and / or different types of mailboxes may employ the various mailboxes specified above. In one or more embodiments, one or more fields, sub-registers, and / or mailbox types may include broadcasting, qubit values, time comparisons, and / or receiving qubits under a mask. Broadcast fields, sub-registers, and / or mailbox types can be used to send and / or receive the same message in multiple mailboxes 530. Qubit value fields, sub-registers, and / or mailbox types may be used to send and / or receive qubit measurements. Time comparison fields, sub-registers, and / or mailbox types may be used so that nodes send data transmissions to themselves and / or receive data transmissions from themselves, as controlled by time management component 212. Time comparisons may be mechanisms for synchronization, whereby a node can suspend instruction execution until a specific future TOD is reached. Receiving qubits under a mask fields, sub-registers, and / or mailbox types can be used to wait for one or more qubit measurements to occur before continuing instruction execution. This can be used by the classical part of a quantum algorithm (e.g., a control node) to delay determining the future direction of a test until its current sub-part is complete.

[0116] Analysis component 218 may employ one or more aspects of the operating environment, such as Figure 9 The operating environment 900 shown is designed to provide, for example, receiving, retrieving, and / or otherwise obtaining one or more experimental results, such as quantum results, from the quantum system 201 relative to one or more manipulated qubits 211. As a non-limiting example, one or more experimental results may be downloaded directly and / or indirectly from the quantum manipulation component 203 and / or from the execution management system 202, received via WAN 956 from memory / storage 952, and / or via WAN 956 from an environment such as cloud computing 1050. Figure 10 Download the 1010 cloud computing node.

[0117] The execution management system 202 may also include an output component 220. One or more measurement results may be output from the non-limiting system 200 via the output component 220. One or more measurement results may include and / or may be based at least in part on one or more quantum results output from the quantum system 201, and / or may be in response to a quantum job request from a requesting entity. For example, the measurement results may include one or more measurements of one or more states of one or more qubits in one or more qubits 211 of the quantum system 201.

[0118] In summary, one or more embodiments described herein can achieve improved performance of quantum systems, such as simulated quantum systems, by at least partially globally managing locally managed counters at one or more action nodes of the quantum system. The local counters can be independently advanced by the respective node and / or by the execution management system of one or more embodiments. Performance at one or more action nodes can be dedicated to executing instructions to advance the corresponding quantum program. Furthermore, instructions can be modeled by a scheduling component without modeling the instructions and / or parts thereof to align execution at one or more action nodes and / or resolve one or more dependencies between one or more action and / or control nodes. Instead, one or more embodiments described herein can manage the triggering of one or more action nodes to achieve alignment. One or more embodiments described herein can also manage data transfer between control and / or action nodes to trigger the initiation of one or more action nodes when dependencies are satisfied. This global management of alignment and / or initiation upon dependency satisfaction also allows performance at one or more action nodes to be dedicated to executing instructions to advance the corresponding quantum program. Similarly, global alignment management allows the associated scheduler to perform less complex logic and / or instruction modeling for executing the corresponding quantum program.

[0119] In one or more cases, given the increased execution time and / or execution quality, one or more embodiments described herein can allow for increased scaling of the execution of one or more quantum programs. Additionally and / or alternatively, employing the described subject matter can allow for reduced cost and / or complexity of systems used to execute quantum programs according to the described subject matter. This allowance can be attributed, at least due to the use of low amounts of memory, time, and / or computational power at one or more action nodes of the quantum system, taking into account global time management at one or more other nodes and / or across one or more other nodes (such as one or more control nodes).

[0120] Turn now Figure 6-8 ,These Figure 1 The diagram illustrates a flowchart of an example non-limiting computer implementation of a method 600 that facilitates time management of quantum programs at one or more nodes of a system, according to one or more embodiments described herein with respect to a non-limiting system 200. It will be understood that while the computer implementation of method 600 is described with respect to non-limiting system 200, the computer implementation of method 600 is also applicable to non-limiting system 100. For brevity, repeated descriptions of the same elements and / or processes employed in the various embodiments are omitted.

[0121] First see Figure 6602, the computer-implemented method 600 may include obtaining a job request (e.g., a quantum job request) by a system (e.g., via a non-limiting system 200, an execution management system 202, and / or a job determination component 208) operatively coupled to a processor (e.g., processor 206, a quantum processor, and / or a similar processor).

[0122] At 604, the computer-implemented method 600 may include a quantum program (e.g., quantum program 209) determined by a system (e.g., via a non-limiting system 200, an execution management system 202, and / or a job determination component 208) for at least partially implementing a job request (e.g., a quantum job request).

[0123] At 606, the computer-implemented method 600 may include a set of execution instructions (e.g., including one or more execution instructions) compiled by a system (e.g., via a non-limiting system 200, an execution management system 202, and / or a scheduling component 210) for operating the quantum program (e.g., quantum program 209) on the quantum system (e.g., quantum system 201, such as on one or more qubits 211).

[0124] At 608, the computer-implemented method 600 may include dividing the execution instructions of one or more nodes (e.g., action node 203A and / or action node 203B) into one or more individual threads (e.g., such as...) at one or more nodes (e.g., action node 203A and / or action node 203B) by a system (e.g., via a non-limiting system 200, an execution management system 202, a time management component 212, and / or a scheduling component 210). Figure 3 (Thread A and Thread B are shown).

[0125] At 610, the computer-implemented method 600 may include one or more scheduling aspects (e.g., start point, wait point, and / or dependency) of the set of execution instructions identified by a system (e.g., via a non-limiting system 200, an execution management system 202, a time management component 212, and / or a scheduling component 210).

[0126] At 612, the computer-implemented method 600 may include one or more additional execution instructions compiled by a system (e.g., via a non-limiting system 200, an execution management system 202, a time management component 212, and / or a scheduling component 210) for switching one or more nodes (e.g., action node 203A and / or action node 203B) to an execution state corresponding to one or more identified scheduling aspects (e.g., an initial state, a paused state, an error state, an aborted state, an active state, a waiting state, and / or a terminated state).

[0127] At 614, the computer-implemented method 600 may include the set of execution instructions output by a system (e.g., via a non-limiting system 200, an execution management system 202, and / or a scheduling component 210).

[0128] Turn now Figure 7 The diagram shows Figure 6 An extension of the computer-implemented method 600, and specifically shown that it can be implemented... Figure 6 The various aspects that occur at point 616 of the continuation triangle.

[0129] At 702, the computer-implemented method 600 may continue from the continuation triangle 616 and may include preparing one or more nodes (e.g., action nodes 203A and / or action nodes 203B) by a system (e.g., via non-limiting system 200, execution management system 202, time management component 212, and / or execution component 216) to execute the quantum program. Figure 8 The diagram illustrates one or more processes included in this preparation step, using a continuation triangle 703.

[0130] At 704, the computer-implemented method 600 may include setting a local counter accessible via a time manager (e.g., time management component 212) at a node (e.g., action node 203A or 203B) to begin counting (e.g., 0).

[0131] At 706, the computer-implemented method 600 may include the execution of the quantum program (e.g., quantum program 209) initiated by a system (e.g., via a non-limiting system 200, an execution management system 202, a time management component 212, a scheduling component 210, a quantum system 201, quantum processors 205A, 205B and / or quantum operation components 207A, 207B).

[0132] At 708, the computer-implemented method 600 may include one or more dynamic mailboxes specified by a system (e.g., via a non-limiting system 200, an execution management system 202, a time management component 212, and / or an execution component 216) (e.g., empty, loaded, delivered, and / or read specifications of mailbox 530).

[0133] At 710, the computer-implemented method 600 may include monitoring one or more mailboxes (e.g., mailbox 530) by a system (e.g., via a non-limiting system 200, an execution management system 202, and / or a time management component 212).

[0134] At 712, the computer-implemented method 600 may include one or more communications by the system (e.g., via a non-limiting system 200, an execution management system 202, and / or a time management component 212) with one or more nodes (e.g., one or more action nodes 203A and / or 203B). Figure 8 The diagram illustrates one or more processes included in this execution step, using a continuation triangle 713.

[0135] At 714, the computer-implemented method 600 may include providing one or more measurements (e.g., quantum measurements of the one or more qubits 211) by a system (e.g., via a non-limiting system 200, an analysis component 218, a quantum system 201, quantum processors 205A, 205B and / or quantum operation components 207A, 207B).

[0136] Turn now Figure 8 The diagram shows Figure 7 An extension of the computer-implemented method 600, and specifically shown that it can be implemented... Figure 7 The various aspects that occur at point 716 of the continuation triangle.

[0137] At 802, the computer-implemented method 600 may include analyzing the one or more measurements (e.g., quantum measurements of the one or more qubits 211) by a system (e.g., via a non-limiting system 200, an analysis component 218, a quantum system 201, quantum processors 205A, 205B and / or quantum operation components 207A, 207B).

[0138] At 804, the computer-implemented method 600 may include outputting one or more measurement results (e.g., one or more measurement results 226) by a system (e.g., via a non-limiting system 200, an execution management system 202, and / or an output component 220).

[0139] Also in Figure 8 The diagram illustrates one or more processes following continuation triangle 703, which can be... Figure 7 The preparation step 702 is performed, and it is understood that the connecting arrows are not used to connect process blocks 812, 814, and 816. This is to further illustrate that any or all of these steps can be performed relative to preparation step 702.

[0140] At 812, the computer-implemented method 600 may include one or more possible execution states (e.g., initial state, paused state, error state, aborted state, active state, waiting state, and / or terminated state) of one or more nodes (e.g., action node 203A and / or action node 203B) defined by a system (e.g., via non-limiting system 200, execution management system 202, and / or scheduling component 210).

[0141] In 814, the computer-implemented method 600 may include setting one or more counters at one or more nodes (e.g., action node 203A and / or action node 203B) to start counting (e.g., 0) by a system (e.g., via non-limiting system 200, execution management system 202 and / or scheduling component 210).

[0142] In 816, the computer-implemented method 600 may include generating one or more mailboxes (e.g., mailbox 530) at one or more nodes (e.g., action node 203A and / or action node 203B) by a system (e.g., via non-limiting system 200, execution management system 202, scheduling component 210, time management component 212 and / or execution component 216).

[0143] In addition, Figure 8 The diagram also illustrates one or more processes following continuation triangle 713, which can be... Figure 7 The execution step 712 is performed, and it is understood that the connecting arrows are not used to connect process blocks 822, 834, and 836. This is to further illustrate that any or all of these steps can be performed relative to step 712.

[0144] In 822, the computer-implemented method 600 may include the transfer of one or more data transmissions (e.g., including one or more measurements, instructions, and / or other data) between one or more nodes (e.g., one or more action nodes 203A and / or 203B) and a time management component (e.g., time management component 212) by a system (e.g., via non-limiting system 200, execution management system 202, and / or time management component 212). For example, one or more data transmissions may be performed to satisfy and / or fulfill one or more dependencies, such as by providing one or more measurements, instructions, and / or other data.

[0145] In 824, the computer-implemented method 600 may include triggering one or more execution states (e.g., initial state, suspended state, error state, aborted state, active state, waiting state, and / or terminated state) of one or more nodes (e.g., action node 203A and / or action node 203B) by a system (e.g., via non-limiting system 200 and / or execution management system 202). The triggering may be provided at least in part to address one or more scheduling aspects (e.g., start point, waiting point, and / or dependency).

[0146] In 826, the computer-implemented method 600 may include advancing one or more counters at one or more nodes (e.g., one or more action nodes 203A and / or 203B) by a system (e.g., via non-limiting system 200, execution management system 202, and / or time management component 212). This advancement may be achieved through one or more data transmissions and / or through one or more other communications, data pulses, etc. For example, the time management component (e.g., time management component 212) may advance the counters at the nodes based on a combination of the time of another node (e.g., the sending node transmitting data) and a determined actual propagation time for communication. The determined actual propagation time may be based on one or more physical system characteristics, which may be of the actual system or a hypothetical system. The physical system characteristics may be unique (e.g., cable lengths may differ between physical components) and may be determined by the time management component 212 and / or scheduling component 210 during the compilation of the executed instructions and / or during runtime. The propagation time may include the simulated time from the sending node to the receiving node, which is based on the actual propagation time from the sending node, intercepted and analyzed by the time management component, and then transmitted to the receiving node. Alternatively and / or additionally, the node may self-propelle a counter relative to the execution of one or more quantum program instructions independent of communication.

[0147] For the sake of simplicity, the computer-implemented methods provided herein are depicted and / or described as a series of actions. It will be understood and appreciated that the invention is not limited to the actions and / or the order of actions shown; for example, actions may occur in one or more orders and / or concurrently, and may occur with other actions not presented and described herein. Furthermore, not all actions shown are applicable to implementing the computer-implemented methods according to the described subject matter. Additionally, those skilled in the art will understand and appreciate that the computer-implemented methods may alternatively be represented as a series of interrelated states via state diagrams or events. Furthermore, it should be understood that the computer-implemented methods described herein and throughout this specification can be stored on an article of writing to facilitate the transfer and assignment of the computer-implemented methods to a computer. The term "article of writing" as used herein is intended to encompass any computer program accessible from any computer-readable device or storage medium.

[0148] Now combine Figure 2-8 Furthermore, still for the non-limiting system 200 and the execution management system 202, one or more embodiments as described herein can provide a novel, previously unincorporated time management-driven approach for instruction execution at one or more nodes of the system.

[0149] A practical application of the execution management system 202 and / or the non-limiting system 200 is that it can be implemented in one or more domains to achieve scaled program execution, such as quantum program execution. Other non-quantum embodiments can also benefit from these techniques, such as modeling the system with multiple, largely independently executing nodes whose outputs are aligned at a tighter scale than the instruction level (e.g., multiple cellular phones sending and receiving analog waveforms, each running instructions of the application with coordinated behavior at different points in the application). In yet another example, one or more embodiments described herein can control the execution of one or more execution instructions for performing one or more operations on one or more real-world qubits by real-world classical and / or quantum devices.

[0150] Furthermore, the execution management system 202 and / or the non-restricted system 200 can facilitate one or more technological improvements to the computer and / or computer system that includes the execution management system 202. For example, the execution management system 202 and / or the non-restricted system 200 can provide control over time management at a higher granularity than that managed locally at one or more nodes, and thus provide control over instruction execution. This can improve performance at one or more action nodes, including faster performance and / or performance with lower complexity. Compared to current methods that utilize complex, higher-granularity scheduling and / or provide one or more triggers included in one or more instructions provided to one or more nodes, less complex performance can be facilitated, at least by the control of triggering at one or more nodes facilitated by the time management component 212.

[0151] As a further example, one or more systems, methods, and / or computer program products described herein can advance quantum programs through one or more streams executing one or more instructions on one or more different nodes, which can operate as separate threads, while also providing accurate modeling of TOD and / or timers to enable accurate execution and / or alignment of quantum tasks. Compiling one or more execution aspects via scheduling component 210 enables time management component 212 to simulate one or more time periods, time delays, etc., which allows for the management and execution of the corresponding quantum program with high speed and / or high efficiency relative to precise clock cycles, such as not calling all nodes in every clock cycle. As a result of such simulation, one or more effects and / or technical improvements are provided, such as one or more nodes entering a waiting state, for example, in a sleep mode using less computational power, counters at the node can be turned off during the node's waiting state, and / or one or more nodes can lose synchronization relative to one or more other nodes and / or relative to time management component 212.

[0152] The execution management system 202 and / or the non-restrictive system 200 may provide additional and / or alternative technical improvements to one or more systems employing the execution management system 202. One such technical improvement may include faster and / or more efficient execution of quantum programs while employing less memory, time, and / or computing power at the hardware and / or software level than existing management and / or control methods. These technical improvements may be achieved in part by the adoption of global control and time management, facilitated by the time management component 212, the execution management system 202, and / or the non-restrictive system 200.

[0153] Additionally and / or alternatively, another such technological improvement could be the use of and / or utilization of reduced memory, time, and / or computational power compared to existing node management methods, relative to the execution of quantum programs. In fact, an advantage of one or more processes to be executed by the execution management system 202 could be enhanced (e.g., improved and / or optimized) execution of quantum programs.

[0154] Therefore, by employing time management component 212, scheduling component 210, execution component 216, and / or execution management system 202, the described subject matter can result in improved execution speed of one or more quantum jobs due to the use of less memory, less time, and / or less computational power. For example, relative to the hybrid classical / quantum unrestricted system 200, where there may be a high demand for executing a large number of quantum programs using quantum system 201, it can be followed that using unrestricted system 200 (e.g., including time management component 212, scheduling component 210, execution component 216, and / or execution management system 202) can facilitate the scaled execution of quantum programs. In fact, the use of execution management system 202 itself can be scalable, such as where execution management system 202 can execute at least one quantum program management and / or node management in parallel, at least partially simultaneously with another quantum program management and / or node management.

[0155] Although it has been referenced Figure 2-8 The non-limiting system 200 describes one or more of the advantages described above, but it will be understood that the one or more advantages described above may also be applied to systems such as... Figure 1 The described non-restrictive system 100.

[0156] The description now turns to what can be applied as described above regarding Figure 1-8 This describes one or more embodiments of non-limiting systems 100 and / or 200, and / or extensions and / or modifications thereof. Systems and / or devices have been (and / or will be further) described herein with respect to the interaction between one or more components. It should be understood that such systems and / or components may include those components or sub-components specified herein, one or more of the specified components and / or sub-components, and / or additional components. Sub-components may be implemented as components communicatively coupled to other components, rather than being included within a parent component. One or more components and / or sub-components may be combined into a single component providing aggregate functionality. These components may interact with one or more other components, which are not specifically described herein for brevity, but are known to those skilled in the art.

[0157] It should be understood that one or more embodiments described herein are inherently and / or inextricably linked to computer technology and cannot be implemented outside of a hybrid classical / quantum computing environment. For example, one or more processes performed by one or more embodiments described herein can provide quantum program execution more efficiently and even more practically than current systems and / or technologies. Systems, computer-implemented methods, and / or computer program products that facilitate the execution of these processes have great utility in the field of quantum computing and cannot be practically implemented outside of a computing environment.

[0158] It should also be understood that one or more embodiments described herein can employ hardware and / or software to solve problems that are inherently highly technical (e.g., related to analog-to-digital conversion and / or binary search of multiple data), non-abstract, and cannot be performed as a set of mental actions by humans. For example, one person or even thousands of people cannot electronically compute the analog-to-digital conversion and / or binary search of multiple data performed by one or more embodiments described herein. Furthermore, neither the human mind nor humans with pen and paper can electronically compute the analog-to-digital conversion and / or binary search of multiple data performed by one or more embodiments described herein.

[0159] In one or more embodiments, one or more of the processes described herein may be executed by one or more dedicated computers (e.g., dedicated processing units, dedicated classical computers, dedicated quantum computers, dedicated hybrid classical / quantum systems, and / or another type of dedicated computer) to perform tasks defined in relation to one or more of the technologies described above. One or more embodiments and / or components thereof described herein can be used to address new problems arising from advancements in the aforementioned technologies, quantum computing systems, cloud computing systems, computer architectures, and / or the use of other technologies.

[0160] One or more embodiments described herein are fully operable to perform one or more other functions (e.g., fully powered, fully executed, and / or another function) while also performing one or more operations described herein.

[0161] Next turn Figure 9-11 In order to provide for the use of this article Figure 1-8 Additional context for the one or more embodiments described herein, detailed description Figure 9-11 .

[0162] Figure 9 The following discussion aims to provide insights into what is possible here. Figure 1-8A brief summary description of a suitable operating environment 900 for one or more embodiments described herein. For example, one or more components and / or other aspects of the embodiments described herein may be implemented in or associated with operating environment 900, such as being accessible therefrom. Furthermore, although one or more embodiments have been described above in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that one or more embodiments may also be implemented in combination with other program modules and / or as a combination of hardware and software.

[0163] Typically, program modules include routines, programs, components, data structures, etc., that perform specific tasks and / or implement specific abstract data types. Furthermore, those skilled in the art will understand that the methods of this invention can be implemented using other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframes, Internet of Things (IoT) devices, distributed computing systems, and personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, each of which can be operatively coupled to one or more associated devices.

[0164] Computing devices typically include various media, which may include computer-readable storage media, machine-readable storage media, and / or communication media, these two terms being used differently from each other as described below. A computer-readable storage medium or a machine-readable storage medium can be any available storage medium accessible by a computer, and includes volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable storage media and / or machine-readable storage media can be implemented using any method or technique for storing information such as computer-readable and / or machine-readable instructions, program modules, structured data, and / or unstructured data.

[0165] Computer-readable storage media may include, but are not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, optical disc read-only memory (CDROM), digital versatile disc (DVD), Blu-ray disc (BD) and / or other optical disc storage, magnetic tape cassettes, magnetic tape, disk storage and / or other magnetic storage devices, solid-state drives or other solid-state storage devices and / or other tangible and / or non-transient media that can be used to store desired information. In this regard, the terms “tangible” or “non-transient” as used herein with respect to storage devices, memories, or computer-readable media shall be understood to exclude only the propagation of transient signals themselves as a modifier, and shall not waive the rights to all standard storage devices, memories, and / or computer-readable media that do not only propagate transient signals themselves.

[0166] Computer-readable storage media can be accessed by one or more local or remote computing devices, for example via access requests, queries and / or other data retrieval protocols, for various operations concerning the information stored on the media.

[0167] Communication media typically embody computer-readable instructions, data structures, program modules, or other structured or unstructured data in the form of data signals such as modulated data signals, such as carrier waves or other transmission mechanisms, and include any information transmission or delivery medium. The term "modulated data signal" or multiple signals refers to signals whose one or more characteristics are set or altered in a manner that encodes information in one or more signals. By way of example and not limitation, communication media may include wired media such as wired networks, direct-line connections, and / or wireless media such as acoustic, RF, infrared, and / or other wireless media.

[0168] Refer again Figure 9 An example operating environment 900 for implementing one or more embodiments of the aspects described herein may include a computer 902, which includes a processing unit 906, a system memory 904, and / or a system bus 908. It will be understood that one or more aspects of the system memory 904 or the processing unit 906 may be applied to the memories 104 and / or 204 and / or the processors 106 and / or 206 of the non-limiting systems 100 and / or 200, respectively. It will also be understood that the system memory 904 may be implemented in conjunction with and / or alternative to the memories 104 and / or 204. Similarly, it will be understood that the processing unit 906 may be implemented in conjunction with and / or alternative to the processors 106 and / or 206.

[0169] Memory 904 may store one or more computer- and / or machine-readable, writable, and / or executable components and / or instructions that, when executed by processing unit 906 (e.g., a classical processor, a quantum processor, and / or a similar processor), facilitate the execution of operations defined by the executable components and / or instructions. For example, memory 904 may store computer- and / or machine-readable, writable, and / or executable components and / or instructions that, when executed by processing unit 906, facilitate the execution of one or more functions described herein in relation to non-limiting systems 100 and / or 200 and / or execution management systems 102 and / or 202, as described herein with or without reference to one or more accompanying drawings of one or more embodiments.

[0170] The memory 904 may include volatile memory (e.g., random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), etc.) and / or non-volatile memory (e.g., read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), etc.) that may employ one or more memory architectures.

[0171] Processing unit 906 may include one or more types of processors and / or electronic circuitry (e.g., classical processors, quantum processors, and / or similar processors) capable of implementing one or more computer- and / or machine-readable, writable, and / or executable components and / or instructions that can be stored at memory 904. For example, processing unit 906 may perform one or more operations that may be specified by computer- and / or machine-readable, writable, and / or executable components and / or instructions, including but not limited to logic, control, input / output (I / O), arithmetic, and / or similar operations. In one or more embodiments, processing unit 906 may be any of one or more commercially available processors. In one or more embodiments, processing unit 906 may include one or more central processing units, multi-core processors, microprocessors, dual microprocessors, microcontrollers, system-on-a-chip (SoC), array processors, vector processors, quantum processors, and / or another type of processor. Examples of processing unit 906 may be used to implement one or more embodiments described herein.

[0172] System bus 908 couples system components, including but not limited to system memory 904, to processing unit 906. System bus 908 may include one or more types of bus architectures that can be further interconnected to memory bus (with or without memory controller), peripheral bus, and / or local bus using one or more of a variety of commercially available bus architectures. System memory 904 may include ROM 910 and / or RAM 912. The Basic Input / Output System (BIOS) may be stored in non-volatile memory such as ROM, erasable programmable read-only memory (EPROM), and / or EEPROM, where the BIOS contains basic routines that facilitate the transfer of information between components within computer 902, such as during startup. RAM 912 may include high-speed RAM, such as static RAM for caching data.

[0173] Computer 902 may include an internal hard disk drive (HDD) 914 (e.g., EIDE, SATA), one or more external storage devices 916 (e.g., floppy disk drive (FDD), memory stick or flash drive reader, memory card reader, etc.) and / or a drive 920, such as a solid-state drive or optical disc drive, which can read from or write to a disc 922 such as a CD-ROM, DVD, BD, etc. Additionally and / or alternatively, in cases involving solid-state drives, disc 922 may not be included unless it is a standalone device. Although the internal HDD 914 is shown as residing within computer 902, the internal HDD 914 may also be configured for external use within a suitable chassis (not shown). Furthermore, although not shown in operating environment 900, a solid-state drive (SSD) may be used in addition to HDD 914, or an SSD may be used instead of an HDD. HDD 914, one or more external storage devices 916, and drive 920 can be connected to system bus 908 via HDD interface 924, external storage interface 926, and drive interface 928, respectively. HDD interface 924 for external drive implementation may include at least one or both of Universal Serial Bus (USB) and Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technologies. Other external drive connection technologies are within the scope of the embodiments described herein.

[0174] The drive and its associated computer-readable storage medium provide non-volatile storage of data, data structures, computer-executable instructions, etc. For computer 902, the drive and storage medium accommodate storage of any data in a suitable digital format. Although the above description of computer-readable storage media refers to corresponding types of storage devices, those skilled in the art will understand that other types of computer-readable storage media, whether currently existing or developed in the future, may also be used in the example operating environment, and / or any such storage medium may contain computer-executable instructions for performing the methods described herein.

[0175] Multiple program modules may be stored in the drive and RAM 912, including an operating system 930, one or more applications 932, other program modules 934, and / or program data 936. All or part of the operating system, applications, modules, and / or data may also be cached in RAM 912. The systems and / or methods described herein may be implemented using one or more commercially available operating systems and / or combinations of operating systems.

[0176] Computer 902 may optionally include emulation technology. For example, a system management program (not shown) or other intermediary may emulate a hardware environment for operating system 930, and the emulated hardware may optionally be different from that of operating system 930. Figure 9The hardware shown. In addition, the operating system 930 can provide a runtime environment, such as the Java Runtime Environment or others, using the .NET Framework for application 932. A runtime environment is a consistent execution environment that allows application 932 to run on any operating system that includes a runtime environment. Similarly, the operating system 930 can support containers, and application 932 can be in the form of a container, which is a lightweight, stand-alone, executable package that includes, for example, code, runtime, system tools, system libraries, and / or application setup.

[0177] Furthermore, the computer 902 can be booted using a security module, such as a Trusted Processing Module (TPM). For example, with a TPM, the boot component hashes the next boot component at boot time and waits for the result to match the security value before loading the next boot component. This process can occur at any layer of the computer 902's code execution stack, for example, at the application execution level and / or at the operating system (OS) kernel level, thus enabling security to be initiated at any code execution level.

[0178] An entity can input and / or send commands and / or information to a computer 902 through one or more wired / wireless input devices, such as a keyboard 938, a touchscreen 940, and / or a pointing device such as a mouse 942. Other input devices (not shown) may include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control and / or other remote controls, a joystick, a virtual reality controller and / or a virtual reality headset, a gaming pad, a stylus, an image input device (e.g., a camera), a gesture sensor input device, a visual motion sensor input device, an emotion or face detection device, a biometric input device (e.g., a fingerprint and / or iris scanner), etc. These and other input devices can be connected to the processing unit 906 via an input device interface 944 that can be coupled to the system bus 908, but may also be connected via other interfaces such as a parallel port, an IEEE 1394 serial port, a gaming port, a USB port, an IR interface, an interface, etc.

[0179] The monitor 946 or other type of display device may optionally and / or additionally be connected to the system bus 908 via an interface such as a video adapter 948. In addition to the monitor 946, the computer typically includes other peripheral output devices (not shown), such as speakers, printers, and / or the like.

[0180] Computer 902 can operate in a networked environment using a logical connection to one or more remote computers, such as remote computer 950, via wired and / or wireless communication. Remote computer 950 can be a workstation, server computer, router, personal computer, portable computer, microprocessor-based entertainment device, peer-to-peer device, and / or other common network node, and typically includes many or all of the elements described relative to computer 902, although only memory / storage device 952 is shown for simplicity. Additionally and / or optionally, computer 902 can be coupled (e.g., communication ground, electrical ground, operational ground, optical ground, etc.) to one or more external systems, sources, and / or devices (e.g., classical and / or quantum computing devices, communication devices, and / or similar devices) via data cables (e.g., High Definition Multimedia Interface (HDMI), RS-232, Ethernet cables, etc.).

[0181] In one or more embodiments, the network may include one or more wired and / or wireless networks, including but not limited to cellular networks, wide area networks (WANs) (e.g., the Internet), or local area networks (LANs). For example, one or more embodiments described herein may use virtually any desired wired or wireless technology to communicate with one or more external systems, sources, and / or devices (e.g., computing devices, and vice versa), including but not limited to: Wi-Fi, Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Global Microwave Access Interoperability (WiMAX), Enhanced General Packet Radio Service (Enhanced GPRS), 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE), 3rd Generation Partnership Project 2 (3GPP2), Ultra Mobile Broadband (UMB), High-Speed ​​Packet Access (HSPA), Zigbee, and others. XX wireless technologies and / or traditional telecommunications technologies, BLUETOOTH®, Session Initiation Protocol (SIP), ZIGBEE®, RF4CE protocol, WirelessHART™ protocol, 6LoWPAN (IPv6 over low-power wireless LAN), Z-Wave, ANT, ultra-wideband (UWB) standard protocols, and / or other proprietary and / or non-proprietary communication protocols. In related examples, one or more embodiments described herein may include hardware (e.g., a central processing unit (CPU), transceiver, decoder, quantum hardware, quantum processor, and / or the like), software (e.g., sets of threads, sets of processes, executing software, quantum pulse scheduling, quantum circuits, quantum gates, and / or the like), and / or combinations of hardware and / or software that facilitate the transfer of information between one or more embodiments described herein and external systems, sources, and / or devices (e.g., computing devices, communication devices, and / or the like).

[0182] The described logical connections include wired / wireless connections to local area networks (LANs) 954 and / or larger networks, such as wide area networks (WANs) 956. LAN and WAN networking environments can be common in offices and companies and can facilitate enterprise-wide computer networks such as intranets, all of which can be connected to global communication networks such as the Internet.

[0183] When used in a LAN network environment, computer 902 can connect to local area network 954 via a wired and / or wireless communication network interface or adapter 958. Adapter 958 facilitates wired and / or wireless communication with LAN 954, which may also include a wireless access point (AP) configured thereon for wireless communication with adapter 958.

[0184] When used in a WAN network environment, computer 902 may include modem 960 and / or may be connected to a communication server on WAN 956 via other means to establish communication over WAN 956, such as over the Internet. Modem 960 may be a built-in and / or external, wired and / or wireless device, which may be connected to system bus 908 via input device interface 944. In a networked environment, program modules described relative to computer 902 or parts thereof may be stored in remote memory / storage device 952. It is understood that the network connections shown are merely exemplary and one or more other means of establishing communication links between computers may be used.

[0185] When used in a LAN or WAN networking environment, computer 902 can access cloud storage systems or other network-based storage systems as a supplement and / or alternative to external storage device 916 as described above, such as, but not limited to, network virtual machines providing one or more aspects of information storage and / or processing. Typically, the connection between computer 902 and the cloud storage system can be established, for example, via adapter 958 or modem 960 through LAN 954 or WAN 956. When computer 902 is connected to the associated cloud storage system, external storage interface 926 can manage the storage provided by the cloud storage system, as if it were managing other types of external storage, with the assistance of adapter 958 and / or modem 960. For example, external storage interface 926 can be configured to provide access to cloud storage sources as if these sources were physically connected to computer 902.

[0186] Computer 902 may be operable to communicate with any wireless device and / or entity operatively configured for wireless communication, such as printers, scanners, desktop and / or portable computers, portable data assistants, communication satellites, telephones, and / or any device or location associated with a wirelessly detectable tag (e.g., phone booths, newsstands, store shelves, etc.). This may include Wi-Fi and wireless technologies. Therefore, communication may be a predefined structure like a conventional network, or simply self-organizing communication between at least two devices.

[0187] The embodiments described herein may be found in references such as the following. Figure 10 This describes a practice in a distributed computing environment (e.g., a cloud computing environment) where certain tasks are performed by remote processing devices linked via a communication network. In a distributed computing environment, program modules can reside in local and / or remote storage devices.

[0188] For example, one or more embodiments and / or one or more components thereof described herein may be adopted using the following references Figure 10 The cloud computing environment described is 1050, including one or more computing resources, and / or refer to the following references. Figure 11 One or more functional abstraction layers (e.g., quantum software, etc.) are described to perform one or more operations according to one or more embodiments described herein. For example, one or more of cloud computing environment 1050 and / or functional abstraction layers 1160, 1170, 1180 and / or 1190 may include one or more classical computing devices (e.g., classical computers, classical processors, virtual machines, servers and / or the like), quantum hardware and / or quantum software (e.g., quantum computing devices, quantum computers, quantum processors, quantum circuit simulation software, superconducting circuits and / or the like), which may be employed by one or more embodiments and / or components thereof described herein to perform one or more operations according to one or more embodiments described herein. For example, one or more embodiments and / or components thereof described herein may employ one or more classical and / or quantum computing resources to perform one or more classical and / or quantum: mathematical functions, computations and / or equations; computation and / or processing scripts; algorithms; models (e.g., artificial intelligence (AI) models, machine learning (ML) models and / or similar models); and / or other operations according to one or more embodiments described herein.

[0189] It should be understood that although one or more embodiments described herein include a detailed description of cloud computing, the implementation of the teachings described herein is not limited to a cloud computing environment. Rather, one or more embodiments described herein can be implemented in conjunction with any other type of computing environment now known or developed hereafter.

[0190] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with service providers. This cloud model may include at least five features, at least three service models, and at least four deployment models.

[0191] The characteristics are as follows:

[0192] On-demand self-service: Cloud consumers can unilaterally and automatically provide computing power, such as server time and network storage, as needed, without requiring manual interaction with the service provider.

[0193] Wide Area Network (WAN) Access: Capabilities are available on the network and accessed through standard mechanisms that facilitate the use of heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0194] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. Location independence has significance because consumers typically have no control or knowledge of the exact location of the resources provided, but can specify the location at a higher level of abstraction (e.g., country, state, and / or data center).

[0195] Rapid and flexible: In one or more scenarios, the ability to scale outwards and inwards can be automatically, quickly, and flexibly provided. For consumers, the available capacity can be virtually unlimited and can be purchased in any quantity at any time.

[0196] Measurement services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at one or more abstraction levels appropriate to the service type (e.g., storage, processing, bandwidth, and / or active user accounts). Resource usage can be monitored, controlled, and / or reported, providing transparency to both the providers and consumers of the services being utilized.

[0197] The service model is as follows:

[0198] Software as a Service (SaaS): The capability offered to consumers is the ability to use the provider's applications running on cloud infrastructure. Applications can be accessed from a variety of client devices through thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including network, servers, operating systems, storage, and / or individual application capabilities, with possible exceptions such as limited user-specific application configuration settings.

[0199] Platform as a Service (PaaS): This provides consumers with the ability to deploy consumer-created or acquired applications onto cloud infrastructure using programming languages ​​and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, and / or storage, but they have control over the deployed applications and the configuration of any application hosting environments.

[0200] Infrastructure as a Service (IaaS): The capability provided to consumers is the provision of processing, storage, networking, and / or other basic computing resources that consumers can deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but have control over the operating system, storage, deployed applications, and / or possibly limited control over selected networking components (e.g., host firewalls).

[0201] The deployment model is as follows:

[0202] Private cloud: Cloud infrastructure operated solely by an organization. It can be managed by the organization or a third party and can exist on-site or off-site.

[0203] Community cloud: Cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., missions, security requirements, policies, and / or compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.

[0204] Public cloud: Cloud infrastructure available to the general public or large industrial groups and owned by organizations that sell cloud services.

[0205] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be ported together (e.g., cloud bursting for load balancing between clouds).

[0206] Cloud computing environments are service-oriented, focusing on statelessness, loose coupling, modularity, and / or semantic interoperability. At the heart of cloud computing is the infrastructure of a network of interconnected nodes.

[0207] Furthermore, the unrestricted systems 100 and / or 200 and / or example operating environment 900 may be associated with and / or included in data analysis systems, data processing systems, graphics analysis systems, graphics processing systems, big data systems, social networking systems, speech recognition systems, image recognition systems, graphics modeling systems, bioinformatics systems, data compression systems, artificial intelligence systems, authentication systems, syntactic pattern recognition systems, medical systems, health monitoring systems, network systems, computer network systems, communication systems, router systems, server systems, high-availability server systems (e.g., telecommunications server systems), web server systems, file server systems, data server systems, disk array systems, power strip systems, cloud-based systems, etc. Accordingly, the unrestricted systems 100 and / or 200 and / or example operating environment 900 can be used to solve problems that are inherently highly technical, non-abstract, and / or cannot be performed as a set of mental actions by humans, using hardware and / or software.

[0208] Now for reference Figure 10 Details of one or more aspects illustrate an illustrative cloud computing environment 1050. As shown, the cloud computing environment 1050 includes one or more cloud computing nodes 1010 to which local computing devices used by cloud consumers can communicate, such as personal digital assistants (PDAs) or cellular phones 1054A, desktop computers 1054B, laptop computers 1054C, and / or automotive computer systems 1054N. Although in Figure 10 Not shown, but cloud computing node 1010 may also include a quantum platform (e.g., a quantum computer, quantum hardware, quantum software, etc.), with which the local computing device used by the cloud consumer can communicate. Cloud computing nodes 1010 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows cloud computing environment 1050 to provide infrastructure, platform, and / or software as a service, without requiring cloud consumers to maintain resources on their local computing devices. It should be understood that... Figure 10 The types of computing devices 1054A-N shown are for illustrative purposes only, and cloud computing node 1010 and cloud computing environment 1050 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0209] Now for reference Figure 11 Details of one or more aspects are shown, illustrating, for example, those of a cloud computing environment 1050 ( Figure 10 The collection of functional abstraction layers provided herein is 1100. One or more embodiments described herein may be referenced in the following references. Figure 11One or more functional abstraction layers (e.g., hardware and software layer 1160, virtualization layer 1170, management layer 1180, and / or workload layer 1190) are described, such as those accessible through them. It should be understood beforehand that... Figure 11 The components, layers, and / or functions shown are for illustrative purposes only, and the embodiments described herein are not limited thereto. As depicted, the following layers and / or corresponding functions are provided:

[0210] Hardware and software layer 1160 may include hardware and software components. Examples of hardware components include: host 1161; server 1162 based on RISC (Reduced Instruction Set Computer) architecture; server 1163; blade server 1164; storage device 1165; and / or network and / or networking components 1166. In one or more embodiments, software components may include network application server software 1167, quantum platform routing software 1168; and / or quantum software (…). Figure 11 (Not shown in the image).

[0211] The virtualization layer 1170 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual server 1171; virtual storage 1172; virtual network 1173, including virtual private network; virtual application and / or operating system 1174; and / or virtual client 1175.

[0212] In one example, management layer 1180 can provide the functionality described below. Resource provisioning 1181 can provide dynamic procurement of computing resources and other resources that can be used to perform tasks within the cloud computing environment. Metering and pricing 1182 can provide cost tracking when utilizing resources within the cloud computing environment, and / or billing and / or pricing for the consumption of these resources. In one example, these resources may include one or more application software licenses. Security can provide authentication for cloud consumers and / or tasks, and protection for data and / or other resources. User (or entity) portal 1183 can provide access to the cloud computing environment for consumers and system administrators. Service level management 1184 can provide cloud computing resource allocation and / or management to ensure that required service levels are met. Service level agreement (SLA) planning and fulfillment 1185 can provide pre-scheduling and procurement of cloud computing resources, where future needs are anticipated according to the SLA.

[0213] Workload layer 1190 can provide examples of functionalities that can leverage a cloud computing environment. Non-limiting examples of workloads and functionalities that can be provided from this layer include: mapping and navigation 1191; software development and lifecycle management 1192; virtual classroom education delivery 1193; data analysis and processing 1194; transaction processing 1195; and / or application transformation software 1196.

[0214] The embodiments described herein can be applied to one or more systems, methods, apparatuses, and / or computer program products at any possible level of technical detail integration. A computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of one or more embodiments described herein. A computer-readable storage medium may be a tangible device capable of retaining and storing instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, and / or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media may also include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or recessed structures with instructions recorded thereon, and / or any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves and / or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides and / or other transmission media (e.g., optical pulses through fiber optic cables), and / or electrical signals transmitted through wires.

[0215] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device and / or via a network to an external computer or external storage device, such as the Internet, a local area network (LAN), a wide area network (WAN), and / or a wireless network. The network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device. The computer-readable program instructions used to perform the operations of one or more embodiments described herein may be assembly instructions, instruction set architecture (ISA) instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, integrated circuit configuration data, and / or source code and / or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(e.g., Smalltalk, C++, etc.) and / or procedural programming languages ​​(e.g., the "C" programming language and / or similar programming languages). Computer-readable program instructions may be executed entirely on a computer, partially on a computer, as a standalone software package, partially on a computer and / or partially on a remote computer, or entirely on a remote computer and / or a server. In the latter case, the remote computer may be connected to the computer via any type of network, including a local area network (LAN) and / or a wide area network (WAN), and / or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In one or more embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), and / or programmable logic arrays (PLAs) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry in order to perform aspects of one or more embodiments described herein.

[0216] Aspects of one or more embodiments described herein are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to one or more embodiments described herein. It will be understood that each block of the flowchart and / or block diagram, and combinations of blocks in the flowchart and / or block diagram, can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, and / or other programmable data processing apparatus to produce a machine, such that the instructions, executable via the processor of the computer or other programmable data processing apparatus, can create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, such that the computer-readable storage medium in which the instructions are stored can include an article of writing comprising instructions that can implement aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram. Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus and / or other equipment to cause a series of operations to be performed on the computer, other programmable apparatus and / or other equipment to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus and / or other equipment perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0217] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and / or operation of possible implementations of systems, computer-implementable methods, and / or computer program products according to one or more embodiments described herein. In this regard, each block in a flowchart or block diagram may represent a module, segment, and / or portion of instructions comprising one or more executable instructions for implementing a specified logical function. In one or more alternative implementations, the functions marked in the blocks may occur in a non-linear order as shown in the figures. For example, depending on the functions involved, two consecutively shown blocks may execute substantially simultaneously, and / or these blocks may sometimes execute in reverse order. It will also be noted that each block and / or combination of blocks in the block diagrams and / or flowcharts may be implemented by a dedicated hardware-based system capable of performing the specified functions and / or actions and / or executing one or more combinations of dedicated hardware and / or computer instructions.

[0218] Although the subject matter has been described above in the general context of computer-executable instructions of a computer program product running on one or more computers, those skilled in the art will recognize that one or more embodiments herein may also be implemented in conjunction with one or more other program modules. Typically, program modules include routines, programs, components, data structures, etc., that perform specific tasks and / or implement specific abstract data types. Furthermore, those skilled in the art will understand that the computer implementation of the methods of the present invention can be practiced with other computer system configurations, including single-processor and / or multi-processor computer systems, small computing devices, mainframe computers, and computers, handheld computing devices (e.g., PDAs, telephones), microprocessor-based or programmable consumer and / or industrial electronic products, etc. The aspects shown can also be practiced in a distributed computing environment in which tasks are performed by remote processing devices linked via a communication network. However, one or more aspects, if not all, of the one or more embodiments described herein can be practiced on a standalone computer. In a distributed computing environment, program modules may reside in both local and remote memory storage devices.

[0219] As used herein, the terms “component,” “system,” “platform,” “interface,” etc., may refer to and / or include computer-related entities or entities related to an operating machine having one or more specific functions. Entities described herein may be hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, a thread of execution, a program, and / or a computer. For illustration, an application running on a server and a server itself can both be components. One or more components may reside within a process and / or a thread of execution, and components may reside on a single computer and / or be distributed across two or more computers. In another example, a corresponding component may be executable from various computer-readable media on which various data structures are stored. These components may communicate via local and / or remote processes, for example, based on signals having one or more data packets (e.g., data from a component via which it interacts with a local system, another component in a distributed system, and / or other systems via a network such as the Internet). As another example, a component can be a device having specific functions provided by mechanical components operated by electrical or electronic circuitry, which is operated by software and / or firmware applications executed by a processor. In this case, the processor can be internal and / or external to the device and can execute at least a portion of the software and / or firmware application. As yet another example, a component can be a device that provides specific functions through electronic components rather than mechanical components, wherein the electronic components can include a processor and / or other devices to execute software and / or firmware that at least partially endow the electronic components with the functions. In one aspect, the component can be emulated via a virtual machine, for example within a cloud computing system.

[0220] Furthermore, the term "or" is intended to indicate an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X adopts A or B" is intended to indicate any natural inclusive permutation. That is, if X adopts A; X adopts B; or X adopts both A and B, then "X adopts A or B" is satisfied in any of the foregoing instances. Furthermore, unless otherwise specified or clear from the context to refer to the singular form, the articles "a" and "an" as used in this specification and accompanying drawings should generally be interpreted as meaning "one or more". As used herein, the terms "example" and / or "exemplary" are used to indicate that something is used as an example, instance, or illustration. To avoid ambiguity, the subject matter described herein is not limited to these examples. Moreover, any aspect or design described herein as "example" and / or "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor does it imply the exclusion of equivalent exemplary structures and techniques known to those skilled in the art.

[0221] As used herein, the term "processor" can refer to virtually any computing processing unit and / or device, including but not limited to a single-core processor; a single processor with software multithreading capabilities; a multi-core processor; a multi-core processor with software multithreading capabilities; a multi-core processor with hardware multithreading technology; a parallel platform; and / or a parallel platform with distributed shared memory. Additionally, a processor can refer to an integrated circuit, application-specific integrated circuit (ASIC), digital signal processor (DSP), field-programmable gate array (FPGA), programmable logic controller (PLC), complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, and / or any combination thereof, designed to perform the functions described herein. Furthermore, processors can employ nanoscale architectures, such as, but not limited to, molecular and quantum dot-based transistors, switches, and / or gates, to optimize space utilization and / or enhance the performance of the associated device. A processor can be implemented as a combination of computing processing units.

[0222] In this document, terms such as “storage,” “database,” and virtually any other information storage component relating to the operation and function of the component are used to refer to “memory component,” “entity embodied in “memory,” or a component that includes memory. It should be understood that the memory and / or memory components described herein may be volatile memory or non-volatile memory, or may include both. By way of illustration and not limitation, non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, and / or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory may include RAM that can be used as external cache memory. By way of illustration and not limitation, RAM may be available in many forms, such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), direct memory bus RAM (DRRAM), direct memory bus dynamic RAM (DRDRAM), and / or memory bus dynamic RAM (RDRAM).

[0223] The above description includes only examples of systems and computer-implemented methods. It is certainly impossible to describe every conceivable combination of components and / or computer-implemented methods in order to describe one or more embodiments; however, those skilled in the art will recognize that many further combinations and / or substitutions of one or more embodiments are possible. Furthermore, with regard to the use of terms such as “comprising,” “having,” “possessing,” etc., in the detailed description, claims, appendices, and drawings, these terms are intended to be inclusive in a similar manner to how the term “comprising” is interpreted when used as a transitional word in the claims.

[0224] One or more embodiments have been described for illustrative purposes, but this description is not intended to be exhaustive or limited to the embodiments described herein. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein has been chosen to best explain the principles, practical application, and / or improvements to existing technologies in the market, and / or to enable others skilled in the art to understand the embodiments described herein.

Claims

1. A system comprising: Memory, which stores computer-executable components; as well as A processor that executes the computer-executable component stored in the memory, wherein the computer-executable component includes: A time management component that communicates with nodes to trigger the nodes to execute one or more quantum program instructions relative to a counter of the node that is advanced through the communication. The time management component employs one or more mailboxes at the node, wherein the one or more mailboxes dynamically change one or more designations of the one or more mailboxes in relation to the current execution state of the node.

2. The system according to claim 1, in, The time management component triggers the node to execute one or more quantum program instructions via data transmission to the node.

3. The system according to claim 1, in, The time management component advances the counter at the node based on a combination of the time of another node and the determined actual propagation time for the communication.

4. The system according to claim 1, in, The node self-propelles the counter in relation to the execution of one or more quantum program instructions independent of the communication.

5. The system according to claim 1, in, Once triggered, the node executes local control instructions until the waiting state is activated, and the time management component controls the switching from the waiting state to the active state by triggering the node.

6. The system of claim 1, wherein the computer-executable component further comprises: A scheduling component that, prior to the execution of the one or more quantum program instructions, identifies the initiation or dependency of one or more instruction executions to be encountered at the node.

7. The system according to claim 6, in, The scheduling component also schedules a wait instruction that, when the node encounters at least one of one or more identified instruction execution initiations and / or dependencies during the execution of the one or more quantum program instructions, triggers a wait state for the counter at the node and pauses the counter at the node.

8. A computer-implemented method, comprising: The system communicates with the node via operatively coupled to the processor to trigger the node to execute one or more quantum program instructions relative to a counter of the node that is advanced via the communication; as well as The system advances the counter at the node based on a combination of the time of another node and the determined actual propagation time for the communication.

9. The computer-implemented method according to claim 8, further comprising: The system triggers the node to execute one or more quantum program instructions via data transmission to the node.

10. The computer-implemented method according to claim 8, further comprising: The counter is self-propelled by the nodes of the system in relation to the execution of one or more quantum program instructions independent of the communication.

11. The computer-implemented method according to claim 8, further comprising: The system uses one or more mailboxes at the node, wherein the one or more mailboxes dynamically change one or more designations of the one or more mailboxes in relation to the current execution state of the node.

12. The computer-implemented method according to claim 8, further comprising: Once triggered, the system enables the execution of the instruction at the node's local control until the waiting state is activated, and The system controls the switching from the waiting state to the active state by triggering the node.

13. A computer program product for facilitating time management of quantum programs at one or more nodes of a system, the computer program product comprising program instructions executable by a processor of the system to cause the processor to: The processor communicates with the node to trigger the node to execute one or more quantum program instructions relative to a counter of the node that is advanced via the communication; and The counter is self-propelled by the node via the processor relative to the execution of one or more quantum program instructions independent of the communication.

14. The computer program product of claim 13, wherein the program instructions are further executable to cause the processor to: The processor triggers the node to execute one or more quantum program instructions via data transmission to the node.

15. The computer program product of claim 13, wherein the program instructions are further executable to cause the processor to: The processor advances the counter at the node based on a combination of the time of the other node and the determined actual propagation time for the communication.

16. The computer program product of claim 13, wherein the program instructions are further executable to cause the processor to: The processor uses one or more mailboxes at the node, wherein, The one or more mailboxes dynamically change one or more designations of the one or more mailboxes in relation to the current execution state of the node.

17. The computer program product of claim 13, wherein the program instructions are further executable to cause the processor to: Once triggered, the processor enables the execution of the instruction at the node for local control until the wait state is activated, and The processor controls the switching from the waiting state to the active state by triggering the node.