Methods and systems for providing quantum computing services supporting multiple quantum computing technologies
The quantum computing service system automatically selects and manages multiple quantum computing technologies, solving the problem of complexity in the development and use of quantum computers and enabling user-friendly access to multiple technologies and efficient computing.
Patent Information
- Application Number
- CN202080088554.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-27
- Filing Date
- 2020-11-25
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2040-11-25
AI Technical Summary
The development and use of quantum computers are costly, the diversity of technologies requires users to have in-depth expertise, and the selection and management of different quantum computing technologies are complex, making it difficult for users to efficiently utilize multiple quantum computing technologies.
A quantum computing service system is provided that supports multiple quantum computing technologies through a service provider network and edge computing devices, automatically selects suitable hardware providers, converts and optimizes quantum circuits to achieve hybrid computing, and manages computing resources through virtualization offloading components to provide seamless access.
Users can access a variety of quantum computing resources without needing to delve into the underlying technology, simplifying the process of using quantum computers, improving computing efficiency and resource management flexibility, and supporting the execution of hybrid algorithms.
Smart Images

Figure CN114846480B_ABST
Abstract
Description
Background Technology
[0001] Quantum computing uses the laws of quantum physics to process information. Quantum physics is the theory that describes the behavior of reality at a fundamental level. It is currently the only physical theory that can consistently predict the behavior of microscopic quantum objects such as photons, molecules, atoms, and electrons.
[0002] A quantum computer is a device that uses quantum mechanics to allow a person to write, store, process, and read information encoded in quantum states, such as the states of quantum objects. A quantum object is a physical object that operates according to the laws of quantum physics. The state of a physical object is a description of the object at a given time.
[0003] In quantum mechanics, the state of a two-level quantum system, or simply a qubit, is a list of two complex numbers whose squares sum to one. Each of these two numbers is called an amplitude or quasi-probability. The square of the amplitude gives a potentially negative probability. Therefore, each of these two numbers corresponds to the square root of the event zero and the event one, respectively. The fundamental and counterintuitive difference between probabilistic bits (such as the conventional zero or one bit) and qubits is that probabilistic bit representations lack information about a two-level classical system, while qubits contain the most information about a two-level quantum system.
[0004] Quantum computers are based on qubits, which can exhibit phenomena of "superposition" and "entanglement." Superposition allows a quantum system to exist in multiple states simultaneously. For example, while classical computers are based on bits that are either zero or one, qubits can be both zero and one at the same time, and be assigned to zero and one with different probabilities. Entanglement is a strong correlation between quantum particles, making them inextricably linked even when they are far apart.
[0005] A quantum algorithm is a reversible transformation that acts on qubits in a desired and controlled manner, and then measures one or more qubits. For example, if the system has two qubits, the transformation can modify four numbers; in the case of three qubits, this becomes eight numbers, and so on. Therefore, a quantum algorithm acts on a list of numbers as large as an exponent specified by the number of qubits. As an example, to implement a transformation, it can be broken down into small operations acting on a single qubit or a pair of qubits. These small operations can be called quantum gates, and the arrangement of the gates used to implement the transformation can form a quantum circuit.
[0006] Different types of qubits exist that can be used in quantum computers, each with its own advantages and disadvantages. For example, some quantum computers may include qubits built from superconductors, trapped ions, semiconductors, photonics, etc. Each quantum computer may experience different levels of interference, errors, and decoherence. Furthermore, some quantum computers may be more useful for generating specific types of quantum circuits or quantum algorithms, while others may be more useful for generating other types. Additionally, cost, runtime, error rate, availability, and other factors can vary across quantum computing technologies. Attached Figure Description
[0007] Figure 1 The illustration depicts, according to some embodiments, a quantum computing service that enables customers to access a network of service providers of quantum computers using a variety of quantum computing technologies.
[0008] Figure 2 The illustration depicts an edge computing device for a quantum computing service that is physically located at the location of a quantum hardware provider, according to some embodiments.
[0009] Figure 3 The illustration depicts a network of service providers, including quantum computing services, virtual computing services, and storage services, according to some embodiments.
[0010] Figure 4 The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments.
[0011] Figure 5 The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments of a display problem domain design paradigm.
[0012] Figure 6 The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments, illustrating quantum algorithm design paradigms.
[0013] Figure 7 The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments of a quantum circuit design paradigm.
[0014] Figure 8 The illustration shows example flowcharts for designing quantum tasks, algorithms, or circuits using a quantum algorithm development kit interface, according to some embodiments.
[0015] Figure 9 The illustrations illustrate example transformations of quantum tasks, algorithms, or circuits defined via a quantum algorithm development kit interface into quantum computing technology-specific representations according to some embodiments.
[0016] Figure 10The illustration shows an example transformation of an intermediate representation of a quantum task, algorithm, or circuit according to some embodiments into any of a plurality of supported quantum computing technology representations.
[0017] Figure 11A The illustrations depict processes involving quantum computing services receiving, converting, and executing quantum tasks, algorithms, or circuits, according to some embodiments.
[0018] Figure 11B The illustrations depict additional steps, which, according to some embodiments, can be performed to convert a quantum task, algorithm, or circuit from an intermediate representation into a quantum computing technology-specific representation.
[0019] Figure 12 The illustration shows an example quantum circuit optimization process according to some embodiments.
[0020] Figure 13 An example edge computing device connected to a quantum computing service is illustrated according to some embodiments.
[0021] Figure 14 The illustration shows an example interaction between a quantum computing service and the edge computing device of the quantum computing service, according to some embodiments.
[0022] Figure 15A The illustration depicts an example process, according to some embodiments, for delivering quantum circuits from a quantum computing service to an edge computing device of that quantum computing service.
[0023] Figure 15B The illustration depicts an example process, according to some embodiments, for scheduling the execution of quantum circuits on a quantum computer by an edge computing device that provides quantum computing services located at the location of a quantum hardware provider.
[0024] Figure 15C The illustration depicts an example process, according to some embodiments, for processing the results of an edge computing device performing quantum circuits on a quantum computer using a quantum computing service located at the location of a quantum hardware provider.
[0025] Figure 16 The illustration shows an example process for adding additional quantum computing technologies as supporting quantum computing technologies to a quantum computing service, according to some embodiments.
[0026] Figure 17 The illustration shows an example interaction between a classical computer and a quantum computer at the location of a quantum hardware provider, implemented on an edge computing device for a quantum computing service located at the location of a quantum hardware provider, according to some embodiments.
[0027] Figure 18The illustration depicts an example process, according to some embodiments, for an edge computing device to perform a hybrid algorithm using quantum computing services located at the location of a quantum hardware provider.
[0028] Figure 19 The illustration shows an example virtualization management software component that can be executed at an edge computing device for quantum computing services located at the location of a quantum hardware provider, according to some embodiments.
[0029] Figure 20 The illustration shows an example network configuration for an isolated virtual network of an edge computing device that includes quantum computing services located at the location of a quantum hardware provider, according to some embodiments.
[0030] Figure 21 The illustration shows an example of a transportable, pre-configured edge computing device for quantum computing services according to some embodiments.
[0031] Figure 22 This is a block diagram illustrating example components of a transportable, pre-configured edge computing device for quantum computing services, according to some embodiments.
[0032] Figure 23 This is a block diagram illustrating an example computing device that can be used in at least some embodiments.
[0033] Although embodiments have been described herein by way of example with respect to several embodiments and illustrative drawings, those skilled in the art will recognize that the embodiments are not limited to the described embodiments or drawings. It should be understood that the drawings and detailed description thereof are not intended to limit the embodiments to the specific forms disclosed, but rather are intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope defined by the appended claims. The headings used herein are for organizational purposes only and are not intended to limit the scope of this specification or claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning “possibly”) rather than a mandatory sense (i.e., meaning “must”). Similarly, the words “include, including, and includes” mean including but not limited to. When used in the claims, the term “or” is used inclusively rather than exclusively. For example, the phrase “at least one of x, y, or z” means any one of x, y, and z, and any combination thereof. Detailed Implementation
[0034] This disclosure relates to methods and apparatus for providing customers with quantum computing services that support a variety of different quantum computing technologies and enabling customers to seamlessly use different quantum computing technologies without requiring customers to have specific knowledge of the underlying quantum computing technologies.
[0035] In some embodiments, a system includes a service provider network comprising one or more computing devices configured to implement quantum computing services. The system also includes a first edge computing device of the service provider network located at the location of a first quantum hardware provider and a second edge computing device of the service provider network located at the location of a second quantum hardware provider. The one or more computing devices implementing the quantum computing service are configured to receive a definition of a quantum computing object to be performed from a customer of the quantum computing service and select at least one of the first or second quantum hardware providers to perform the quantum computing object. In some embodiments, the quantum computing object may be a quantum task, such as a task defined using a problem domain interface of a quantum algorithm development kit; a quantum algorithm defined using the quantum algorithm development kit of the quantum computing service or provided by the customer; or a quantum circuit defined using the quantum algorithm development kit of the quantum computing service or supplied by the customer. In some embodiments, the one or more computing devices implementing the quantum computing service may be further configured to provide the customer with a recommendation regarding which quantum hardware vendor to use to perform the customer's quantum computing object, and the selection of the first or second quantum hardware provider for performing the quantum computing object may be based on the recommendation and / or other input received from the customer regarding which quantum hardware provider to select to perform the customer's quantum computing object. In some embodiments, the recommendations may include estimated costs, error rates, runtime, etc., associated with performing a quantum computing object on a quantum computer of one of the quantum hardware providers.
[0036] One or more computing devices that implement quantum computing services are further configured to submit quantum circuits corresponding to quantum computing objects to one or more of the selected quantum hardware providers via a first edge computing device or a second edge computing device located at appropriate locations of one or more selected quantum hardware providers, receive the results of executing the quantum circuits on the quantum computers of the one or more selected quantum hardware providers, store the results of executing the quantum circuits, and provide a notification to the client that the execution of the quantum computing object has been completed.
[0037] In some embodiments, a method includes receiving a definition of a quantum computing task to be performed from a client of a quantum computing service implemented on one or more computing devices. The method further includes selecting at least one of a first quantum hardware provider or a second quantum hardware provider via the quantum computing service to perform the quantum computing task, wherein the first and second quantum hardware providers are configured to perform the quantum computing task using quantum computers based on different quantum computing technologies. Additionally, the method includes submitting a quantum circuit corresponding to the quantum computing task to the selected at least one quantum hardware provider via a first edge computing device of the quantum computing service located at the location of the first quantum hardware provider or a second edge computing device of the quantum computing service located at the location of the second quantum hardware provider. Furthermore, the method includes storing the execution result received from the first or second quantum hardware provider and providing a notification to the client via the quantum computing service that the quantum computing task has been completed.
[0038] In some embodiments, one or more non-transitory computer-readable media store program instructions that, when executed on or across one or more processors, cause one or more processors to receive a definition of a quantum computing task to be performed and to determine at least one of a first quantum hardware provider or a second quantum hardware provider for performing the quantum computing task, wherein the first and second quantum hardware providers are configured to perform the quantum computing task using quantum computers based on different quantum computing technologies. Additionally, the program instructions cause one or more processors to submit the quantum computing task to at least one quantum hardware provider via a first edge computing device of a quantum computing service located at the location of the first quantum hardware provider or a second edge device of a quantum computing service located at the location of the second quantum hardware provider, and to provide notification when the quantum computing task is completed.
[0039] In some embodiments, a system includes one or more computing devices of a service provider network configured to implement a quantum computing service configured to receive quantum computing objects defined in an intermediate representation. For example, a quantum computing object may be a quantum task, such as a task defined using a problem domain interface of a quantum algorithm development kit; a quantum algorithm defined using a quantum algorithm development kit of the quantum computing service or provided by a customer; or a quantum circuit defined using a quantum algorithm development kit of the quantum computing service or supplied by a customer. In some embodiments, the one or more computing devices implementing the quantum computing service may be further configured to provide a customer with recommendations on which quantum computing format to use to execute the customer's quantum computing object, and the selection of the quantum computing format for executing the quantum computing object may be based on the recommendations and / or other inputs received from the customer regarding which quantum computing format to select to execute the customer's quantum computing object. In some embodiments, the recommendations may include estimated costs, error rates, runtime, etc., associated with executing the quantum computing object on a quantum computer of a corresponding quantum hardware provider.
[0040] The quantum computing service is also configured to convert quantum computing objects into a selected quantum circuit format for a specific quantum computing technology, wherein the selected quantum circuit format for a specific quantum computing technology is one of a variety of quantum circuit formats for a variety of different quantum computing technologies supported by the quantum computing service.
[0041] In order to convert a quantum computing object into a selected quantum circuit format, one or more computing devices that implement quantum computing services are configured to identify the part of the quantum computing object corresponding to the quantum operators in the intermediate representation, replace the quantum operators in the intermediate representation with quantum operators in the quantum circuit format of a specific quantum computing technology, and perform one or more optimizations to reduce the total number of quantum operators in the converted quantum circuit as a converted version of the received quantum computing object.
[0042] Additionally, the quantum computing service is configured to provide converted quantum circuits for execution at a quantum hardware supplier using a specific quantum computing technology; receive the results of the execution of the converted quantum circuits from the quantum hardware supplier; and provide notifications to the quantum computing service's customers that a quantum computing object has been executed.
[0043] In some embodiments, a method includes receiving a quantum computing object defined in an intermediate representation at a quantum computing service implemented on one or more computing devices, and converting the quantum computing object into a format for a specific quantum computing technology via the quantum computing service, wherein the format for the specific quantum computing technology is one of several formats for a variety of different quantum computing technologies supported by the quantum computing service. Converting the quantum computing object into the format for the specific quantum computing technology includes identifying portions of the quantum computing object corresponding to quantum operators in the intermediate representation and replacing the quantum operators in the intermediate representation with quantum operators in the format for the specific quantum computing technology. Additionally, converting the quantum computing object into the format for the specific quantum computing technology may include performing one or more optimizations to reduce the total number of quantum operators included in the converted quantum circuit, which is a converted version of the received quantum computing object.
[0044] In some embodiments, one or more non-transitory computer-readable media store program instructions that, when executed on or across one or more processors, cause one or more processors to receive a quantum computing object defined in an intermediate representation and convert the quantum computing object into a format for a specific quantum computing technology, wherein the format for the specific quantum computing technology is one of several supported formats for a variety of different quantum computing technologies. To convert the quantum computing object into the format for the specific quantum computing technology, one or more program instructions, when executed on or across one or more processors, cause one or more processors to identify portions of the quantum computing object corresponding to quantum operators in the intermediate representation; replace the quantum operators in the intermediate representation with quantum operators in the quantum format of the specific quantum computing technology; and perform one or more optimizations to reduce the total number of quantum operators in the converted quantum circuit, which is the converted version of the quantum computing object.
[0045] In some embodiments, the quantum operators included in the quantum object may correspond to quantum gates. Additionally, in some embodiments, optimizing the reduction of the total number of quantum operators may include reducing the total number of quantum gates included in the transformed quantum circuit. In some embodiments, the quantum operators included in the quantum circuit may be operators used to program other types of quantum computing systems, such as quantum annealers.
[0046] In some embodiments, a system includes one or more computing devices of a service provider network configured to implement quantum computing services. The system also includes a first edge computing device of the service provider network located at the location of a first quantum hardware provider and a second edge computing device of the service provider network located at the location of a second quantum hardware provider. The first and second quantum hardware providers are configured to execute quantum computing circuits using quantum computers based on different quantum computing technologies. Additionally, the first and second edge computing devices are each configured to instantiate a virtual machine implemented on the classical computing hardware of the respective first or second edge computing device, and receive a hybrid quantum computing algorithm comprising classical and quantum computing components via a quantum computing service.
[0047] Additionally, the first and second edge computing devices are each configured to execute classical computing portions on virtual machines implemented on the classical computing hardware of the respective first or second edge computing device, and to coordinate the execution of quantum computing portions on quantum computers located at the respective first or second quantum hardware provider's location. For example, in some embodiments, the first and second edge computing devices are each configured to instantiate at least one virtual machine to manage and coordinate the execution of the quantum computing portions of a hybrid quantum computing algorithm, and also to instantiate one or more virtual machines to execute the classical computing portions of the hybrid quantum computing algorithm. The classical portions are executed locally at the quantum hardware provider, such that there is minimal latency between the classical computer of the virtual machine implemented on the edge computing device and the quantum computer at the quantum hardware provider.
[0048] Additionally, the first edge computing device and the second edge computing device are each configured to submit the results generated from executing a hybrid quantum computing algorithm to a data storage system of a service provider network, wherein one or more computing devices implementing the data storage system are located at a facility of the service provider network located remotely from the respective first quantum hardware provider or second quantum hardware provider.
[0049] In some embodiments, the edge computing device includes a first network connector configured to couple to a local network of a quantum hardware provider, a second network connector configured to connect to a quantum computing service, and classical computing hardware. The classical computing hardware includes one or more processors and memory storing program instructions that, when executed on or across one or more processors, cause one or more processors to instantiate a virtual machine implemented on the classical computing hardware of the edge computing device; and to receive, via the second connector, a hybrid quantum computing algorithm comprising classical and quantum computing components from the quantum computing service. The program instructions further cause one or more processors to execute the classical computing component on the virtual machine implemented on the classical computing hardware of the edge computing device; to coordinate the execution of the quantum computing component on a quantum computer at the location of the quantum hardware provider where the edge computing device is located, via the first connector coupled to the local network of the quantum hardware provider; and to submit, via the second connector, the results generated from executing the hybrid quantum computing algorithm to a data storage system of a service provider network including the quantum computing service, wherein one or more computing devices implementing the data storage system are located at a facility of the service provider network located remotely from the quantum hardware provider.
[0050] In some embodiments, a method includes: instantiating a virtual machine implemented on classical computing hardware of an edge computing device located at a quantum hardware provider's location and connected to a quantum computing service implemented via one or more computing devices located remotely from the quantum hardware provider's location; and receiving a hybrid quantum computing algorithm comprising classical computing and quantum computing components via the quantum computing service. The method further includes: executing the classical computing component on the virtual machine implemented on the classical computing hardware of the edge computing device located at the quantum hardware provider's location; coordinating the execution of the quantum computing component on a quantum computer at the quantum hardware provider's location; and submitting the results generated from executing the hybrid quantum computing algorithm to a data storage system, wherein one or more computing devices implementing the data storage system are located remotely from the quantum hardware provider's location.
[0051] In some embodiments, a system includes one or more computing devices of a service provider network configured to provide quantum computing services. The system also includes a first edge computing device of the service provider network located at the location of a first quantum hardware provider and a second edge computing device of the service provider network located at the location of a second quantum hardware provider, wherein the first and second quantum hardware providers are configured to execute quantum computing circuits using quantum computers based on different quantum computing technologies. The first and second edge computing devices are each configured to receive one or more quantum computing circuits to be executed on a quantum computer at the first or second hardware provider location, schedule availability on the quantum computer for executing the one or more quantum computing circuits, store the one or more quantum computing circuits in a local queue on the first or second edge computing device, and submit the one or more quantum computing circuits to the quantum computer at the first or second hardware provider location for execution during a predetermined availability period.
[0052] In some embodiments, the edge computing device includes a first network connector configured to couple to a local network of a quantum hardware provider and a second network connector configured to connect the edge computing device to a quantum computing service. The edge computing device also includes one or more processors and a memory storing program instructions that, when executed on or across one or more processors, cause the one or more processors to receive one or more quantum computing circuits to be executed on a quantum computer at the location of the quantum hardware provider where the edge computing device is located; schedule the availability of the quantum computer for executing the one or more quantum computing circuits; store the one or more quantum computing circuits in a local queue awaiting availability; and submit the one or more quantum computing circuits to the quantum computer at the location of the quantum hardware provider for execution during a predetermined availability period.
[0053] In some embodiments, one or more non-transitory computer-readable media store program instructions that, when executed on or across one or more processors, cause one or more processors to receive from a quantum computing service one or more quantum computing circuits to be executed on a quantum computer at a location of a quantum hardware provider, wherein the quantum hardware provider's location is remote from one or more computers implementing the quantum computing service; coordinate the availability of the quantum computer for executing the one or more quantum computing circuits; cause the one or more quantum computing circuits to be stored in a local queue awaiting availability; and submit the one or more quantum computing circuits to the quantum computer at the location of the quantum hardware provider for execution during a predetermined availability period.
[0054] In some embodiments, an edge computing device providing quantum computing services at a quantum hardware provider's location may include a virtualization offloading component that manages computing instances (e.g., virtual machines) instantiated on the edge computing device. In some embodiments, the virtualization offloading component at the edge computing device at the quantum hardware provider's location may provide computing instances instantiated on the edge computing device with access to a quantum machine image stored in a block-based storage service within a service provider network for use when booting computing instances (e.g., virtual machines) on the edge computing device. Additionally, the virtualization offloading component may provide another computing instance instantiated on the edge computing device with access to a hybrid computing machine image stored in a block-based storage service. In some embodiments, the virtualization offloading component may provide yet another third computing instance with access to a customer-selected machine image stored in a block-based storage service. Alternatively, in some embodiments, machine images, such as quantum machine images and hybrid computing images, may be stored in a local persistent register at the edge computing device at the quantum hardware provider's location.
[0055] Additionally, in some embodiments, the virtualization offloading component of the edge computing device can manage network traffic between compute instances instantiated on the edge computing device and other instances or services in the service provider network. For example, the virtualization offloading component can route packets to and from compute instances via the underlying network of the virtualized compute service and can perform packet encapsulation or address redirection. Furthermore, the virtualization offloading component can manage the security of compute instances instantiated on the edge computing device. For example, the virtualization offloading component can encrypt and decrypt incoming and outgoing traffic and can manage security keys used for compute instances instantiated on the edge computing device. Additionally, the virtualization offloading component can manage traffic such that a given compute instance instantiated on the edge computing device is included in an isolated virtual network, such as a virtual private cloud, and can manage address translation between private addresses and / or public addresses used for the compute instance. In some embodiments, these virtualization tasks can be performed on a processor or core of the virtualization offloading component, separate from other hardware of the edge computing device but included in the same chassis as the edge computing device.
[0056] In some embodiments, the virtualized computing service may be one of multiple network-accessible services (e.g., including storage services, database services, etc.) implemented at a cloud provider’s network or in a cloud computing environment.
[0057] In some embodiments, the virtualization offloading component of an edge computing device may include various hardware (e.g., including processors / cores, memory, storage devices, circuitry for power management, security management, etc.) and software elements that collectively implement network and storage virtualization management, provide access to storage volumes via a block-device interface, and incorporate compute instances instantiated on the edge computing device into isolated virtual networks (IVNs) or other logical networks set up for customers at a virtualization computing service.
[0058] In various embodiments, virtualized computing services may include a physical network called the base network, to which hardware servers at the service provider's data center and edge computing devices at the quantum hardware provider's location, as well as various other devices (such as networking intermediaries including routers, switches, gateways, etc.) can be connected. Using the base network as the underlying infrastructure, logical networks can be configured on behalf of various virtualized computing service clients in such embodiments. For example, a set of compute instances (including virtual machines, bare-metal instances that allow non-virtualized access to at least some hardware components of the underlying servers, etc.) can be configured on behalf of client C1 within an isolated virtual network IVN1 (also referred to herein as a virtual private cloud or VPC), while another set of compute instances can be configured on behalf of a different client C2 within another isolated virtual network IVN2.
[0059] An isolated virtual network (IVN) or virtual private cloud (VPC) can include a set of networked resources (including compute instances) assigned or allocated to a given customer. These networked resources are logically isolated from (and by default inaccessible from) resources assigned to other customers in other isolated virtual networks or other virtual private clouds. Substantial flexibility can be granted to customers who establish IVNs (or VPCs) on their behalf regarding the network configuration of resources used in the IVN (or VPC)—for example, the private IP address used for compute instances can be chosen by the customer without considering the possibility that other resources within other IVNs (or VPCs) may have been assigned the same IP address; subnets of the customer's choice can be created within the IVN (or VPC); security rules can be set by the customer for incoming and outgoing traffic relative to the IVN (or VPC), etc.
[0060] Furthermore, in at least some embodiments, custom network endpoints can be configured within the IVN (or VPC) to enable compute instances within the IVN (or VPC) to communicate with network-accessible services (such as storage services, database services, machine learning services, etc.) of the service provider network using dedicated network paths of the provider network, without having to traverse or use links or devices on the public Internet. In various embodiments, the network address assigned to a compute instance within the IVN (or VPC) may differ from the underlying network address assigned to the hardware server running on that compute instance. In various embodiments, encapsulation protocols and associated mapping services can be used to route network traffic flows within and across the IVN (or VPC) via links and servers of the underlying underlying network (e.g., from one compute instance to another, between a client device outside the virtual compute service and a compute instance, or between a compute instance and other compute network services). In various embodiments, the virtual compute service may also include a set of management or data plane components responsible for tasks such as provisioning hardware, monitoring other resources, receiving and processing instance configuration commands from clients, etc.
[0061] In various embodiments, a virtualization offloading component of the edge computing device at the location of the quantum hardware provider can initiate one or more configuration operations on behalf of a client for a computing instance, including, for example, starting the computing instance, changing networking or other configuration settings, terminating the instance, etc. In at least one embodiment, a bare-metal computing instance can be instantiated on the edge computing device on behalf of a client via a virtualization offloading component included in the edge computing device, thereby enabling non-virtualized access to at least some of the hardware devices / components of the edge computing device. In various embodiments, the computing instance implemented on the edge computing device can be configured within an isolated virtual network of a service provider network, at least in part, based on operations performed using one or more network managers running at the virtualization offloading component included in the edge computing device. For example, such a network manager can store indications of network addresses (within the range of private network addresses of the isolated virtual network established at the virtualized computing service) assigned to the computing instance configured at the edge computing device, and / or can assign such addresses to virtual network interfaces programmatically attached to such computing instances.
[0062] In some embodiments, access to a root volume (and / or other logical storage devices, file systems, etc.) may be provided to compute instances of an edge computing device, at least in part, based on operations performed by one or more storage managers executed at a virtualization offloading component included in the edge computing device. For example, in some embodiments, the storage manager may use block storage services from a service provider network and / or other logical storage devices, file systems, etc., to set, modify, or otherwise configure the root volume. In some embodiments, the virtualization offloading component may include one or more persistent storage devices (e.g., devices accessible via an NVME (Non-Volatile Memory Fast) interface) where the contents of the root volume and / or other storage objects accessed from compute instances of the edge computing device may be stored. Alternatively or additionally, the virtualization offloading component may be connected, for example, via a SATA cable connection to one or more solid-state drives included in the edge computing device where the contents of the root volume and / or other storage objects accessed from compute instances of the edge computing device may be stored.
[0063] According to at least one embodiment, the networking manager of the virtualization offloading component may include a network interface card (NIC) emulator and / or an IVN connection manager. In some embodiments, encapsulation / decapsulation operations of encapsulation protocols for virtualization computing services may be implemented at the networking manager, for example, to obtain packets that boot from data center computing instances within a specific IVN to edge computing device computing instances running in the same or different IVNs. In at least one embodiment, the networking manager of the virtualization offloading component may be configured to log various types of network traffic booted to and / or from computing instances, including domain name service traffic booted to DNS servers within or outside the provider network, and to provide such logs to clients configuring computing instances on its behalf via a programmable interface.
[0064] Many programmable interfaces (e.g., web-based consoles, command-line tools, graphical user interfaces, application programming interfaces (APIs), etc.) can be implemented by the virtualization computing service to enable clients to submit requests related to computing instances in various embodiments and receive corresponding responses. For example, a client can submit a programmable request to instantiate a computing instance on an edge computing device located at a quantum hardware provider's location. In some embodiments, the virtualization computing service can dynamically increase or decrease the provisioned computing instances running on the edge computing device at the quantum hardware provider's location. For example, a client can request more or fewer instances via a command-line tool or graphical user interface, and the virtualization computing service can dynamically add or remove computing instances from the client's allocated resource pool. Additionally, a client can dynamically add or remove computing instances running on the edge computing device at the quantum hardware provider's location to or from an isolated virtual network or VPC allocated to the client.
[0065] In some embodiments, the server chassis of the edge computing device may include persistent storage and the virtualization offloading component may include an associated cryptographic storage security device (such as a physical key). In such embodiments, removing the cryptographic storage security device may render the contents of the persistent storage device unreadable / unwritable; that is, the security device may have to be physically present to allow reading or writing of the contents of the persistent storage device.
[0066] According to at least one embodiment, the virtualization offloading component may include one or more small form factor pluggable (SFP) ports. Such ports can be used to establish connections to the virtualization computing service's underlying network and / or other networks.
[0067] According to some embodiments, as previously mentioned, the provider network of virtualized computing services can implement one or more other services, such as database services or object storage services, which can be accessed from at least some computing instances of the virtualized computing service running at the quantum hardware provider's location using credentials assigned to the computing instances via the Instance Metadata Service (IMDS) of the virtualized computing service. Such an IMDS can also provide other metadata elements to the computing instances running at the quantum hardware provider's location, including a unique identifier assigned to the computing instance via the virtualized computing service, an identifier for the machine image of the computing instance (if any), block device mapping information for the instance, etc. In some embodiments, metadata can be accessed from the computing instances running at the quantum hardware provider's location via a link-local HTTP (Hypertext Transfer Protocol) address accessible only from within the instance itself. In at least one embodiment, an IMDS agent can run at a virtualization offloading component, and this metadata (including credentials that can be used to access other provider network services from the computing instances) can be provided by this agent.
[0068] In some embodiments, as previously mentioned, a dedicated service endpoint (PSE) can be set up within the IVN, for example, to enable network traffic to flow between compute instances within the IVN and other publicly accessible provider network services without using the public Internet. In at least one such embodiment, a customer can define various types of policies and associate them with such PSEs—for example, a policy could instruct only instances CI1, CI2, and CI3 of the IVN to use endpoint PSE1 to access a specific storage object SO1 at storage service SS1. In at least some embodiments, compute instances located at quantum hardware provider locations included in an edge computing device with virtualization offloading components can utilize such PSEs and associated policies.
[0069] In some embodiments, a virtualization offloading component for managing compute instances on edge computing devices at the location of a quantum hardware provider can provide the same resilience, scalability, reliability, and security offered to customers using data center-based compute instances. Additionally, the virtualization offloading component for managing compute instances on edge computing devices at the location of a quantum hardware provider can provide seamless access to other services within the service provider network for virtualized computing services, such as Virtual Private Cloud (VPC or IVN), Elastic Block Storage (EBS), Load Balancing (LBS), object-based storage systems, etc.
[0070] Example quantum computing service
[0071] Building and operating quantum computers can be both difficult and expensive. Furthermore, there is no clear trend among the various quantum computing technologies under development regarding which will gain prominence. Therefore, potential users of quantum computers may be reluctant to invest in building or acquiring a particular type, as other quantum computing technologies could overshadow the one they might choose. Additionally, successfully using quantum computers to solve practical problems may require considerable trial and error and / or significant expertise in their operation.
[0072] As an alternative to building and maintaining quantum computers, potential users of quantum computers may prefer to rely on quantum computing services to provide access to them. Furthermore, in some embodiments, quantum computing services as described herein can enable potential users of quantum computers to access quantum computers based on a variety of different quantum computing technologies and / or paradigms without the cost and resources of building or managing such quantum computers. Additionally, in some embodiments, quantum computing services as described herein can provide various services that simplify the experience of using quantum computers, allowing potential users lacking in-depth experience or knowledge of quantum mechanics to still utilize quantum computing services to solve problems.
[0073] Additionally, in some embodiments, the quantum computing service described herein can be used to supplement other services provided by a service provider network. For example, the quantum computing service can interact with classical computing services to perform hybrid algorithms. In some embodiments, the quantum computing service can accelerate a classical computer by sending a specific task to a quantum computer for execution and then using the results of the execution of the quantum computing object on the quantum computer to further perform additional classical computing operations. For example, the quantum computing service can allow virtual machines implemented on classical hardware to be accelerated in a manner similar to how a graphics processing unit (GPU) can accelerate image operations that would otherwise be performed on a central processing unit (CPU).
[0074] In some embodiments, the quantum computing service may provide potential quantum computer users with access to quantum computers that utilize various quantum computing technologies such as quantum annealers, ion trap machines, superconducting machines, photonic devices, etc. In some embodiments, the quantum computing service may provide customers with access to at least three broad categories of quantum computers, including quantum annealers, circuit-based quantum computers, and analog or continuous-variable quantum computers. As used herein, these three broad categories may be referred to as quantum computing paradigms.
[0075] In some embodiments, the quantum computing service may be configured to provide simulation services using classical hardware-based computing instances to simulate the execution of quantum circuits on a quantum computer. In some embodiments, the quantum computing service may be configured to perform general simulations and / or specifically simulations of the execution of quantum circuits on a particular type of quantum computer of a particular quantum computing technology or paradigm. In some embodiments, the simulation may be fully managed by the quantum computing service on behalf of its clients. For example, the quantum computing service may reserve sufficient computing power on a virtualized computing service within a service provider network to perform the simulation without the client's involvement in managing the details of the simulator's resources. Additionally, in some embodiments, the quantum computing service may maintain one or more "warm" simulators. A "warm" simulator may include a simulator pre-configured and instantiated on a computing instance of the virtualized computing service, such that the simulator is ready to perform simulations on demand on behalf of the quantum computing service's clients.
[0076] In some embodiments, the quantum computing service may include a dedicated console that provides customers with access to a variety of quantum computing technologies. Furthermore, the quantum computing service may provide quantum algorithm development kits that enable customers with varying levels of familiarity with quantum circuit design to design and execute quantum circuits. In some embodiments, the quantum computing service console may include various application programmable interfaces (APIs), such as:
[0077] ●(Create / Delete / Update / Get / List)Simulator-Configuration—Create, read, update, and delete (CRUD) operations for simulator configuration objects.
[0078] ●(Start / Cancel / Describe)Simulator—Used to control each user-defined simulator instance.
[0079] ●(List / Describe) Quantum Processor Unit (QPU) — Retrieves information about quantum computer hardware.
[0080] • (Create / Cancel / List / Describe)Task — Used to manage the lifecycle of individual quantum tasks / quantum objects.
[0081] In some embodiments, the quantum algorithm development kit may include a graphical user interface, API, or other interface for allowing customers of the quantum computing service to use the quantum algorithm development kit to define quantum objects such as quantum tasks, algorithms, or circuits. In some embodiments, the quantum algorithm development kit may include interface options that enable customers to share quantum objects with other customers of the quantum computing service. For example, the quantum algorithm development kit may include a marketplace that allows customers to share or sell specific quantum objects with other customers.
[0082] In some embodiments, the quantum computing service may include a public application programmable interface (API) that accepts quantum objects submitted by clients of the quantum computing service. Additionally, the quantum computing service may include a non-public backend API transport. The backend API transport enables quantum circuits to be transported from one or more data centers in a centralized location implementing the quantum computing service, such as a service provider network, to an edge computing device at the location of a specific quantum hardware provider where the quantum circuit will be executed.
[0083] In some embodiments, the results of execution of a quantum circuit on a quantum computer at the location of a quantum hardware provider can be provided to an edge computing device at the location of the quantum hardware provider. The edge computing device can automatically transmit the results to a secure storage service of a service provider network, where customers can access the results using the service provider network's storage service or via a console of the quantum computing service.
[0084] In some embodiments, the results stored in a secure storage service can be seamlessly integrated into other services within a service provider network, such as machine learning services, database services, object-based storage services, block storage services, and data rendering services (which reformat the results into a more stable configuration). For example, in some embodiments, the machine learning service can be used to optimize quantum algorithms or quantum circuits. For instance, the machine learning service can enable the running of various versions of quantum algorithms or quantum circuits on a quantum computer via a quantum computing service. Access to the results of running quantum algorithms or quantum circuits can also be provided to the machine learning service. In some embodiments, the machine learning service can enable the running of quantum algorithms or quantum circuits on quantum computers based on various different quantum computing technologies. Based on the results, the machine learning service can determine one or more optimizations to improve the quantum algorithm or quantum circuit.
[0085] In some embodiments, the quantum computing service may support the creation of snapshots of the results of executing quantum circuits. For example, the quantum computing service may store snapshots of intermediate results of hybrid algorithms or, more generally, snapshots of any results generated by executing quantum circuits on a quantum computer. In some embodiments, an edge computing device at a hardware provider location may temporarily store the results and may create snapshot copies of the results stored on the edge computing device. The edge computing device may further enable the snapshot copies to be stored in an object-based data storage service within a service provider network. In some embodiments, snapshots may not be performed based on customer preference.
[0086] Figure 1 The illustration depicts, according to some embodiments, a quantum computing service that enables customers to access a network of service providers of quantum computers using a variety of quantum computing technologies.
[0087] Service provider network 100 includes quantum computing service 102. In some embodiments, service provider network 100 may include data centers, routers, networking devices, etc., such as data centers, routers, networking devices, etc., of a cloud computing provider network. In some embodiments, clients 104, 106, and 108 and / or additional clients of service provider network 100 and / or quantum computing service 102 may connect to service provider network 100 in various ways, such as via logically isolated connections on public networks, via private physical connections not accessible to the public, or via public Internet connections.
[0088] In some embodiments, quantum computing service 102 may include quantum algorithm development kit 114, such as in Figure 4-9 As described in more detail below. Additionally, the quantum computing service 102 may include a conversion module 112, as in... Figure 10-12 It is described in more detail in the text.
[0089] Additionally, quantum computing service 102 is connected to quantum hardware providers 122, 124, 126, and 128. In some embodiments, quantum hardware providers 122, 124, 126, and 128 can provide access to run quantum objects on quantum computers based on various types of quantum computing technologies or paradigms, such as quantum annealing, ion traps, superconducting materials, photons, etc.
[0090] As in Figure 2As discussed in more detail below, in some embodiments, the service provider network 100 can be extended to include one or more edge computing devices physically located at the locations of quantum hardware providers, such as in the facilities of quantum hardware providers 122, 124, 126, and 128. Physically positioning the edge computing devices of the service provider network 100 at the locations of the quantum hardware providers' facilities extends the data security and encryption of the service provider network 100 to the facilities of quantum hardware providers 122, 124, 126, and 128, thereby ensuring the security of customer data. Furthermore, physically positioning the edge computing devices of the service provider network 100 at the locations of the quantum hardware providers' facilities reduces the latency between the computing instances of the service provider network and the quantum computers located at the quantum hardware providers' facilities. Therefore, some applications, such as hybrid algorithms sensitive to network latency, can be executed by the quantum computing service 102, whereas other systems without co-located classical computing capabilities at the hardware provider locations may have too high a latency to efficiently execute such hybrid algorithms.
[0091] In some embodiments, the quantum computing service 102 includes a backend API transmission module 110. In some embodiments, the backend API transmission module 110 may be an edge computing device (such as...) primarily implemented at the location of the quantum hardware provider within the quantum computing service. Figure 2 The illustrated edge computing devices 204a, 204b, 204c, and 204d are shown. Additionally, in some embodiments, at least some of the backend API transport functionality can be implemented on one or more computing devices (such as...) that implement quantum computing services within a service provider network. Figure 2 On the computing devices in the data centers 206a, 206b, and 206c shown in the diagram.
[0092] The quantum circuit, converted by conversion module 112, can be provided to backend API transmission module 110 for transmission to a quantum computer at the location of the appropriate quantum hardware provider. In some embodiments, backend API transmission 110 may be a non-public API accessible to edge computing devices of service provider network 100 but not publicly available. In some embodiments, edge computing devices at quantum hardware providers 122, 124, 126, and 128 may periodically check the quantum computer server-side interface with backend API transmission 110 to determine if there are any quantum circuits waiting to be transmitted to the edge computing device. If so, the edge computing device may perform an API call to backend API transmission 110 to transmit the quantum circuit to the edge computing device via a private connection and schedule it for execution on the quantum computer. Figure 17-18As discussed in more detail, edge computing devices can queue quantum circuits for execution on the quantum computer of the quantum hardware provider where the edge computing device is located. Additionally, the edge computing device may be configured with a quantum machine image that enables it to interface with the scheduling application of the quantum hardware provider where it is located, in order to schedule time slots on the quantum hardware provider's quantum computer to execute quantum circuits via a back-end API transfer 110.
[0093] In some embodiments, the results of executing quantum circuits on a quantum computer at the location of the quantum hardware provider can be returned to an edge computing device at the location of the quantum hardware provider. The edge computing device and / or quantum computing service 102 can then store the results in a data storage system of the service provider network 100, such as in... Figure 3 This is discussed in more detail below. In some embodiments, the result storage / result notification module 116 can coordinate the storage of results and can notify clients, such as client 104, that the results are ready to execute the client's quantum objects, such as quantum tasks, quantum algorithms, or quantum circuits. In some embodiments, the result storage / result notification module 116 can allocate storage space in the data storage service to clients to store their results. Additionally, the result storage / result notification module 116 can specify access restrictions for clients to view their results according to their preferences.
[0094] In some embodiments, a quantum computing simulator using classical hardware 118 of quantum computing service 102 can be used to simulate quantum algorithms or quantum circuits using classical hardware. For example, a virtual computing service such as Figure 3 The illustrated virtual computing service 326 uses one or more virtual machines to handle quantum algorithm or quantum circuit simulation jobs. In some embodiments, a quantum computing simulator using classical hardware 118 can fully manage the computing instances performing quantum circuit simulations. For example, in some embodiments, a client can submit a quantum circuit to be simulated, and the quantum computing simulator using classical hardware 118 can determine, reserve, configure, etc., the resources required to perform the simulation job. In some embodiments, the quantum computing simulator using classical hardware 118 may include one or more “warm” simulators as pre-configured simulators, making them ready to perform simulation jobs without the latency typically involved in reserving and configuring resources to perform simulations.
[0095] In some embodiments, the quantum computing service 102 includes a quantum hardware provider recommendation / selection module 120. In some embodiments, the quantum hardware recommendation / selection module 120 may recommend to a quantum computing service customer which type of quantum computer or which quantum hardware vendor to use to execute a quantum object submitted by the customer. Additionally or alternatively, the quantum hardware provider recommendation / selection module 120 may receive the customer's selection of the type of quantum computer and / or quantum hardware provider to be used to execute the customer's quantum object, such as a quantum task, quantum algorithm, quantum circuit, etc., submitted by the customer or otherwise defined by customer input.
[0096] In some embodiments, recommendations provided by the quantum hardware provider recommendation / selection module 120 may be based on one or more characteristics of a quantum object submitted by a customer and one or more characteristics of one or more quantum hardware providers such as quantum hardware providers 122, 124, 126 or 128 supported by the quantum computing service 102.
[0097] In some embodiments, the quantum hardware provider recommendation / selection module may make recommendations based on known data about previously executed quantum objects similar to those submitted by the customer. For example, quantum computing service 102 may store a certain amount of metadata about executed quantum objects and use such metadata to make recommendations. In some embodiments, the recommendation may include an estimated cost of performing the quantum computing task by each of the first and second quantum hardware providers. In some embodiments, the recommendation may include an estimated error rate for each of the first and second quantum hardware providers regarding the execution of the quantum computing task. In some embodiments, the recommendation may include an estimated length of time for each of the first and second quantum hardware providers to perform the quantum computing task. In some embodiments, the recommendation may include various other types of information relating to one or more quantum hardware providers, or any combination thereof.
[0098] In some embodiments, a quantum computing simulator using classical hardware 118 can allow a customer to simulate one or more specific quantum computing technology environments. For example, a customer can simulate quantum circuits in an annealed quantum computing environment and an ion trap quantum computing environment to determine the simulation error rate. The customer can then use this information to make a selection of quantum hardware vendors to be used to execute the customer's quantum circuits.
[0099] Figure 2 The illustration depicts an edge computing device for a quantum computing service that is physically located at the location of a quantum hardware provider, according to some embodiments.
[0100] In some embodiments, service provider network 100, such as Figure 1 , Figure 2 , Figure 3 , Figure 13 and Figure 20 The illustration may include one or more data centers interconnected via private or public network connections. Additionally, edge computing devices located at quantum hardware provider sites can be connected to the service provider network via private or public network connections. For example, Figure 2 The illustrated service provider network 100 includes data centers 206a, 206b, and 206c interconnected via private physical network links within the service provider network 100. In some embodiments, customers of the service provider network can also connect via physical connections at router colocation facilities, such as private physical network links that are not publicly available for carrying network services. For example, customer 210 connects to a router associated with data center 206c via direct connection 224. Similarly, edge computing devices located at quantum hardware provider locations can connect to the service provider network via private physical network links that are not available for carrying public network services.
[0101] For example, edge computing device 204a located at quantum hardware provider location 202a is connected to a router at data center 206a via direct connection 218. Similarly, edge computing device 204b located at quantum hardware provider location 202b is connected to a router at data center 206b via direct connection 220. Additionally, edge computing device 204c located at quantum hardware provider 202c is connected to a router at data center 206c via direct connection 222.
[0102] Additionally, in some embodiments, edge computing devices located within a service provider network at a quantum hardware provider's location can be connected to the service provider network via logically isolated network connections over a shared network connection, such as via the Internet or another public network. For example, edge computing device 204d at quantum hardware provider location 202d is connected to data center 206c via network 216 via a logically isolated network connection. Similarly, in some embodiments, a customer such as customer 214 can be connected to service provider network 100 via public network 212.
[0103] In some embodiments, the quantum computing service, such as quantum computing service 102, can be implemented using one or more computing devices in any of data centers 206a, 206b, 206c, etc. Additionally, quantum computing service 102 can provide customers, such as customer 214 or customer 210, with access to quantum computers at any of the quantum hardware provider locations 202a, 202b, 202c, 202d, etc. For example, customers are not limited to using quantum hardware providers in their local area. Instead, customers can be assigned computing instances instantiated on local edge computing devices located at the selected quantum hardware provider's location, so that the customer's location does not restrict their access to quantum computers based on various types of quantum computing technologies.
[0104] Figure 3 The illustration depicts a network of service providers, including quantum computing services, virtual computing services, and storage services, according to some embodiments.
[0105] Service provider network 100, such as Figure 1 , Figure 2 , Figure 3 , Figure 13 and Figure 20 The illustration shows an entity, such as a company or public sector organization, that can set up to provide customers 350 with one or more services (such as various types of cloud-based computing or storage) accessible via the Internet and / or other networks. The service provider network 100 may include numerous data centers hosting pools of various resource hosts (such as...). Figure 2 The data center and network backbone described herein, the resource pool such as physical and / or virtualized computer servers, storage devices, networking devices, etc., required to implement and distribute the infrastructure and storage services provided by the service provider network 100 (e.g., as described below regarding...) Figure 23 The described computing system 2300 is a collection of computing systems. In some embodiments, the service provider network 100 may provide computing resources (such as virtual computing service 326), storage services (such as block-based storage service 336, which may include various storage types, such as object / key-value data buffers or various types of database systems) and / or any other type of network-based service 338. Clients 350 may access these various services provided by the provider network 100 via network 348. Similarly, network-based services may communicate with and / or utilize each other to provide different services. For example, computing resources provided to client 350 in units called “instances” (such as virtual or physical computing instances or storage instances) may utilize other resources, such as data stored in object-based data storage service 336 for computing instances 322a, 322b, 322c, and 322c.
[0106] As noted above, virtual computing service 326 can provide various computing instances to client 350. In some embodiments, such computing instances can be instantiated on edge computing devices located at quantum hardware provider locations. For example, in some embodiments, one or more of resource hosts 324a, 324b, 324c, or 324n can be edge computing devices located at quantum hardware provider locations such as quantum hardware providers 340, 342, 344, and / or 346. Additionally, virtual computing instances (e.g., virtual machines) can be implemented, for example, on one or more resource hosts 324 including one or more servers with specified computing capabilities (which can be specified by indicating the type and number of CPUs, main memory size, etc.) and specified software stacks (e.g., a specific version of an operating system that can then run on top of a hypervisor). In different embodiments, many different types of computing devices can be used individually or in combination to implement computing instances of virtual computing service 326, including dedicated computer servers, storage devices, network devices, etc., such as edge computing devices located at quantum hardware provider locations. In some embodiments, instance client 350 or any other user can be configured (and / or authorized) to route network traffic to the computing instance. In various embodiments, computing instances may be attached to or mapped to one or more data volumes provided by a block-based storage service to obtain persistent block-based storage for performing various operations.
[0107] Computational instances can operate on or implement various platforms, such as general-purpose operating systems, application server instances, and Java. TM Virtual machines (JVMs), dedicated operating systems, platforms that support various interpreted or compiled programming languages such as Ruby, Perl, Python, C, and C++, or high-performance computing platforms suitable for executing client applications without requiring, for example, 350 client access instances.
[0108] Compute instance configurations can also include compute instances with general or specific purposes, such as compute workloads for compute-intensive applications (e.g., high-performance web applications, advertising, batch processing, video encoding, distributed analytics, high-energy physics, genomics analysis, and computational fluid dynamics), graphics-intensive workloads (e.g., game streaming, 3D application streaming, server-side graphics workloads, rendering, financial modeling, and engineering design), memory-intensive workloads (e.g., high-performance databases, distributed memory caching, in-memory analytics, genomics assembly and analysis), and storage-optimized workloads (e.g., data warehousing and clustered file systems). The size of the compute instance, such as a specific number of virtual CPU cores, memory, cache, storage, and any other performance characteristics. The configuration of the compute instance can also include its location in a specific data center or availability zone, its geographic location, and (if the compute instance is retained) the length of the retention period.
[0109] In some embodiments, an object-based storage service, such as object-based storage service 336, may include multiple resource hosts storing snapshot objects and / or other storage objects. For example, object-based storage service 336 includes resource hosts 330a and 330b to 330n storing snapshot objects 328a and 328b to 328n. Additionally, object-based storage service 336 includes resource hosts 334a and 334b to 334n storing storage objects 332a and 332b to 332n. For ease of illustration, snapshot objects 328 and storage objects 332 are illustrated as being stored on different resource hosts of object-based storage service 336. However, in some embodiments, the same resource host of the object-based storage service, such as resource host 330 of object-based storage service 336, may store both storage objects and snapshot objects, such as snapshots taken from intermediate results of the execution of a hybrid algorithm, final results of the execution of a quantum computing object, or machine images from a target volume of a block-based storage service used to bootstrap a computing instance, such as one of computing instances 322. Additionally, the resource host 330 of the object-based storage service 336 may store one or more quantum machine images for bootstrapping computational instances at the edge computing device, which coordinates the execution of quantum objects on a quantum computer at the location of the quantum hardware provider where the edge computing device is located.
[0110] Additionally, the service provider network 100 can implement other network-based services 338, which may include various types of analytics, computing, storage, or other network-based systems that allow customers 350 and other services of the provider network 100 (e.g., block-based storage services, virtual computing services 326, and / or object-based storage services 336) to perform or request various tasks.
[0111] Client 350 may contain any type of client configurable to submit requests to network provider 100. For example, a given client 350 may include a suitable version of a web browser, or may include a plug-in module or other type of code module configured to act as an extension of or within an execution environment provided by a web browser. Alternatively, client 350 may contain applications such as database applications (or their user interfaces), media applications, office applications, or any other application that can utilize computing instance 322, quantum computing service 102, or other web-based services in provider network 100 to perform various operations. In some embodiments, such applications may include sufficient protocol support (e.g., for a suitable version of Hypertext Transfer Protocol (HTTP)) for generating and processing web-based service requests without necessarily implementing full browser support for all types of web-based data. In some embodiments, client 350 may be configured to generate web-based service requests according to a representative state transition (REST) style web-based service architecture, a document- or message-based web-based service architecture, or another suitable web-based service architecture. In some embodiments, client 350 (e.g., computing client) may be configured to provide access to computing instance 322 or data storage object 332 in a manner transparent to applications implemented on client 350 that utilize computing resources provided by computing instance 322 or storage provided by storage object 332.
[0112] Customer 350 can communicate network-based service requests to service provider network 100 via external network 348. In various embodiments, external network 348 can include any suitable combination of networking hardware and protocols necessary to establish network-based communication between customer 350 and service provider network 100. For example, network 348 can typically include various telecommunications networks and service providers that collectively implement the Internet. Network 348 can also include private networks such as local area networks (LANs) or wide area networks (WANs) and public or private wireless networks. For example, both customer 350 and service provider network 100 may be provided within an enterprise with their own internal networks. In such embodiments, network 348 can include the hardware (e.g., modems, routers, switches, load balancers, proxy servers, etc.) and software (e.g., protocol stacks, accounting software, firewall / security software, etc.) necessary to establish networking links between customer 350 and the Internet and between the Internet and service provider network 100. It should be noted that in some embodiments, customer 350 may use a private network instead of a public Internet, such as... Figure 2 The direct connection described herein is used to communicate with the service provider network 100.
[0113] Figure 4 The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments.
[0114] In some embodiments, the quantum algorithm development kit can support multiple paradigms for defining quantum circuits. For example, different paradigms can be customized for customers with different levels of expertise in designing quantum circuits.
[0115] For example, less experienced customers can choose a problem domain-based paradigm. For instance, a customer can select the Problem Domain Quantum Task button 406 to display a problem domain-based interface for designing quantum circuits. The problem domain-based interface can include pre-configured quantum algorithms designed to perform specific functions associated with one or more corresponding problem domains. Customers of the quantum computing service can select an applicable problem domain for the problem to be solved. Additionally, within a given problem domain, customers can select one or more pre-configured quantum algorithms from the pre-configured quantum algorithms for the selected problem domain to define the quantum algorithm to be executed through the quantum computing service as a quantum computing object, such as a quantum circuit. For example, Figure 5 The illustration shows an example view of the quantum algorithm development kit 114 when the problem domain quantum task design option 406 is selected. In some embodiments, the quantum task / algorithm / circuit design space 404 can display the quantum objects currently defined via a given selected design paradigm.
[0116] As another example, intermediate-level customers can select a convenient quantum algorithm design paradigm. This convenient quantum algorithm design paradigm can be configured to allow the quantum computing service 102 to easily design quantum circuits using customer-configurable components, without requiring the customer to understand all the nuances of designing quantum circuits. For example, the customer can select the convenient quantum algorithm design button 408 to display a quantum algorithm-based interface for designing quantum circuits. The quantum algorithm-based interface may include pre-configured quantum logic elements configured to be arranged to form quantum algorithms, wherein the customer of the quantum computing service selects and / or arranges the pre-configured quantum logic elements to define a specific quantum algorithm to be executed by the quantum computing service as a quantum computing object. For example, Figure 6 The illustration shows an example view of the quantum algorithm development kit 114 when the convenient quantum algorithm design option 408 is selected. In some embodiments, the quantum task / algorithm / circuit design space 404 may display the quantum objects currently defined via the convenient quantum algorithm design option 408.
[0117] Alternatively, as another example, more experienced customers can choose detailed quantum circuit-based design paradigms. For instance, quantum circuit-based design paradigms can give customers greater control over customizing the parameters of the quantum circuit, but may also require customers to have a deeper understanding of quantum computers in order to successfully design quantum circuits using the quantum circuit-based design paradigm. For example, a customer can select the detailed quantum circuit design button 410 to display a quantum circuit-based interface for designing quantum circuits. The quantum circuit-based interface may include quantum operators and connectors, where the customer of the quantum computing service combines quantum operators and connectors to define a specific quantum circuit to be executed by the quantum computing service 102 as a quantum computing object. For example, Figure 7 The illustration shows an example view of the quantum algorithm development kit 114 when the detailed quantum circuit design option 410 is selected. In some embodiments, the quantum task / algorithm / circuit design space 404 can display the quantum circuit currently defined via the detailed quantum circuit design option 410.
[0118] Additionally, quantum algorithm development kits such as quantum algorithm development kit 114 may include options for simulating the quantum circuit being designed, wherein the simulation is performed using classical hardware, such as... Figure 3 The virtual computing service described herein is a computational instance. For example, the quantum algorithm development kit 114 includes a simulation button 412. Additionally, the quantum algorithm development kit 114 may include recommendation buttons, such as a cost / performance estimation / recommendation button 414. For example, selecting the cost / performance estimation / recommendation button 414 may provide the customer with an estimate of the performance of the quantum task / algorithm / circuit being designed in design space 404, as well as estimated costs for performing the task / algorithm / circuit using various quantum hardware providers. In some embodiments, selecting the cost / performance estimation / recommendation button 414 may provide the customer with performance and cost estimates for performing the task / algorithm / circuit designed using various quantum computing paradigms, the type of quantum computer, or the quantum computer vendor. Furthermore, in some embodiments, selecting the cost / performance estimation / recommendation button 414 may provide the customer with recommendations regarding which quantum computing paradigm, quantum computer type, or quantum hardware vendor to select for performing the task / algorithm / circuit being designed.
[0119] In some embodiments, a customer can select the quantum computing paradigm, quantum computer type, and / or quantum hardware provider for performing the designed task / algorithm / circuit via quantum hardware provider selection button 416. For example, a customer can specify to use an annealed quantum computing paradigm, a circuit-based quantum computing paradigm, or an analog or continuous-variable quantum computing paradigm. As another example, a customer can specify to use annealed quantum computing technology, ion trap quantum computing technology, superconducting quantum computing technology, photon-based quantum computing technology, etc. Additionally, some customers can specify a particular quantum hardware vendor and may even specify a particular paradigm or technology to be used at a particular quantum hardware provider.
[0120] For example, a set of interactions that are exchanged between a customer and a quantum algorithm development kit to design and execute quantum tasks / algorithms / circuits may include the interactions shown in 420 to 434.
[0121] For example, at 420, customer 418 can select a design paradigm to define the quantum object (e.g., a quantum task / algorithm / circuit) to be submitted to the quantum computing service for execution on a quantum computer or simulator of a quantum hardware provider. At 422, customer 418 can use the selected design paradigm to provide a definition for the quantum object. For example, customer 418 can use various tools available for use in different design paradigms to define the quantum object in design space 404.
[0122] At 424, client 418 can request a simulation of the quantum object defined in design space 404 by selecting simulation button 412. At 426, quantum algorithm development kit 114 can provide simulation results to client 418. For example, the simulation results can be displayed in design space 404. Additionally, at 428, quantum algorithm development kit 114 can provide client 418 with performance / cost estimates and / or recommendations. For example, in response to client 418 selecting cost / performance estimate / recommendation button 414.
[0123] At 430, customer 418 can select the quantum hardware provider and / or quantum computer type to be used to execute the quantum object defined by customer 418. In some embodiments, in response to simulation results and / or performance and cost estimates, customer 418 can return to 422 and modify the quantum object definition. Additionally, although not shown, customer 418 can further simulate the defined quantum object on a simulator that simulates the performance of the selected quantum hardware provider and / or quantum computer technology type. For example, the simulator can perform simulations specifically simulating the execution of the defined quantum object using a particular quantum computing paradigm, a particular quantum computing technology, or a particular quantum hardware provider, etc.
[0124] If customer 418 is satisfied with the definition of the customer's quantum object, then at 432 customer 418 can submit the defined quantum object (e.g., quantum task, quantum algorithm, quantum circuit) for execution on a selected quantum hardware provider. The quantum computing service can convert the quantum object (e.g., quantum task, quantum algorithm, quantum circuit) into a quantum circuit in a format suitable for execution on the quantum computer of the selected quantum hardware provider. In some embodiments, the quantum algorithm development kit can automatically select a quantum hardware provider for executing the customer's quantum object based on the characteristics of the quantum object (e.g., quantum task, quantum algorithm, quantum circuit) and the nature of the quantum computer at the quantum hardware provider and / or based on other considerations such as load balancing, cost, etc. Therefore, in some embodiments, the customer can simplify the definition of the quantum object and submit the defined quantum object for execution.
[0125] Once the quantum object has been executed and a result has been generated, the quantum computing service can notify the client at 434 that the result is available at 418. In some embodiments, such as when executing a hybrid quantum computing algorithm, the result can be presented to the classical computer executing the classical computing portion of the hybrid algorithm, and the client can be notified when the hybrid algorithm is complete, but not necessarily for each step of the hybrid algorithm that generates intermediate quantum computing results.
[0126] Figure 5 The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments of a display problem domain design paradigm.
[0127] In some embodiments, when a problem domain design paradigm is selected, the quantum algorithm development kit 114 can provide the customer with multiple problem domains to choose from. For example... Figure 5 The illustration shows the quantum algorithm development kit 114 with the problem domain quantum task design button 406 selected. The quantum algorithm development kit presents a quantum task design space 504 and multiple problem domains for the customer to select from. For example, the quantum algorithm development kit 114 offers problem domain options for the following: chemistry domain 516, physics domain 518, pharmaceutical domain 520, biotechnology domain 522, medical modeling domain 524, information security domain 526, machine learning domain 528, process simulation domain 530, physical modeling domain 532, optimization problem domain 534, and / or other problem domains 536. Note that... Figure 5 The problem domain shown is provided as an example problem domain that can be supported by the quantum algorithm development kit 114 and should not be interpreted as an exhaustive list of all problem domains that can be supported.
[0128] The quantum algorithm development kit 114 can be configured to provide customers with domain-specific design tools 514 based on which problem domain is selected. For example, if the chemistry domain 516 is selected, the domain-specific tool 514 can include pre-configured quantum algorithms typically used to solve chemistry-related problems. Similarly, if the physics domain 518 is selected, the domain-specific tool 514 can include pre-configured quantum algorithms typically used to solve physics-related problems. If other problem domains are selected, the domain-specific tool 514 can be tailored accordingly to include pre-configured quantum algorithms useful for solving problems in a given selected problem domain.
[0129] In some embodiments, selecting a specific tool in domain-specific tools 514 allows pre-configured quantum algorithm elements to be added to a quantum object (e.g., a quantum task / algorithm / circuit) being designed in the quantum task design space 504. The client can then modify the pre-configured quantum algorithm elements, arranging them together with other pre-configured quantum algorithm elements to define the quantum object, or provide input parameters or other parameters to the pre-configured quantum algorithm elements or the entire quantum object being defined.
[0130] In some embodiments, a client can save quantum objects designed in the quantum task design space 504 for later use. Additionally, in some embodiments, a client can contribute quantum objects designed in the quantum design space 504 to a shared application, such as a marketplace that allows other clients of the quantum computing service to use the quantum objects. For example, a chemistry client can define a quantum object for determining the energy state of a particular molecule and can select the pre-configured solution marketplace button 512 to submit the quantum object for determining the energy state of a particular molecule to a shared marketplace. This can allow other clients of the quantum computing service to use the already defined quantum object to solve similar problems. Additionally, in some embodiments, a client can be compensated when another client uses a client's pre-defined quantum object. In other embodiments, the pre-configured solution marketplace can be open source, allowing clients to access their pre-defined quantum objects with the expectation of accessing other quantum objects defined by other clients to solve other problems, such as determining the energy state of other molecules.
[0131] In some embodiments, a customer may select a predefined quantum object from a pre-configured solutions marketplace and may further modify the predefined quantum object or combine it with other elements to form a new quantum object. This can be done in the quantum task design space 504. The customer can then enable the execution of the modified quantum object on a quantum computer and / or provide the modified quantum object back to the pre-configured solutions marketplace.
[0132] Figure 6The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments, illustrating quantum algorithm design paradigms.
[0133] As another example, customers can choose to use quantum algorithm design paradigms to define quantum objects to be executed via quantum computing services. For example, Figure 6 The illustration shows the quantum algorithm development kit 114 with the convenient quantum algorithm design button 408 selected. In this design example, the quantum algorithm design space 604 can display the quantum algorithm being designed by the customer. As an example of a quantum algorithm, the quantum algorithm design space illustration can be further modified by the customer or used as an example view to define Shor's algorithm for quantum objects.
[0134] When a quantum algorithm design paradigm is selected, quantum algorithm logic element selection options such as 618, 620, and 622 can be displayed. The customer can select one of the options, such as common algorithm element 618, to have the common algorithm element displayed in algorithm element 614 at the bottom of the quantum algorithm design space 604. The customer can then select the quantum algorithm logic elements included in algorithm element 614 to define quantum objects (e.g., quantum algorithms) in the design space 604. Alternatively, the customer can select algorithm marketplace option 612 to provide a defined quantum algorithm to the algorithm marketplace or use a quantum algorithm from the quantum algorithm marketplace.
[0135] Figure 7 The illustration shows an example quantum computing service quantum algorithm development kit interface according to some embodiments of a quantum circuit design paradigm.
[0136] As another example, customers can choose to use quantum circuit design paradigms to define quantum objects to be executed via quantum computing services. For example, Figure 7 The illustration shows a quantum algorithm development kit 114 with a detailed quantum circuit design 410 selected. In this design example, the quantum circuit design space 704 can display a quantum circuit being designed by the customer. As an example of a quantum circuit, the quantum circuit design space is illustrated as follows... Figure 6 The diagram shows an example view of Shor's algorithm, which uses gates instead of the inverse quantum Fourier transform to convert to a quantum circuit. In the quantum circuit design paradigm, the client can select and / or arrange specific quantum gates to define the quantum object. For some quantum computing paradigms that do not use gates, such as annealing, other types of quantum operators can be used in the detailed design space to define the quantum object to be executed via the quantum computing service.
[0137] When a quantum circuit design paradigm is selected, quantum gate selection options such as 724, 726, and 728 can be displayed. In some embodiments, customers can submit their own custom gate types, such as via option 728.
[0138] Customers can select one of the options, such as gate type 724, to have quantum gates of the selected gate type displayed in gates 720 to 722, which can include any number of gates. Additionally, quantum circuit design paradigms can include connector tools 714, node tools 716, and measurement tools 718. These tools can be used to add connectors, nodes, and measurement points to the quantum circuit being designed in the quantum circuit design space 704. In some embodiments, customers can supply defined quantum circuits or their own custom gate types to the custom gate / circuit marketplace or use quantum circuits or gates from the custom gate / circuit marketplace by selecting custom gate / circuit marketplace option 712.
[0139] Figure 8 The illustration shows example flowcharts for designing quantum tasks, algorithms, or circuits using a quantum algorithm development kit interface, according to some embodiments.
[0140] In 802, the Quantum Computing Service provides quantum algorithm development kits, such as Quantum Algorithm Development Kit 114, to its customers.
[0141] In 804, the quantum computing service receives a preferred design paradigm from the customer to define the quantum objects to be performed through the quantum computing service, such as quantum tasks, quantum algorithms, or quantum circuits to be performed through the quantum computing service using a quantum computer provided by a quantum hardware provider.
[0142] If the problem domain design paradigm is selected at step 806, the quantum computing service provides the client with a problem domain interface at step 808. At step 810, the quantum computing service provides options for multiple problem domains via the problem domain interface. At step 812, the quantum computing service receives the client's selection of the problem domain to be used to define the quantum object to be executed by the quantum computing service. At step 814, the quantum computing service provides the client with pre-configured quantum computing objects, such as pre-configured quantum algorithms, for the selected problem domain to define the quantum object to be executed by the quantum computing service.
[0143] If the auxiliary quantum algorithm definition design paradigm is selected in step 816, the quantum computing service provides the auxiliary quantum algorithm definition interface to the client in step 818. In step 820, the quantum computing service provides pre-configured quantum logic elements to the client via the auxiliary quantum algorithm definition interface. In step 822, the quantum computing service receives the selected combination of quantum logic elements defining the quantum object to be executed by the quantum computing service.
[0144] If it is determined in step 824 that a user-guided quantum circuit definition design paradigm has been selected, the quantum computing service provides the client with a user-guided quantum circuit definition interface in step 826. In step 828, the quantum computing service receives user input defining a specific quantum circuit via the user-guided quantum circuit definition interface.
[0145] Figure 9 The illustrations illustrate example transformations of quantum tasks, algorithms, or circuits defined via a quantum algorithm development kit interface into quantum computing technology-specific representations according to some embodiments.
[0146] In 902, the quantum computing service receives definitions of quantum objects that will be executed by a quantum computer from a quantum hardware provider through the quantum computing service. For example, a quantum object can be a quantum task defined via a problem domain paradigm interface, a quantum algorithm defined via a quantum algorithm design interface, a quantum circuit defined via a quantum circuit design interface, etc.
[0147] In 904, the Quantum Computing Service provides customers with recommendations for recommended quantum hardware providers to be used to execute quantum objects.
[0148] In 906, the quantum computing service receives a customer's selection of a quantum hardware provider to be used to execute a quantum object. In some embodiments, the selection may simply be to accept the quantum computing service's recommendation, or various details may be specified, such as what type of quantum computing technology to use or a specific quantum hardware provider to be used to execute the customer's quantum object.
[0149] The quantum computing service can then automatically convert quantum objects, such as those defined by the customer in a neutral intermediate representation of various quantum technologies and quantum hardware vendors supported by the quantum computing service, into a specific quantum circuit format supported by the selected quantum hardware vendor.
[0150] For example, if the first quantum hardware vendor is selected in 908, the quantum computing service in 910 can convert customer-defined quantum objects into quantum circuit representations compatible with annealing-based quantum computers.
[0151] As another example, if a second quantum hardware vendor is selected in 912, the quantum computing service in 914 can convert customer-defined quantum objects into quantum circuit representations compatible with ion trap-based quantum computers.
[0152] As another example, if a third quantum hardware vendor is selected in 916, the 918 quantum computing service can convert customer-defined quantum objects into quantum circuit representations compatible with superconducting quantum computers.
[0153] As another example, if a fourth quantum hardware vendor is selected in 920, the quantum computing service in 922 can convert customer-defined quantum objects into quantum circuit representations compatible with photon-based quantum computers.
[0154] As another example, if an Nth quantum hardware vendor is selected at 924, then at 926 the quantum computing service can convert a customer-defined quantum object into a quantum circuit representation compatible with an Nth-based quantum computer. Note that "N" is used to indicate that in some embodiments, the quantum computing service can support any number of quantum computing technologies.
[0155] Examples of transformations from intermediate representations to quantum computing-specific representations
[0156] In some embodiments, the quantum computing service may use an intermediate representation to define a quantum object, and then convert the quantum object into a quantum hardware-specific quantum circuit representation before making the quantum circuit usable for transmission to an edge computing device at the location of the quantum hardware provider for execution on the quantum hardware provider's quantum computer.
[0157] For example, a quantum computing service can support both circuit-based quantum computers and annealed quantum computers (which use a different language to define quantum tasks than circuit-based quantum computers). For instance, each quantum computing technology supported by the quantum computing service may not support all gates. Therefore, the quantum computing service can convert quantum operators supported in a particular quantum computing technology into equivalent representations in another quantum computing technology. For example, a gate defined in a circuit-based quantum computing technology may not have a similar gate in an annealed quantum computing technology. Therefore, the quantum computing service can convert circuit-based gates into equivalent representations with similar functionality in annealed quantum computing technologies. In some embodiments, to provide a representation with similar functionality, a single gate in a first quantum computing technology can be converted into a sequence of gates or quantum operators in a second quantum computing technology. Additionally, after replacing the equivalent representation with quantum operators, the quantum computing service can perform one or more operations to determine whether the number of quantum operators in the converted quantum circuit representation can be reduced without significantly affecting functionality. For example, some gate sets can be replaced with fewer gates.
[0158] Additionally, in some embodiments, the quantum computing service can transform an intermediate representation of a quantum object into a representation to be executed on a quantum computer simulator. In some embodiments, the simulator may support a defined set of quantum operators that can vary from a set of quantum operators supported by a quantum computer using a specific quantum computing technology.
[0159] In some embodiments, the quantum computing service may support the transformation of a customer-defined gate into a set of one or more quantum operators that are available in a particular quantum computing technology or at a particular quantum hardware vendor.
[0160] In some embodiments, the quantum computing service may provide customers with access to a converted quantum circuit representation, as it will be executed at the quantum hardware provider's location. This can assist customers in troubleshooting and designing their quantum circuits.
[0161] In some embodiments, the quantum computing service may further include a hardware-specific optimizer that optimizes the converted quantum circuit based on the characteristics of a particular type of quantum computing hardware.
[0162] In some embodiments, the quantum computing service can convert a quantum object in an intermediate representation into two or more quantum hardware-specific quantum circuit representations. For example, a customer may expect to use two different types of quantum computers to execute the quantum object. In such a case, the quantum computing service can automatically convert the customer's quantum object into a first quantum circuit representation and a second quantum circuit representation, each suitable for a corresponding one of the two different types of quantum computers.
[0163] Figure 10 The illustration shows an example transformation of an intermediate representation of a quantum task, algorithm, or circuit according to some embodiments into any of a plurality of supported quantum computing technology representations.
[0164] For example, Figure 10 The illustration shows a quantum object 1002, which is a quantum algorithm that is transformed at 1004 into multiple quantum computing technology-specific representations such as annealed quantum computer compatible representation 1006, ion trap quantum computer representation 1008, superconducting quantum computer compatible representation 1010, photon-based quantum computer compatible representation 1012, and / or another quantum computer compatible representation 1014.
[0165] Figure 11A The illustrations depict processes involving quantum computing services receiving, converting, and executing quantum tasks, algorithms, or circuits, according to some embodiments.
[0166] In 1102, the quantum computing service receives quantum objects, such as quantum computing tasks / algorithms / circuits, where the quantum computing objects are defined based on intermediate representations supported by the quantum computing service.
[0167] In 1104, the quantum computing service translates quantum computing tasks / algorithms / circuits from intermediate representations into a quantum hardware provider-specific representation corresponding to one of the multiple quantum hardware providers associated with the quantum computing service. For example, a quantum computing task / algorithm / circuit can be translated into a quantum circuit in a format supported by a specific quantum hardware provider affiliated with the quantum computing service.
[0168] In 1106, the quantum computing service provides the converted quantum computing circuitry to the edge computing device of the quantum computing service located at the facility of the selected quantum hardware provider.
[0169] At 1108, the edge computing device receives the results of executing quantum computing circuits on a quantum computer of a selected quantum hardware provider.
[0170] In 1110, the quantum computing service provides customers with notifications that a quantum computing task / algorithm / circuit has been executed.
[0171] Figure 11B The illustrations depict additional steps, which, according to some embodiments, can be performed to convert a quantum task, algorithm, or circuit from an intermediate representation into a quantum computing technology-specific representation.
[0172] In some embodiments, the transformation as described in 1104 may further include steps 1120, 1122, 1124, and 1126.
[0173] In 1120, the conversion module of the quantum computing service, such as the conversion module 112 of the quantum computing service 102, identifies the part of the quantum computing task / algorithm / circuit corresponding to the quantum operator.
[0174] In 1122, the conversion module replaces the quantum operators in the intermediate representation with quantum operators corresponding to the quantum computing technology of the selected quantum hardware provider.
[0175] In 1124, the conversion module performs one or more quantum circuit optimizations to reduce the total number of quantum operators in the converted quantum circuit.
[0176] In 1126, the conversion module provides the converted quantum circuit to the backend API for delivery to the edge computing device at the selected quantum hardware provider.
[0177] Figure 12 The illustration shows an example quantum circuit optimization process according to some embodiments.
[0178] In some embodiments, in order to perform optimization, the conversion module identifies one or more gate sets in the converted version of the quantum circuit at 1202, which can be replaced with a smaller gate set with equivalent functionality.
[0179] At 1204, the conversion module replaces or combines the identified gates. At 1206, the conversion module may optionally simulate the modified quantum circuit to verify equivalent functionality. At 1208, the conversion module may provide an optimized converted quantum circuit for execution via a backend API transfer. In some embodiments, the conversion as described herein may be performed before the quantum object is transferred to an edge computing device at the location of the quantum hardware provider. However, in other embodiments, the conversion may be performed by an edge computing device at the location of the quantum hardware provider.
[0180] Example edge computing device located at the location of a quantum hardware provider
[0181] Figure 13 An example edge computing device connected to a quantum computing service is illustrated according to some embodiments.
[0182] Service provider network 100 and quantum computing service 102 can be similar to the service provider network and quantum computing service described herein, such as in Figure 1-3 In addition, edge computing device 1352 can be an edge computing device similar to any of the previously described edge computing devices, such as in... Figure 1-3 In the middle. Edge computing device 1352 is connected to service provider network 100 via network connection 1300, which may be a logically isolated network connection via a public network, a dedicated physical non-public network link, or other suitable network connection.
[0183] Edge computing device 1352 includes a network manager 1358, a storage manager 1360, and a virtual machine control plane 1356. In some embodiments, these components may be implemented on a virtualization offloading component, as described below. Figure 19 and Figure 20 A more detailed description of the virtual unloading card, which is also described above.
[0184] In some embodiments, the backend application programmable interface (API) transmission of the edge computing device, such as backend API transmission 1354 of edge computing device 1352, can check the quantum computing service to determine if there are quantum circuits waiting to be transmitted to the edge computing device. The edge computing device may further use non-public backend API transmissions, such as backend API transmission 1354, to bring quantum circuits into edge computing device 1352.
[0185] Additionally, for each client, the backend API transport of the quantum computing service's edge computing device, such as backend API transport 1354 for edge computing device 1352, can enable the instantiation of virtual machines to manage the scheduling and results of a given quantum circuit pulled into the edge computing device from the backend API. For example, virtual machine 1370 can serve as an interface to a quantum hardware provider for a given client of the quantum computing service. The edge computing device can directly connect to a local non-public network at the quantum hardware provider's location and can interface with the quantum hardware provider's scheduling component to schedule availability (e.g., time slots) on the quantum hardware provider's quantum computers.
[0186] In some embodiments, the virtual machine 1370 may be booted with a specific quantum machine image that supports an interface with the scheduling component of a quantum hardware provider.
[0187] In some embodiments, the virtual machine 1370 may be booted by a quantum circuit queuing component 1372, a quantum circuit scheduling component 1376, and components that manage local storage buckets on the edge computing device to temporarily store results (such as temporary bucket 1374 and result manager 1378).
[0188] In some embodiments, the edge computing device, such as edge computing device 1352, may support multi-tenancy. Additionally, in some embodiments, edge computing device 1352 may also instantiate virtual machines that perform the classical computing portion of classical computing tasks such as hybrid algorithms. For example, edge computing device 1352 may also include a virtual machine 1362 for another client that performs the classical computing portion of a hybrid algorithm, and an additional virtual machine 1364 for another client that serves as an interface to a quantum hardware provider for that client.
[0189] In some embodiments, the back-end API transmission of the edge computing device located at the location of the quantum hardware provider may interface with the back-end API transmission interface 110 of the computing device / router located at a remote location where one or more computing devices implementing the quantum computing service are located.
[0190] Note that the edge computing device 1352 may be physically located at the quantum hardware provider's premises 1350, such as in a building within the quantum hardware provider's facility.
[0191] In some embodiments, components of virtual machine 1370 may be included in backend API transport 1354, and backend API transport 1354 may execute relevant components within the backend API transport without instantiating a separate VM 1370.
[0192] Figure 14 The illustration shows an example interaction between a quantum computing service and the edge computing device of the quantum computing service, according to some embodiments.
[0193] The backend API transport 1354 of edge computing device 1352 may submit checks 1402, 1404, 1406, etc., to quantum computing service 102 to determine whether there is a quantum computing circuit to be transmitted to edge computing device 1352. At 1408, quantum computing service 102 may indicate to edge computing device 1352 that there is a converted quantum circuit ready to be transmitted to edge computing device 1352. In response, backend API transport 1354 may cause virtual machine control plane 1356 to instantiate virtual machine 1370 as an interface for clients to quantum hardware providers. At 1410, VM 1370 may invoke backend API transport 1354 to request the converted quantum circuit. In response, at 1412, backend API transport 1354 may cause the converted quantum circuit to be transmitted to queue 1372 of VM 1370. In some embodiments, instead of polling protocol checks, edge computing device 1352 may use various other techniques to determine whether there is a quantum computing circuit ready to be transmitted to edge computing device 1352. Additionally, in some embodiments, a given quantum hardware provider may include more than one quantum computer and / or various types of quantum computers. In such embodiments, the backend API transport and / or VM interface to QHP can route quantum circuits to be executed at the quantum hardware provider to the quantum computer assigned at the quantum hardware provider.
[0194] Figure 15A The illustration depicts an example process, according to some embodiments, for delivering quantum circuits from a quantum computing service to an edge computing device of that quantum computing service.
[0195] In 1502, the edge computing device contacts (e.g., checks) a quantum computing service to determine if there are converted quantum circuits waiting to be transferred to a specific quantum hardware provider's location.
[0196] If an pending quantum circuit is identified at 1504, then at 1506, the edge computing device uses the backend API of the quantum computing service to transmit the quantum circuit to the edge computing device at the location of the quantum hardware provider.
[0197] Figure 15B The illustration depicts an example process, according to some embodiments, for scheduling the execution of quantum circuits on a quantum computer by an edge computing device that provides quantum computing services located at the location of a quantum hardware provider.
[0198] At 1510, the edge computing device receives quantum circuits via a backend API transmission. At 1512, the scheduler 1376 of the quantum hardware provider interface VM 1370 instantiated on the edge computing device coordinates the scheduling of time slots on the quantum computer at the quantum hardware provider's location to perform quantum tasks using the quantum circuits. Additionally, the VM 1370 simultaneously stores the quantum circuits in a queue 1372 waiting for time slots.
[0199] In 1516, VM 1370 enabled quantum circuits to be submitted to a quantum computer for execution, with the quantum circuits submitted via a connection to a local, non-public network of a quantum hardware provider.
[0200] Figure 15C The illustration depicts an example process, according to some embodiments, for processing the results of an edge computing device performing quantum circuits on a quantum computer using a quantum computing service located at the location of a quantum hardware provider.
[0201] In 1520, the temporary bucket 1374, implemented by VM 1370, uses the submitted quantum circuit to receive the results of the execution of one or more quantum jobs.
[0202] In 1522, the results manager 1378 optionally allows a snapshot of the results to be stored in a data storage service, such as... Figure 3 The data storage service shown in the diagram is 336.
[0203] In 1524, the results manager 1378 enables the final results of executing one or more quantum jobs to be stored in a data storage system of the service provider network, such as... Figure 3 The data storage service 336 shown in the diagram.
[0204] Figure 16 The illustration shows an example process for adding additional quantum computing technologies as supporting quantum computing technologies to a quantum computing service, according to some embodiments.
[0205] In 1602, the quantum computing service receives a request from a customer to execute a quantum circuit using a specific quantum computing technology that is not currently supported by the quantum computing service.
[0206] In 1604, the Quantum Computing Service identifies the quantum hardware provider that supports the requested quantum computing technology. In 1606, the Quantum Computing Service receives and / or the quantum hardware provider generates a quantum machine image for a specific quantum hardware provider.
[0207] In 1608, the quantum computing service will deliver pre-configured edge computing devices to quantum hardware providers, where the pre-configured edge computing devices are configured with quantum machine images.
[0208] In 1610, after the quantum computing service has been connected to the local network connection at the quantum hardware provider, the quantum computing service establishes a connection between the quantum computing service and the pre-configured edge computing device.
[0209] In 1612, the quantum computing service will add quantum hardware providers that support specific quantum computing technologies as available options for the quantum computing service.
[0210] Example configuration for performing hybrid algorithms
[0211] In some embodiments, such as Figure 3 The virtualized computing service 326 described herein may include an edge computing device located at a quantum hardware provider, wherein the edge computing device is included as a resource within the virtualized computing service. The edge computing device may partially act as an additional resource host for the virtualized computing service. For example, computing instance 322 (shown in…) Figure 3 A computing instance (in the context of the quantum hardware provider) can be assigned to a client on an edge computing device located at a specific quantum hardware provider's location. The computing instance implemented on the edge computing device can execute the classical computation portion of a quantum computing hybrid algorithm, wherein a quantum computer also located at the quantum hardware provider's location with an edge computing device executes the quantum computation portion of the quantum computing hybrid algorithm. In some embodiments, such an edge computing device may be included not only at the quantum hardware provider's location but also at the quantum hardware provider's location for backend API delivery. Additionally, in some embodiments, a single edge computing device at the quantum hardware provider's location can implement both backend API delivery and the computing instance executing the classical computation portion of a quantum computing hybrid algorithm.
[0212] In some embodiments, a quantum computing hybrid algorithm may include a classical computing portion comprising a loop that determines which quantum circuits will be submitted to for a command / job and what parameters will be supplied to the selected quantum circuits. Additionally, the classical computing portion of the hybrid algorithm may receive results from a job executed on the quantum computer and then determine which subsequent quantum circuits and / or subsequent commands / jobs will be sent to the quantum computer and what parameters will be supplied. For example, a first set of parameters sent to the quantum circuits may be modified based on results received from the quantum circuits, and then the modified set of parameters, modified based on the results, may be sent back to the quantum circuits. Furthermore, the results may suggest using different or modified quantum circuits for subsequent commands / jobs. In some embodiments, 100, 1,000, or 1,000,000 such iterations may be performed. In some embodiments, low latency between the classical and quantum computers may be necessary for the efficient execution of such hybrid algorithms. In some embodiments, executing the classical computing portion of the hybrid algorithm on an edge computing device located physically very close to the quantum computer can reduce such latency, making it possible to execute previously impossible hybrid algorithms.
[0213] Additionally, in some embodiments, multiple compute instances can be provisioned to a customer on a given edge computing device, where different compute instances (e.g., virtual machines) perform different hybrid algorithms or different jobs of the same hybrid algorithm. In some embodiments, the virtualization computing service can automatically scale up or down the resources allocated to the compute instances to perform the classical portion of the hybrid algorithm. Furthermore, the virtualization computing service can automatically scale the number of compute instances allocated to the customer based on the resources required to perform the hybrid algorithm. For example, in some embodiments, a cluster of compute instances implemented on one or more edge computing devices located at a quantum hardware provider's location can be allocated to the customer. In some embodiments, some jobs of the classical computing portion of the hybrid algorithm can be performed by other compute instances of the virtualization computing service located in a data center and connected to the edge computing device via high-speed connections (such as non-public private physical network links, such as direct connections).
[0214] In some embodiments, excess computing power of edge computing devices located at a quantum hardware provider can be provided to the quantum hardware provider as computing instances allocated to the provider. In some embodiments, the quantum hardware provider may outsource some computing tasks to such computing instances. In some embodiments, computing instances may be allocated to the quantum hardware provider without reservation, so that resources can be reclaimed for this purpose if it is necessary to scale up virtual machines executing hybrid algorithms for a client.
[0215] For example, a sample hybrid algorithm that can be executed using a quantum computing service that leverages co-located edge computing devices to support the execution of hybrid algorithms is the variable quantum eigensolver algorithm.
[0216] In some embodiments, the customer can define a machine image instance to be used for the virtual machine executing the classic computing portion of the hybrid algorithm. The customer can store the machine image in a data storage service on the service provider's network, such as a block storage service associated with the virtual computing service, and the virtual computing service can use the customer-provided machine image to bootstrap the customer's virtual machine.
[0217] Figure 17 The illustration shows an example interaction between a classical computer and a quantum computer at the location of a quantum hardware provider, implemented on an edge computing device for a quantum computing service located at the location of a quantum hardware provider, according to some embodiments.
[0218] Figure 17 The illustration shows a first virtual machine 1702 and a second virtual machine 1710. In some embodiments, VM 1702 and VM 1710 may be two virtual machines implemented on an edge computing device located at a quantum hardware provider. Alternatively, VM 1720 may also be implemented on the same edge computing device at the quantum hardware provider, or it may be implemented on a separate edge computing device at the quantum hardware provider. In some embodiments, VM 1702 and VM 1710 may be assigned to the same customer to perform two different jobs executing hybrid algorithms or multiple hybrid algorithms. Additionally, in some embodiments, the edge computing device at the quantum hardware provider's location may support multi-tenancy, and VM 1702 and VM 1710 may be assigned to different customers.
[0219] In some embodiments, VM 1702 includes an application / environment / module 1704 that executes the classical computing portion of a hybrid algorithm. Additionally, VM 1702 may include a local storage bucket 1706 that accesses result data stored in the memory of the edge computing device. Furthermore, VM 1702 includes a backend API transport interface 1708 that coordinates with the backend API transport 1720 of VM 3 to submit quantum computing tasks to the backend API transport. Backend API transport 1720 may include a quantum computing circuit queue 1122 and a temporary result store 1124, similar to those described in Figure 11. VM 3, implementing backend API transport 1720, can coordinate and schedule quantum computing tasks submitted from VM 1702 to be executed on a quantum computer 1726 located at a quantum hardware provider facility co-located with one or more edge computing devices implementing VMs 1702, 1710, and 1720.
[0220] In some embodiments, VM 1710 may include components similar to VM 1702. For example, VM 1710 may include a classic computing application / environment / module 1712, a local storage bucket 1714, and a backend API transport interface 1716. In some embodiments, VM 1702 and / or VM 1710 may include a snapshot module 1718 that stores snapshots of intermediate results of the execution of the hybrid algorithm on the quantum computer 1726. These snapshots may be stored in a remote data storage service, such as a database stored on a virtual machine. Figure 3 The illustrated snapshot object 328 in the object-based storage service 336.
[0221] In some embodiments, in "Step A", the classical computing module 1704 can submit a job / command to the backend API transfer interface 1708. This allows the job and / or associated quantum circuits to be added to the quantum computing circuit queue 1122 in "Step B". Then, in "Step C", the backend API transfer 1720 can submit the job to the quantum computer 1726. In "Step D", the backend API transfer 1720 can receive the result of executing the job and, in "Step E", provide the classical computing module 1704 with a locally stored version of the result via local storage bucket 1706. The classical computing module 1704 can then use the result to generate the next command / job and submit the next command / job to the backend API transfer interface 1708 in "Step F", which allows the next job / quantum circuit to be added to the quantum computing circuit queue 1122 in "Step G". In "Step H", the backend API transfer 1720 can enable the execution of the next job / command on the quantum computer 1726, and, in "Step I", the result can be returned to the backend API interface 1720. In "Step J", the results can be provided to the classical computing module 1704 via the local storage bucket 1706. In some embodiments, this process can be repeated 100, 1,000, or 10,000 times, etc., until one or more thresholds are met, such as completing the optimization problem.
[0222] Figure 18 The illustration depicts an example process, according to some embodiments, for an edge computing device to perform a hybrid algorithm using quantum computing services located at the location of a quantum hardware provider.
[0223] In 1802, quantum computing services enabled the instantiation of virtual machines on classical computing hardware at the edge computing device, which is physically located at the location of the quantum hardware provider and connected to the provider's local network.
[0224] In 1804, the quantum computing service receives a hybrid quantum computing algorithm that includes both classical and quantum computing components. For example, in some embodiments, Figure 4The illustrated quantum algorithm development kit 114 may further include design paradigms for defining quantum algorithms. In such embodiments, a customer can define a quantum algorithm and submit it for execution, which in turn enables... Figure 18 The process described herein is executed on behalf of the client through a quantum computing service.
[0225] In 1806, quantum computing services enabled the classical computation portion of hybrid algorithms to be executed on instantiated virtual machines. Note that in some embodiments, bare-metal instances can be used instead of virtual machines.
[0226] In 1808, the quantum computing service used a quantum computer located at the location of a quantum hardware provider to perform the quantum computing portion.
[0227] In step 1810, the virtual machine executing the hybrid algorithm determines whether there is an additional classical or quantum computing component to be executed. If so, steps 1806 and / or 1808 are repeated. If not, in step 1812, the quantum computing service submits the results to the data storage system of the service provider network.
[0228] It can be included in the virtualization offload card of the edge computing device located at the quantum hardware provider's location. Example management component.
[0229] Figure 19 The illustration shows example virtualization management software components that can execute at a virtual offload card included in an edge computing device according to some embodiments. A set of virtualization management software components 1902 running at the virtualization offload card core / processor may include an embedded operating system 1904 (which can orchestrate the operation of various hardware components of the virtualization offload card itself), one or more network interface card (NIC) emulators 1906, and one or more emulators 1908 for legacy devices.
[0230] For example, the block device storage manager 1910 running at the virtualization offload card can use a local persistent storage server system (such as an SSD) to configure root volumes for compute instances running on edge computing devices at quantum hardware provider locations. In some embodiments, the NVME device emulator 1912 can be used to manage access to NVME-based persistent storage. The IVN data plane connection manager 1914 can, for example, implement encapsulation protocol operations (such as encapsulating outbound packets or decapsulating inbound packets) for services between compute instances on the edge computing device and other endpoints. Such other endpoints may include, for example, other compute instances within a service provider network data center, services other than virtualized compute services, etc. Calls to VPC mapping services can be initiated from the IVN data plane connection manager 1914. In some embodiments, the IVN data plane connection manager can initiate or implement configuration operations to assign network addresses within the IVN to one or more virtual network interfaces that are programmatically attached to compute instances running on edge computing devices at quantum hardware provider locations, thereby including the compute instance within the network address range specified by the client for the IVN.
[0231] In some embodiments, the instance metadata service agent 1916 may provide various elements of metadata in response to queries issued from a compute instance launched at an edge computing device. For example, such metadata may include credentials for authorizing / verifying requests to send data from the compute instance to other provider network services, block device mapping information of the compute instance, identifiers of the compute instance, etc. In some embodiments, a local link HTTP address accessible only from within the instance itself may be used to obtain metadata at the compute instance.
[0232] In at least some embodiments, one or more agents 1918 of the VCS control plane may run at a virtualization offload card of the edge computing device. For example, such agents may be responsible for receiving commands generated at the VCS control plane and initiating operations (e.g., configuration change operations) at the virtualization offload card and / or the edge computing device in response to such commands.
[0233] In at least one embodiment, one or more network security agents 1920 may run at a virtualization offload card of the edge computing device. Such network security agents may be responsible for a variety of operations, such as generating logs for various traffic (including DNS requests and responses and standard IP packets) routed to and from computing instances at the edge computing device, initiating or performing intrusion detection or penetration detection operations, etc. Note that in some embodiments, different combinations of software and / or firmware components may be located at locations other than those in the edge computing device. Figure 19 The virtualization offload card of the edge computing device, which is located outside the quantum hardware provider's location, is shown as an example in the example.
[0234] Example of using provider network services via edge computing devices
[0235] Figure 20 The illustration shows an example network configuration for an isolated virtual network of an edge computing device that includes quantum computing services located at the location of a quantum hardware provider, according to some embodiments.
[0236] In some embodiments, the provider network implementing virtualized computing services may also provide access to other higher-level network-accessible services that utilize VCS compute instances as building blocks. For example, database instances may be implemented using VCS compute instances and made available to clients of network-accessible database services.
[0237] In the depicted embodiment, provider network 2001 includes at least virtualized computing services (VCS) (functionally and characteristically similar to...) Figure 3 VCS 326), Storage Service 2030 (functionally and feature-wise similar to) Figure 3 Object-based storage services 336 and database services 2040 (which can be included in) Figure 3 (Among other network-based services 338).
[0238] exist Figure 20 In the example scenario depicted, an isolated virtual network (IVN) 2015 of the type previously discussed has been established for VCS customers. IVN 2015 includes multiple compute instances, such as CI 2017A and 2017B implemented on compute devices at a data center in service provider network 2001, and CI 2017C implemented on an edge computing device located at quantum hardware provider location 2050. In some embodiments, a dedicated physical connection 2060 can connect the edge computing device to a router 2070 included in the data center of service provider network 2001. The compute instances (CI 2017A, 2017B, and 2017C) are included within VCS 2010. In the depicted embodiment, a program running at any CI can utilize resources from other provider network services. For example, storage instance 2022 of storage service 2030 can be accessed from CI 2017B in the service provider network; similarly, database instance 2042 of database service 2040 can be accessed from CI 2017C within the service provider network. In some embodiments, a virtualization offloading card included in the edge computing device instantiates computing instance 2017C in some embodiments and / or can manage communication with storage instance 2022 or database instance 2042.
[0239] Descriptive transportable edge computing device
[0240] Figure 21 The illustration shows an example of a transportable, pre-configured edge computing device for quantum computing services according to some embodiments.
[0241] Figure 21 The illustration depicts a transportable edge computing device 2100 according to some embodiments. The depicted transportable edge computing device 2100 can be shipped to a quantum hardware provider as a pre-configured edge device capable of connecting to a local network of a quantum hardware provider, enabling the quantum hardware provider to be included as an available quantum hardware provider for quantum computing services. In some embodiments, embodiments of the transportable edge computing device 2100 may include more, fewer, or different features or components than those depicted.
[0242] In the depicted embodiment, the transportable edge computing device 2100 includes a housing 2115 surrounding persistent storage, memory, and processing components. The housing may be ruggedized (e.g., according to various standards, such as military or electronics industry standards) and may be configured with an outward-facing electronic display 2114, such that the housing and electronic display form a self-contained shipping container suitable for transport without any additional packaging, labels, etc., and that the electronic display 2114 serves as a display of the destination location (e.g., in place of a shipping label). In some embodiments, the housing 2115 and display 2114 serve as reusable shipping components in place of cardboard boxes and shipping labels. The housing may include various mechanisms for facilitating movement of the transportable edge computing device 2100, such as wheels, handles, etc.
[0243] The portable edge computing device 2100 is illustrated with a battery 2160 and a power connector 2150 for powering some or all of the components of the portable edge computing device 2100 that require power to function. In some embodiments, the power connector 2150 may be configured to connect the portable edge computing device 2100 to an external power source. In some embodiments, the power connector may power the portable edge computing device.
[0244] The transportable edge computing device 2100 is illustrated with a network interface 2140. The network interface 2140 can serve as an interface between the transportable edge computing device 2100 and various networks such as LANs, WANs, etc. (e.g., via various protocols such as iSCSI or Ethernet). In some embodiments, the network connection 2140 can serve as a direct interface to another device (e.g., via SCSI). In some instances, the network interface 2140 may include two or more different types of interfaces (e.g., RJ45, SFP, optical).
[0245] The transportable edge computing device 2100 is illustrated with a switch 2130. In some embodiments, the switch 2130 may function as a power switch or a switch for activating a display.
[0246] The transportable edge computing device 2100 is illustrated with a radio frequency identification (RFID) device 2180. In some instances, RFID can assist in tracking the device. For example, the device can be identified via a corresponding RFID tag during the supply process, or the device can be identified when the corresponding RFID tag is received at the quantum hardware provider. RFID can be used to track the transportable edge computing device 2100 as the device is routed to the facility.
[0247] The transportable edge computing device 2100 is illustrated with various sensors 2122, 2124. The device may be equipped with any of a variety of sensors, including a global positioning sensor (GPS), a temperature sensor, a humidity sensor, or an accelerometer, all of which are non-limiting examples. Data can be collected from the sensors and used in various ways, such as for recording the device's environment (e.g., hot, cold, moderate, humid) or for recording various events associated with the transportable edge computing device 2100, such as drops, rapid movements, orientation, or location of the transportable edge computing device 2100.
[0248] The transportable edge computing device 2100 can be configured with multiple layers of security. For example, data stored on the device can be encrypted once or multiple times using one or more keys. The keys can be determined, stored, controlled, or held by the parties and applied at various steps of the illustrated process. For example, some keys used to encrypt data stored on the device can be stored separately from the device, while other keys used to encrypt data on the device can be stored with the device. In embodiments, encryption keys can be applied across multiple layers.
[0249] Figure 22 This is a block diagram illustrating example components of a transportable, pre-configured edge computing device for quantum computing services, according to some embodiments.
[0250] exist Figure 22 In the illustration, device 2100 includes a display 2114, a network interface 2206, and persistent storage 2250. In the illustrated embodiment, display driver 2202 provides interface functionality between processor 2210 and display 2114. For example, to instruct the display to show an address, processor 2210 executes computer instructions from memory 2212, which send messages to display driver 2202. These messages are interpreted by display driver, causing display driver to show the address on display 2114.
[0251] Network interface 2206 serves as the interface between the device and an external network (such as a quantum hardware provider network or service provider network). In some embodiments, the network interface is configured to transmit instructions to the device or transmit encrypted data. Wireless interface 2208 can be configured to receive instructions from a service provider (e.g., via a cellular or Wi-Fi network). For example, a service provider could send updated address information to the transportable edge computing device 2100 via a cellular network, causing the displayed address of the device to be updated en route, thereby changing the destination of the device in flight so that the device is transported to the updated address instead of the previous address.
[0252] Input / output (I / O) interface 2204 can be configured to coordinate I / O operations between processor 2210, memory 2212, display driver, network interface 2206, wireless interface 2208, sensor interface 2220, and persistent storage device 2250 or peripheral interfaces. In some embodiments, I / O interface 2204 can perform any necessary protocol, timing, or other data conversions to convert data signals from one component (e.g., system memory 2212) into a format suitable for use by another component (e.g., processor 2210). In some embodiments, for example, I / O interface 2204 may include support for devices attached via various types of peripheral buses, such as the Peripheral Component Interconnect (PCI) bus standard or variants of the Universal Serial Bus (USB) standard. In some embodiments, the functionality of I / O interface 2240 can be divided into two or more separate components, such as, for example, a northbridge and a southbridge. Additionally, in some embodiments, some or all of the functionality of I / O interface 2204, such as the interface to system memory 2212, can be directly incorporated into processor 2210.
[0253] The transportable edge computing device 2100 is depicted with a persistent data storage device 2250. The persistent data storage device 2250 may include any combination of non-volatile storage devices such as hard disk drives or flash memory.
[0254] The transportable edge computing device 2100 is depicted with a power supply 2230 capable of powering various electronic components of the transportable edge computing device 2100, and is depicted with sensors 2240 and sensor interfaces 2220. As described above, any of various sensors can be incorporated into the device 2100. The device 2100 may also include various sensor interfaces 2220 serving as interfaces between the sensors 2240 and the I / O interface 2204. In embodiments, the sensor interface may be a proprietary interface customized for a specific sensor. The sensor interface can perform various functions, such as data conversion, analysis of sensor output, and output of information based on the analysis.
[0255] The transportable edge computing device 2100 is also depicted with a Trusted Platform Module (TPM) 2260. The TPM 2260 can provide additional security features for the transportable edge computing device 2100. For example, after a quantum hardware provider receives the TPM 2260 from a quantum service provider, the provider can communicate with the TPM 2260 to determine if the configuration of the transportable edge computing device 2100 has been changed. A change in the configuration of the transportable edge computing device 2100 can indicate that the device has been tampered with and that a third party may have accessed data on it.
[0256] Explanatory computer system
[0257] Figure 23 This is a block diagram illustrating an example computing device that can be used in at least some embodiments.
[0258] Figure 23 A general-purpose computing device 2300, as may be used in any of the embodiments described herein, is illustrated. In the illustrated embodiment, the computing device 2300 includes one or more processors 2310 coupled to system memory 2320 (which may include both non-volatile memory modules and volatile memory modules) via an input / output (I / O) interface 2330. The computing device 2300 also includes a network interface 2340 coupled to the I / O interface 2330.
[0259] In various embodiments, computing device 2300 may be a single-processor system including one processor 2310, or a multiprocessor system including several processors 2310 (e.g., two, four, eight, or another suitable number). Processor 2310 may be any suitable processor capable of executing instructions. For example, in various embodiments, processor 2310 may be a general-purpose or embedded processor implementing any of a variety of instruction set architectures (ISAs) such as x86, PowerPC, SPARC, or MIPS ISA, or any other suitable ISA. In a multiprocessor system, each processor of processor 2310 may typically, but not necessarily, implement the same ISA. In some implementations, a graphics processing unit (GPU) may be used in place of a conventional processor or as a supplement to a conventional processor.
[0260] System memory 2320 may be configured to store instructions and data accessible by processor 2310. In at least some embodiments, system memory 2320 may include both volatile and non-volatile portions; in other embodiments, volatile-only memory may be used. In various embodiments, the volatile portion of system memory 2320 may be implemented using any suitable memory technology such as static random access memory (SRAM), synchronous dynamic RAM, or any other type of memory. For the non-volatile portion of the system memory (e.g., which may include one or more NVDIMMs), in some embodiments, flash-based memory devices, including NAND flash devices, may be used. In at least some embodiments, the non-volatile portion of the system memory may include a power source, such as a supercapacitor or other power storage device (e.g., a battery). In various embodiments, memristor-based resistive random access memory (ReRAM), three-dimensional NAND technology, ferroelectric RAM, magnetoresistive RAM (MRAM), or any of various types of phase-change memory (PCM) may be used at least for the non-volatile portion of the system memory. In the illustrated embodiment, program instructions and data that implement one or more of the desired functions, such as the methods, techniques, and data described above, are shown stored in system memory 2320 as code 2325 and data 2326.
[0261] In some embodiments, I / O interface 2330 may be configured to coordinate I / O traffic between processor 2310, system memory 2320, and any peripheral devices in the device, including network interface 2340 or other peripheral interfaces such as various types of persistent and / or volatile storage devices. In some embodiments, I / O interface 2330 may perform any necessary protocol, timing, or other data conversions to convert data signals from one component (e.g., system memory 2320) into a format suitable for use by another component (e.g., processor 2310). In some embodiments, for example, I / O interface 2330 may include support for devices attached via various types of peripheral buses (e.g., variants of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard). In some embodiments, the functionality of I / O interface 2330 may be divided into two or more separate components, such as, for example, a northbridge and a southbridge. Moreover, in some embodiments, some or all of the functionality of I / O interface 2330, such as the interface for system memory 2320, may be directly incorporated into processor 2310.
[0262] Network interface 2340 can be configured to allow data exchange between computing device 2300 and other devices 2360 attached to one or more networks 2350, such as Figures 1 to 22Other computer systems or devices illustrated herein. For example, in various embodiments, network interface 2340 may support communication over any suitable wired or wireless general data network (such as Ethernet type). Additionally, network interface 2340 may support communication via telecommunications / telephone networks such as analog voice networks or digital fiber optic communication networks, via storage area networks such as Fibre Channel SAN, or via any other suitable type of network and / or protocol.
[0263] In some embodiments, system memory 2320 may represent an embodiment of a computer-accessible medium configured to store information for implementing in Figures 1 to 22 In the context of the methods and apparatus discussed above, at least a subset of program instructions and data may be used. However, in other embodiments, the program instructions and / or data may be received, transmitted, or stored on different types of computer-accessible media. Generally, computer-accessible media may include non-transitory storage media or storage media such as magnetic or optical media, for example, a disk or DVD / CD coupled to computing device 2300 via I / O interface 2330. Non-transitory computer-accessible storage media may also include any volatile or non-volatile media, such as RAM (e.g., SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc., which may be included as system memory 2320 or another type of memory in some embodiments of computing device 2300. In some embodiments, multiple non-transitory computer-readable storage media may jointly store program instructions that implement at least a subset of the methods and techniques described above when executed on or across one or more processors. Computer-accessible media may also include transmission media or signals transmitted via communication media such as networks and / or wireless links, such as electrical signals, electromagnetic signals, or digital signals, such as those implemented via network interface 2340. Figure 23 The illustrated computing devices, and other computing devices in general, may be used to implement some or all of the functions described in the various embodiments; for example, software components executing on various different devices and servers may cooperate to provide the functions. In some embodiments, in addition to or instead of implementing using a general-purpose computer system, storage devices, network devices, or dedicated computer systems may be used to implement parts of the described functions. As used herein, the term "computing device" refers to at least all of these types of devices, but is not limited to these types of devices.
[0264] The implementation of this public can be described in light of the following terms:
[0265] Clause 1. A system comprising:
[0266] One or more computing devices in a service provider network, wherein the one or more computing devices are configured to implement quantum computing services;
[0267] The first edge computing device of the service provider network located at the location of the first quantum hardware provider; and
[0268] A second edge computing device of the service provider network located at the location of the second quantum hardware provider;
[0269] The first quantum hardware provider and the second quantum hardware provider are configured to use quantum computers based on different quantum computing technologies to execute quantum computing circuits;
[0270] The one or more computing devices configured to implement the quantum computing service are configured as follows:
[0271] Receive the definition of the quantum computing object to be performed from the client of the quantum computing service;
[0272] Select at least one of the first quantum hardware provider or the second quantum hardware provider to perform the quantum computing object;
[0273] The quantum circuit corresponding to the quantum computing object is submitted to one or more of the selected quantum hardware providers via the first edge computing device or the second edge computing device located at the corresponding location of one or more of the selected quantum hardware providers;
[0274] Receive the results of executing the quantum circuit on a quantum computer from one or more selected quantum hardware providers;
[0275] Store the result of executing the quantum circuit; and
[0276] The client is provided with a notification that the execution of the quantum computing object has been completed.
[0277] Clause 2. The system according to Clause 1, wherein the one or more computing devices configured to implement the quantum computing service are further configured to:
[0278] Based on one or more characteristics of the quantum computing object and one or more characteristics of the first quantum hardware provider and the second quantum hardware provider, a recommendation is generated to use one or more of the first quantum hardware provider or the second quantum hardware provider to perform the quantum computing object, wherein the one or more characteristics include the corresponding quantum computing technology used by the respective first quantum hardware provider and the second quantum hardware provider;
[0279] Provide the recommendation to the customer; and
[0280] Receive instructions from the client regarding the adoption of the recommended configuration or an alternative configuration to be used to perform the quantum computing object.
[0281] The selection of one or more of the first or second quantum hardware providers chosen to perform the quantum computing object is based at least in part on the response from the customer.
[0282] Clause 3. The system according to Clause 1 or Clause 2, wherein the different quantum computing technologies used by the first quantum hardware provider and the second quantum hardware provider include two or more of the following:
[0283] Quantum computers based on quantum annealing;
[0284] Ion trap-based quantum computers;
[0285] Superconducting quantum computers; or
[0286] Photon-based quantum computers.
[0287] Clause 4. The system according to any one of Clauses 1 to 3 further includes:
[0288] A first private physical network link connects the first edge computing device at the location of the first quantum hardware provider to the service provider network; and
[0289] A second private physical network link connects the second edge computing device at the location of the second quantum hardware provider to the service provider network.
[0290] Clause 5. A method comprising:
[0291] At a quantum computing service implemented on one or more computing devices, a definition of a quantum computing task to be performed is received from a client of the quantum computing service;
[0292] The quantum computing service selects at least one of a first quantum hardware provider or a second quantum hardware provider to perform the quantum computing task, wherein the first quantum hardware provider and the second quantum hardware provider are configured to use quantum computers based on different quantum computing technologies to perform the quantum computing task.
[0293] The quantum computing service submits quantum circuits corresponding to the quantum computing task to the selected at least one quantum hardware provider via a first edge computing device of the quantum computing service located at the location of the first quantum hardware provider or a second edge computing device of the quantum computing service located at the location of the second quantum hardware provider;
[0294] The execution result received from the first quantum hardware provider or the second quantum hardware provider is stored; and
[0295] The quantum computing service provides the customer with a notification that the quantum computing task has been completed.
[0296] Clause 6. The method according to Clause 5, wherein the different quantum computing technologies used by the first quantum hardware provider and the second quantum hardware provider include two or more of the following:
[0297] Quantum computers based on quantum annealing;
[0298] Ion trap-based quantum computers;
[0299] Superconducting quantum computers; or
[0300] Photon-based quantum computers.
[0301] Clause 7. The method described in Clause 5 or Clause 6, wherein submitting the quantum computing task comprises:
[0302] The quantum computing task is transformed from an intermediate representation used by the customer to define the quantum computing task into a quantum hardware provider-specific definition for defining the quantum computing task as the quantum circuit;
[0303] The quantum circuit is provided to the backend non-public application programmable interface (API) of the quantum computing service, wherein the first edge computing device of the quantum computing service at the location of the first quantum hardware provider and the second edge computing device of the quantum computing service at the location of the second quantum hardware provider poll the backend non-public API to obtain the transformed quantum circuit to be executed at the first quantum hardware provider or the second quantum hardware provider, respectively.
[0304] The execution capabilities of the quantum computers of the first quantum hardware provider or the second quantum hardware provider are scheduled by the first edge computing device or the second edge computing device; and
[0305] The converted quantum circuit is stored by the first edge computing device or the second edge computing device in a queue of tasks to be executed on the quantum computer of the first quantum hardware provider or the second quantum hardware provider.
[0306] Clause 8. The method described in Clause 7 further includes:
[0307] The quantum circuit is submitted from the queue to the quantum computer of the first quantum hardware provider or the second quantum hardware provider via a local network connected to the first edge computing device or the second edge computing device.
[0308] Receive, at the first edge computing device or the second edge computing device, the result generated by the quantum circuit being executed on the quantum computer; and
[0309] The results are stored in a storage service of a network of service providers that includes one or more computing devices that implement the quantum computing service, wherein the notification that the quantum computing task has been completed indicates the storage location of the results.
[0310] Clause 9. The method described in accordance with Clause 8,
[0311] The first edge computing device and the second edge computing device include servers located at the locations of the first quantum hardware provider and the second quantum hardware provider, respectively;
[0312] The one or more servers thereon are connected to the service provider network via a private physical network link; and
[0313] The server is connected to the local network of either the first quantum hardware provider or the second quantum hardware provider.
[0314] Clause 10. The method according to Clause 9, wherein the server is configured to instantiate one or more virtual machines configured to perform the scheduling, the storage, the submission, and the receiving of results.
[0315] Clause 11. The method according to Clause 10, wherein the server is further configured to instantiate one or more virtual machines for use by the first quantum hardware provider or the second quantum hardware provider to manage the quantum computer or the network of the first quantum hardware provider or the second quantum hardware provider.
[0316] Clause 12. The method according to any one of Clauses 5 to 11 further includes:
[0317] Generate recommendations for using one or more of the first quantum hardware provider or the second quantum hardware provider to perform the quantum computing task;
[0318] Provide the recommendation to the customer; and
[0319] Receive a response from the customer regarding the selection of which quantum hardware provider will perform the quantum computing task.
[0320] The selection of at least one of the first quantum hardware provider or the second quantum hardware provider to perform the quantum computing task via the quantum computing service is based on the response from the customer.
[0321] Clause 13. The method described in Clause 12, wherein the recommendation includes one or more of the following:
[0322] The estimated cost of performing the quantum computing task by each of the first quantum hardware provider and the second quantum hardware provider;
[0323] The estimated error rate of each of the first and second quantum hardware providers regarding the execution of the quantum computing task; or
[0324] The estimated length of time for each of the first and second quantum hardware providers to perform the quantum computing task.
[0325] Clause 14. The method according to any one of Clauses 5 to 13 further includes:
[0326] The quantum computing task is simulated on classical computing hardware of a network of service providers that includes one or more computing devices that implement the quantum computing service, wherein the simulation is performed according to a first quantum computing technology of the first quantum hardware provider.
[0327] The quantum computing task is simulated on the classical computing hardware of the computing service within the service provider network, wherein the simulation is performed according to the second quantum computing technology of the second quantum hardware provider.
[0328] The selection of at least one of the first quantum hardware provider or the second quantum hardware provider is based, at least in part, on the results of the simulations according to the first quantum computing technology and the results of the simulations according to the second quantum computing technology.
[0329] Clause 15. The method according to any one of Clauses 5 to 14, wherein the definition of the quantum computing task received from the client is defined in an intermediate representation supported by the quantum computing service, the method further comprising:
[0330] The quantum computing task is transformed from an intermediate representation used by the customer to define the quantum computing task into a quantum hardware provider-specific definition for defining the quantum computing task; and
[0331] One or more optimization operations are performed on the transformed version of the quantum computing task to reduce the number of quantum operators included in the quantum circuit of the transformed version of the quantum computing task.
[0332] Clause 16. The method according to Clause 15, wherein transforming the quantum computing task comprises:
[0333] Map one or more gates of the intermediate representation to one or more gates of a specific type of quantum computing technology of the quantum hardware provider selected to perform the quantum computing task.
[0334] Clause 17. The method described in Clause 15, wherein the same gate representation in the intermediate representation is converted to:
[0335] The first set of quantum operators when the first quantum hardware provider is selected to perform the quantum computing task; and
[0336] A different set of quantum operators when the second quantum hardware provider is selected to perform the quantum computing task.
[0337] Clause 18. One or more non-transitory computer-readable media storing program instructions that, when executed on or across one or more processors, cause the one or more processors to:
[0338] Receive the definition of the quantum computing task to be performed;
[0339] Determine at least one of a first quantum hardware provider or a second quantum hardware provider to perform the quantum computing task, wherein the first quantum hardware provider and the second quantum hardware provider are configured to perform the quantum computing task using quantum computers based on different quantum computing technologies;
[0340] The quantum computing task is submitted to the at least one quantum hardware provider via a first edge computing device of the quantum computing service located at the location of the first quantum hardware provider or a second edge computing device of the quantum computing service located at the location of the second quantum hardware provider; and
[0341] A notification is provided when the quantum computing task is completed.
[0342] Clause 19. One or more non-transitory computer-readable media as described in Clause 18, wherein the notification is provided to a classical computer executing a hybrid algorithm comprising classical computing tasks and quantum computing tasks, wherein the program instructions further cause the one or more processors to:
[0343] Store a snapshot of the results of the quantum computing task so that the results of subsequent quantum computing tasks do not overwrite the results of the quantum computing task.
[0344] Clause 20. One or more non-transitory computer-readable media as described in Clause 18, wherein said program instructions further cause said one or more processors to:
[0345] Implement a user interface for defining the quantum computing task, wherein the user interface includes quantum computing elements that can be combined to define quantum algorithms or quantum circuits.
[0346] The quantum computing task is defined by the client using a combination of the quantum computing elements; and
[0347] The program instructions therein cause the quantum computing element selected by the client to define the quantum computing task so that it is converted into a quantum circuit defined in accordance with a format used by the selected quantum hardware provider.
[0348] Clause 21. A system comprising:
[0349] One or more computing devices in a service provider network, wherein the one or more computing devices are configured to implement quantum computing services;
[0350] The first edge computing device of the service provider network located at the location of the first quantum hardware provider; and
[0351] A second edge computing device of the service provider network located at the location of the second quantum hardware provider;
[0352] The first quantum hardware provider and the second quantum hardware provider are configured to use quantum computers based on different quantum computing technologies to execute quantum computing circuits; and
[0353] The first edge computing device and the second edge computing device are configured as follows:
[0354] A virtual machine implemented on the classical computing hardware of the corresponding first edge computing device or second edge computing device is instantiated;
[0355] Receive a hybrid quantum computing algorithm, including classical and quantum computing components, via the quantum computing service;
[0356] The classical computing portion is executed on the virtual machine implemented on the classical computing hardware of the corresponding first edge computing device or second edge computing device;
[0357] Coordinate the execution of the quantum computing portion on the quantum computer located at the corresponding first or second quantum hardware provider location, where the corresponding first or second edge computing device is situated; and
[0358] The results generated from executing the hybrid quantum computing algorithm will be submitted to the data storage system of the service provider network, wherein one or more computing devices implementing the data storage system are located at a facility of the service provider network that is remote from the location of the respective first quantum hardware provider or second quantum hardware provider.
[0359] Clause 22. The system according to Clause 21, wherein the virtual machine implemented on the first edge computing device or the second edge computing device is further configured to:
[0360] The quantum computing component is provided as one or more transformed quantum computing circuits to be executed on the quantum computer at the respective first or second quantum hardware provider location.
[0361] The one or more converted quantum computing circuits are converted into a format according to the quantum computing technology of the quantum computer at the corresponding first or second quantum hardware provider location, and
[0362] The one or more transformed quantum computing circuits are provided to the backend application programmable interface (API) of the quantum computing service for transmission, wherein the backend API transmission interface is a non-public interface that schedules the one or more transformed quantum computing circuits for execution on the quantum computer at the respective first or second quantum hardware provider location.
[0363] Clause 23. The system according to Clause 22, wherein the first edge computing device or the second edge computing device is further configured to:
[0364] A virtual storage device is implemented, the virtual storage device being configured to store intermediate results generated from the execution of one or more transformed quantum computing circuits performed by the quantum computer at the respective first quantum hardware provider location or second quantum hardware provider location;
[0365] The intermediate results are received from the quantum computer located at the first quantum hardware provider's location or the second quantum hardware provider's location; and
[0366] Provide the virtual machine that executes the classical computing portion of the hybrid quantum computing algorithm with access to the intermediate results.
[0367] Clause 24. The system according to Clause 23, wherein the first edge computing device or the second edge computing device is further configured to:
[0368] Create a snapshot copy of the intermediate result; and
[0369] The snapshot copy is then stored at the data storage system of the service provider network.
[0370] Clause 25. The system according to any one of Clauses 21 to 24, wherein the first edge computing device and the second edge computing device are directly connected to a local network at the respective first quantum hardware provider location or second quantum hardware provider location, wherein the quantum computer of the first quantum hardware provider or the second quantum hardware provider is also connected to the local network.
[0371] Clause 26. An edge computing device, comprising:
[0372] A first network connector, configured to couple to the local network of the quantum hardware provider;
[0373] A second network connector, configured to connect to a quantum computing service; and
[0374] Classical computing hardware, comprising:
[0375] One or more processors; and
[0376] The memory stores program instructions that, when executed on or across one or more processors, cause the one or more processors to:
[0377] Instantiate a virtual machine implemented on the classical computing hardware of the edge computing device;
[0378] Receive a hybrid quantum computing algorithm, comprising classical and quantum computing components, from the quantum computing service via the second connector;
[0379] The classical computing portion is executed on the virtual machine implemented on the classical computing hardware of the edge computing device;
[0380] The execution of the quantum computing portion on the quantum computer at the location of the quantum hardware provider, where the edge computing device is located, is coordinated via the first connector coupled to the local network of the quantum hardware provider; and
[0381] The results generated from executing the hybrid quantum computing algorithm are submitted via the second connector to a data storage system of a service provider network that includes the quantum computing service, wherein one or more computing devices implementing the data storage system are located at a facility of the service provider network that is remote from the location of the quantum hardware provider.
[0382] Clause 27. The edge computing device according to Clause 26, wherein the virtual machine implemented on the edge computing device is further configured to:
[0383] The quantum computing service receives one or more converted quantum computing circuits for the quantum computing portion of the hybrid computing algorithm, which are part of the hybrid computing algorithm, and the converted quantum computing circuits will be executed as part of executing the hybrid computing algorithm on the quantum computer at the location of the quantum hardware provider.
[0384] The one or more converted quantum computing circuits are received and converted into a format according to the quantum computing technology of the quantum computer at the location of the quantum hardware provider, and
[0385] The one or more converted quantum computing circuits are provided to the backend application programmable interface (API) of the quantum computing service for transmission. The backend API is a non-public interface that provides the one or more converted quantum computing circuits to the edge computing device or another edge computing device configured to schedule the one or more converted quantum computing circuits for execution on the quantum computer at the location of the quantum hardware provider.
[0386] Clause 28. The edge computing device according to Clause 26 or Clause 27, wherein the program instructions, when executed on the one or more processors, are further configured to:
[0387] Resources are allocated to perform the classical computation portion of the hybrid quantum computing algorithm by scaling up or down the allocation.
[0388] Clause 29. An edge computing device according to any one of Clauses 26 to 28, wherein the classic computing hardware is further configured to support multi-tenancy, wherein the program instructions, when executed on or across the one or more processors, cause the one or more processors to:
[0389] Instantiate another virtual machine implemented on the classical computing hardware of the edge computing device;
[0390] Receive another hybrid quantum computing algorithm, comprising classical and quantum computing components, from the quantum computing service via the second connector;
[0391] The classical computing portion is executed on the other virtual machine implemented on the classical computing hardware of the edge computing device;
[0392] The execution of the quantum computing portion of the other hybrid quantum computing algorithm on the quantum computer at the location of the quantum hardware provider, where the edge computing device is located, is coordinated via the first connector coupled to the local network of the quantum hardware provider; and
[0393] The second bucket of the data storage system, which submits the results generated from executing the hybrid quantum computing algorithm to the service provider network, is connected via the second connector.
[0394] The virtual machine and the other virtual machine execute different hybrid quantum computing algorithms for different clients of the quantum computing service, and
[0395] The results of the hybrid quantum computing algorithm executed on the virtual machine are stored in a first storage bucket of the data storage system, separate from the second storage bucket in which the results of the other hybrid quantum computing algorithm are stored.
[0396] Clause 30. An edge computing device according to any one of Clauses 26 to 29, wherein the program instructions, when executed on or across the one or more processors, cause the one or more processors to:
[0397] The edge computing device stores the intermediate results of the hybrid quantum computing algorithm in its local memory; and
[0398] The virtual machine executing the classical computation portion of the hybrid quantum computing algorithm is given access to the intermediate results.
[0399] Clause 31. The edge computing device according to Clause 30, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:
[0400] Create a snapshot copy of the intermediate result; and
[0401] The snapshot copy is then stored in the data storage system of the service provider network.
[0402] Clause 32. The edge computing device according to any one of Clauses 26 to 31, wherein the program instructions, when executed on or across the one or more processors, are further configured to:
[0403] The excess classical computing power of the edge computing device is used to instantiate one or more additional virtual machines for use by the quantum hardware provider.
[0404] Clause 33. The edge computing device according to any one of Clauses 26 to 32, wherein the program instructions, when executed on or across the one or more processors, are further configured to:
[0405] Use the classical computing power of the edge computing device to instantiate one or more additional virtual machines for use by a quantum computer simulator; and
[0406] The quantum computer simulator is configured to simulate a quantum computer based on the same quantum computing technology used by the quantum computer at the location of the quantum hardware provider.
[0407] Clause 34. The edge computing device according to any one of Clauses 26 to 33, wherein the edge computing device further comprises:
[0408] Additional program instructions, which, when executed on or across the one or more processors of the edge computing device, implement (a) one or more storage managers and (b) one or more networking managers;
[0409] The edge computing device is configured as follows:
[0410] Establish a connection with the base network of the virtualized computing service of the service provider network, wherein an encapsulation protocol implemented at multiple devices attached to the base network is used to transmit services between one or more logical networks of the virtualized computing service; and
[0411] Initiate one or more configuration operations to launch the virtual machine at the edge computing device, wherein at least in part the virtual machine is configured within an isolated virtual network of the service provider network based on operations performed by the one or more network managers, and wherein at least in part the virtual machine is provided with access to the root volume based on operations performed by the one or more storage managers.
[0412] Clause 35. The edge computing device as described in Clause 34, wherein the edge computing device is configured to communicate with a device outside the location of the hardware provider via the second network connector using an encrypted communication format.
[0413] Clause 36. A method comprising:
[0414] Instantiate a virtual machine on classical computing hardware of an edge computing device located at a quantum hardware provider’s location and connected to a quantum computing service implemented via one or more computing devices located at a location remote from the quantum hardware provider’s location;
[0415] Receive a hybrid quantum computing algorithm, including classical and quantum computing components, via the quantum computing service;
[0416] The classical computing portion is executed on the virtual machine implemented on the classical computing hardware of the edge computing device located at the location of the quantum hardware provider;
[0417] Coordinate the execution of the quantum computing portion on the quantum computer at the location of the quantum hardware provider; and
[0418] The results generated from executing the hybrid quantum computing algorithm will be submitted to a data storage system, wherein one or more computing devices implementing the data storage system are located remotely from the quantum hardware provider.
[0419] Clause 37. The method described pursuant to Clause 36 further includes:
[0420] One or more quantum computing circuits of the hybrid algorithm are provided to the backend application programmable interface (API) of the quantum computing service, wherein the backend API is a non-public interface for providing the one or more quantum computing circuits to another virtual machine implemented on the edge computing device or another edge computing device configured to schedule the one or more quantum computing circuits for execution on the quantum computer at the location of the quantum hardware provider.
[0421] Clause 38. The method according to Clause 37, wherein access to the edge computing device is limited to:
[0422] Encrypted communication sent or received via a first port connected to the quantum computing service; and
[0423] Communication with the local network at the location of the quantum hardware provider.
[0424] Clause 39. The method described pursuant to Clause 36 further includes:
[0425] The edge computing device receives intermediate results from the quantum computer located at the quantum hardware provider's location;
[0426] The intermediate results are stored in the memory of the edge computing device located at the location of the quantum hardware provider; and
[0427] Provide the virtual machine that executes the classical computing portion of the hybrid quantum computing algorithm with access to the intermediate results.
[0428] Clause 40. The method described pursuant to Clause 39 further includes:
[0429] Generate a snapshot copy of the intermediate results; and
[0430] The snapshot copy is then stored in the storage service.
[0431] Clause 41. A system comprising:
[0432] One or more computing devices configured to provide quantum computing services, wherein the one or more computing devices are configured to:
[0433] Receive the quantum computing object defined in the intermediate representation;
[0434] The quantum computing object is converted into a selected quantum circuit format for a specific quantum computing technology, wherein the selected quantum circuit format for the specific quantum computing technology is one of several quantum circuit formats for a variety of different quantum computing technologies supported by the quantum computing service, wherein, in order to convert the quantum computing object into the selected quantum circuit format, the one or more computing devices are configured to:
[0435] The portion that identifies the quantum computing object corresponding to the quantum operator in the intermediate representation;
[0436] The intermediate quantum operator is replaced with a quantum operator of the quantum circuit format of the specific quantum computing technology; and
[0437] Perform one or more optimizations to reduce the total number of quantum operators in the converted quantum circuit, which is a converted version of the received quantum computing object;
[0438] The converted quantum circuit is provided for execution at a quantum hardware supplier using the specific quantum computing technology.
[0439] Receive the results of the execution of the converted quantum circuit from the quantum hardware provider; and
[0440] The quantum computing service provides customers with a notification that the quantum computing object has been executed.
[0441] Clause 42. The system described in Clause 41 further includes:
[0442] A first edge computing device of a service provider network, wherein the first edge computing device is located at the location of a first quantum hardware provider including a quantum computer operating according to one of the plurality of different quantum computing technologies supported by the quantum computing service, wherein the service provider network includes one or more computing devices implementing the quantum computing service; and
[0443] One or more additional edge computing devices of the service provider network, located at one or more locations of one or more additional quantum hardware providers, including one or more quantum computers operating according to one or more other quantum computing technologies among the various quantum computing technologies supported by the quantum computing service.
[0444] The converted quantum circuit is provided for execution at the first quantum hardware provider or one or more additional quantum hardware providers via the first edge computing device or one or more additional edge computing devices through the service provider network.
[0445] Clause 43. The system according to Clause 41 or Clause 42, wherein, in order to convert the quantum computing object into the selected quantum circuit format, the one or more computing devices implementing the quantum computing service are configured to:
[0446] The transformed quantum circuit is simulated on a simulator that is implemented on classical hardware before being provided for execution at the quantum hardware provider.
[0447] Clause 44. The system according to any one of Clauses 41 to 43, wherein the one or more computing devices implementing the quantum computing service are further configured to implement a quantum algorithm development kit, the quantum algorithm development kit comprising:
[0448] A problem-domain-based interface, comprising pre-configured quantum algorithms designed to perform specific functions associated with one or more corresponding problem domains, wherein a client of the quantum computing service selects an applicable problem domain for a problem to be solved by the client, and wherein the client selects one or more pre-configured quantum algorithms from the pre-configured quantum algorithms for the selected problem domain in order to define the quantum algorithm to be executed by the quantum computing service as the quantum computing object;
[0449] A quantum algorithm-based interface, comprising pre-configured quantum logic elements configured to be arranged to form a quantum algorithm, wherein a client of the quantum computing service selects and / or arranges the pre-configured quantum logic elements to define a specific quantum algorithm to be executed via the quantum computing service as the quantum computing object; and
[0450] A quantum circuit-based interface, comprising quantum operators and connectors, wherein a client of the quantum computing service combines the quantum operators and connectors to define a specific quantum circuit to be executed by the quantum computing service as the quantum computing object.
[0451] Clause 45. A method comprising:
[0452] A quantum computing service implemented on one or more computing devices receives quantum computing objects defined in an intermediate representation;
[0453] The quantum computing service converts the quantum computing object into a format for a specific quantum computing technology, wherein the format for the specific quantum computing technology is one of several formats for various quantum computing technologies supported by the quantum computing service, and the conversion of the quantum computing object into the format for the specific quantum computing technology includes:
[0454] The portion that identifies the quantum computing object corresponding to the quantum operator in the intermediate representation;
[0455] Replace the intermediate representation of the quantum operator with a quantum operator in the format used for the specific quantum computing technology; and
[0456] Perform one or more optimizations to reduce the total number of quantum operators included in the converted quantum circuit, which is a converted version of the received quantum computing object.
[0457] Clause 46. The method described pursuant to Clause 45 further includes:
[0458] Provide a problem domain-based interface, which includes pre-configured quantum algorithms designed to perform specific functions associated with one or more corresponding problem domains;
[0459] The quantum computing object defined in the intermediate representation includes:
[0460] The client of the quantum computing service receives a selection of a specific problem domain from multiple problem domains supported by the problem domain interface;
[0461] Provide the customers of the quantum computing service with one or more pre-configured quantum algorithms for the selected problem domain; and
[0462] The client of the quantum computing service receives a selection of one of one or more pre-configured quantum algorithms for defining a specific quantum algorithm to be executed as the quantum computing object through the quantum computing service.
[0463] Clause 47. The method described in Clause 46, wherein the one or more corresponding problem domains include one or more of the following:
[0464] Chemical problem domain;
[0465] Physical problem domain;
[0466] Pharmaceutical problem domain;
[0467] Biotechnology problem domain;
[0468] Medical problem domain;
[0469] Information security issue domain;
[0470] Machine learning problem domain;
[0471] Process simulation problem domain;
[0472] Physical modeling problem domain;
[0473] Optimize the problem domain; or
[0474] Another problem domain.
[0475] Clause 48. The method according to any one of Clauses 45 to 47 further includes:
[0476] An interface based on quantum algorithms is provided, the interface comprising pre-configured quantum logic elements configured to be arranged to form a specific quantum algorithm;
[0477] The quantum computing object defined in the intermediate representation includes:
[0478] Receive selection of the quantum algorithm-based interface from the client of the quantum computing service;
[0479] Provide one or more pre-configured quantum logic elements to the customer of the quantum computing service; and
[0480] The client of the quantum computing service receives a selection of one of the one or more pre-configured quantum logic elements for defining the specific quantum algorithm to be executed as the quantum computing object through the quantum computing service.
[0481] Clause 49. The method according to any one of Clauses 45 to 47 further includes:
[0482] A quantum circuit-based interface is provided, the interface comprising quantum operators and connectors that can be arranged to define a specific quantum circuit;
[0483] The quantum computing object defined in the intermediate representation includes:
[0484] Receive selection of the quantum circuit-based interface from the client of the quantum computing service;
[0485] The client receives input defining a specific quantum circuit that includes one or more of the quantum operators and one or more of the connectors, wherein the client defines the specific quantum circuit to be executed by the quantum computing service.
[0486] The quantum operators are general-purpose for two or more of the various quantum computing technologies supported by the quantum computing service.
[0487] Clause 50. The method described pursuant to Clause 49 further includes:
[0488] The interface receives input from another specific quantum circuit, which is defined to include one or more of the quantum operators and connectors.
[0489] The quantum operator of the other specific quantum circuit is a quantum operator selected by the customer, and the quantum operator is specific to one of the various quantum computing technologies supported by the quantum computing service.
[0490] Clause 51. The method described pursuant to Clause 49 further includes:
[0491] Receive one or more custom quantum gate definitions defined by the client; and
[0492] Add the one or more custom quantum gate definitions to a set of quantum operators that can be used to define the specific quantum circuit.
[0493] Clause 52. The method according to any one of Clauses 45 to 51 further includes:
[0494] A quantum algorithm development kit is implemented, comprising:
[0495] A problem-domain-based interface includes pre-configured quantum algorithms designed to perform specific functions associated with one or more corresponding problem domains, wherein a client of the quantum computing service selects an applicable problem domain for a problem to be solved by the client, and wherein the client selects one or more pre-configured quantum algorithms from the pre-configured quantum algorithms for the selected problem domain to define a specific quantum algorithm to be executed by the quantum computing service as the quantum computing object.
[0496] A quantum algorithm-based interface, comprising pre-configured quantum logic elements configured to be arranged to form a specific quantum algorithm, wherein a client of the quantum computing service selects and / or arranges the pre-configured quantum logic elements to define the specific quantum algorithm to be executed by the quantum computing service as the quantum computing object; or
[0497] A quantum circuit-based interface, comprising quantum operators and connectors, wherein a client of the quantum computing service combines the quantum operators and the connectors to define a specific quantum circuit to be executed via the quantum service as the quantum computing object; and
[0498] Receives a quantum object template defined via the problem domain-based interface, the quantum algorithm-based interface, or the quantum circuit-based interface from a first client of the quantum computing service; and
[0499] This enables the first customer to share the quantum object template with other customers of the quantum computing service.
[0500] Clause 53. The method according to Clause 52, wherein the quantum algorithm development kit comprises:
[0501] A marketplace for coordinating customer relationships for the quantum computing service and sharing quantum object templates with other customers of the quantum computing service.
[0502] Clause 54. The method according to any one of Clauses 45 to 53 further includes:
[0503] The quantum computing object is converted into a format supported by a simulator implemented on classical hardware; and
[0504] The quantum computing object is simulated on a simulator implemented on classical hardware before being converted into a format for a specific quantum computing technology.
[0505] Clause 55. The method according to any one of Clauses 45 to 54 further includes:
[0506] The client of the quantum computing service receives an instruction to select one of the various quantum computing technologies supported by the quantum computing service for executing the quantum computing object defined in the intermediate representation.
[0507] The intermediate representation is converted into a quantum format selected by the client for the selected quantum computing technology.
[0508] Clause 56. The method described pursuant to Clause 55 further includes:
[0509] Following the conversion, the client of the quantum computing service receives an instruction to perform the execution of the quantum computing object defined in the intermediate representation using another selected one of the various quantum computing technologies supported by the quantum computing service; and
[0510] The intermediate representation is automatically converted into a format suitable for the other selected quantum computing technology without requiring further input from the client to perform the conversion.
[0511] Clause 57. The method according to any one of Clauses 45 to 56, wherein the various quantum computing technologies supported by the quantum computing service include one or more of the following:
[0512] Quantum computing technology based on quantum annealing;
[0513] Quantum computing technology based on ion traps;
[0514] Superconducting quantum computing technology; or
[0515] Photon-based quantum computing technology.
[0516] Clause 58. One or more non-transitory computer-readable media storing program instructions that, when executed on or across one or more processors, cause the one or more processors to:
[0517] Receive the quantum computing object defined in the intermediate representation; and
[0518] The quantum computing object is converted into a format for a specific quantum computing technology, wherein the format for the specific quantum computing technology is one of several supported formats for a variety of different quantum computing technologies.
[0519] In order to convert the quantum computing object into the format used for the specific quantum computing technology, the one or more program instructions, when executed on or across the one or more processors, cause the one or more processors to:
[0520] The portion that identifies the quantum computing object corresponding to the quantum operator in the intermediate representation;
[0521] The intermediate representation of the quantum operator is replaced with a quantum operator of the quantum format of the specific quantum computing technology; and
[0522] Perform one or more optimizations to reduce the total number of quantum operators in the transformed quantum circuit, which is the transformed version of the quantum computing object.
[0523] Clause 59. One or more non-transitory computer-readable media as described in Clause 58, wherein said program instructions further cause said one or more processors to:
[0524] Receive the client's selection of a first specific quantum computing technology to be used to perform the quantum computing object;
[0525] The quantum computing object defined in the intermediate representation is converted into a format for the selected first specific quantum computing technology;
[0526] Receive the customer's selection of a second specific quantum computing technology to be used to perform the quantum computing object; and
[0527] Transform the same quantum computing object defined in the intermediate representation into a format for the selected second specific quantum computing technology;
[0528] The converted versions of the quantum computing object used in the corresponding formats of the first quantum computing technology and the second quantum computing technology are different.
[0529] Clause 60. One or more non-transitory computer-readable media as described in Clause 58 or Clause 59, wherein said program instructions further cause said one or more processors to:
[0530] The converted quantum computing circuit is provided to the backend application programmable interface (API) of the quantum computing service, wherein the backend API is a non-public interface that provides the converted quantum computing circuit to the edge computing device at the location of the quantum hardware provider for scheduling to be executed on the quantum computer at the location of the quantum hardware provider.
[0531] Clause 61. A system comprising:
[0532] One or more computing devices in a service provider network, wherein the one or more computing devices are configured to implement quantum computing services;
[0533] The first edge computing device of the service provider network located at the location of the first quantum hardware provider; and
[0534] A second edge computing device of the service provider network located at the location of the second quantum hardware provider;
[0535] The first quantum hardware provider and the second quantum hardware provider are configured to use quantum computers based on different quantum computing technologies to execute quantum computing circuits; and
[0536] The first edge computing device and the second edge computing device are configured as follows:
[0537] Receive one or more quantum computing circuits to be executed on a quantum computer at the location of the first hardware provider or the location of the second hardware provider;
[0538] The availability of the quantum computer for executing the one or more quantum computing circuits;
[0539] Storing the one or more quantum computing circuits in a local queue of the first edge computing device or the second edge computing device; and
[0540] The one or more quantum computing circuits are submitted to the quantum computer at the first quantum hardware provider location or the second quantum hardware provider location for execution during the predetermined availability period.
[0541] Clause 62. The system according to Clause 61, wherein the first edge computing device and the second edge computing device are further configured to:
[0542] Contact the quantum computing service to determine whether the quantum computing circuit is ready to transmit to the location of the first quantum hardware provider or the second quantum hardware provider where the first edge computing device or the second edge computing device is located;
[0543] The one or more quantum computing circuits thereon are transmitted from the quantum computing service to the first edge computing device or the second edge computing device via a non-public API of the quantum computing service.
[0544] Clause 63. The system according to Clause 61 or Clause 62, wherein the first edge computing device and the second edge computing device are further configured to:
[0545] The quantum computer at the location of the first quantum hardware provider or the location of the second quantum hardware provider receives the results of the execution of the one or more quantum computing circuits; and
[0546] The results are stored in a storage service of the provider network implemented using a storage device located remotely from the first quantum hardware provider or the second quantum hardware provider.
[0547] Clause 64. The system pursuant to any one of Clauses 61 to 63 further includes:
[0548] A dedicated physical network connection connecting the first edge computing device or the second edge computing device to a router in the service provider network located at a location remote from the location of the first quantum hardware provider or the second quantum hardware provider; and
[0549] A dedicated physical network connection is used to connect the first edge computing device or the second edge computing device to a local network located at the location of the first quantum hardware provider or the location of the second quantum hardware provider.
[0550] Clause 65. The system according to any one of Clauses 61 to 64, wherein the different quantum computing technologies used by the first quantum hardware provider and the second quantum hardware provider include two or more of the following:
[0551] Quantum computers based on quantum annealing;
[0552] Ion trap-based quantum computers;
[0553] Superconducting quantum computers; or
[0554] Photon-based quantum computers.
[0555] Clause 66. The system according to any one of Clauses 61 to 65, wherein the one or more computing devices implementing the quantum computing service are configured to:
[0556] Receive one or more quantum computing objects defined in the intermediate representation; and
[0557] The one or more quantum computing objects are converted into one or more quantum circuits having a specific format corresponding to the type of quantum computing technology used by the quantum computer at the first quantum hardware provider location or the second quantum hardware provider location.
[0558] Clause 67. An edge computing device comprising:
[0559] A first network connector, configured to couple to the local network of the quantum hardware provider;
[0560] A second network connector, configured to connect the edge computing device to a quantum computing service;
[0561] One or more processors; and
[0562] The memory stores program instructions that, when executed on or across one or more processors, cause the one or more processors to:
[0563] Receive one or more quantum computing circuits to be executed on a quantum computer at the location of the quantum hardware provider where the edge computing device is located;
[0564] The availability of the quantum computer for executing the one or more quantum computing circuits;
[0565] Store the one or more quantum computing circuits in a local queue pending availability; and
[0566] The one or more quantum computing circuits are submitted to the quantum computer at the location of the quantum hardware provider for execution during the predetermined availability period.
[0567] Clause 68. The edge computing device according to Clause 67, wherein the edge computing device is configured with a quantum hardware provider-specific quantum machine image, the quantum hardware provider-specific quantum machine image being configured to interface with the quantum hardware provider's local network to coordinate the scheduling of the availability and to coordinate the reception of the results of the execution of the one or more quantum computing circuits by the quantum computer at the location of the quantum hardware provider.
[0568] Clause 69. The edge computing device as described in Clause 68, wherein the edge computing device is configured to be delivered to the selected quantum hardware vendor as a pre-configured edge computing device pre-configured with a quantum machine image specific to the selected quantum hardware vendor.
[0569] Clause 70. An edge computing device according to any one of Clauses 67 to 69, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:
[0570] Receive the results of the execution of the one or more quantum computing circuits from the quantum computer; and
[0571] The results are stored in a storage service of the provider network implemented using storage devices located remotely from the quantum hardware provider.
[0572] Clause 71. An edge computing device according to any one of Clauses 67 to 70, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:
[0573] Contact the quantum computing service to determine if the quantum computing circuitry is ready to be transmitted to the location of the quantum hardware provider where the edge computing device is located;
[0574] The one or more quantum computing circuits thereon are transmitted from the quantum computing service to the edge computing device via a non-public application programmable interface (API) of the quantum computing service.
[0575] Clause 72. An edge computing device according to any one of Clauses 67 to 71, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:
[0576] Receive a hybrid quantum computing algorithm, including classical and quantum computing components, via the quantum computing service;
[0577] The classical computing portion is executed on a virtual machine implemented on the classical computing hardware of the edge computing device; and
[0578] Coordinate the execution of the quantum computing portion on the quantum computer located at the location of the quantum hardware provider where the edge computing device is situated.
[0579] Clause 73. The edge computing device according to Clause 72, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:
[0580] A snapshot of the result of the quantum computing portion of the hybrid quantum computing algorithm is stored at a data storage service provider network, wherein the service provider network includes one or more computing devices configured to implement the quantum computing service.
[0581] Clause 74. The edge computing device according to Clause 72, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:
[0582] Instantiate a first virtual machine to receive the one or more quantum computing circuits, schedule availability, and submit the one or more quantum computing circuits; and
[0583] A second virtual machine is instantiated to execute the classical computation portion of the hybrid quantum computing algorithm, and the quantum computation portion of the hybrid quantum computing algorithm is submitted to the first virtual machine for coordinated execution.
[0584] Clause 75. An edge computing device according to any one of Clauses 67 to 74, wherein the program instructions, when executed on or across the one or more processors, further cause the one or more processors to:
[0585] Instantiate a first virtual machine to receive one or more quantum computing circuits, schedule availability, and submit the one or more quantum computing circuits to a first client of the quantum computing service; and
[0586] Instantiate a second virtual machine to receive one or more quantum computing circuits, schedule availability, and submit the one or more quantum computing circuits to a second client of the quantum computing service.
[0587] Clause 76. An edge computing device according to any one of Clauses 67 to 75, wherein one or more quantum computing circuits received by the edge computing device have been converted into a format according to the quantum computing technology of the quantum computer at the location of the quantum hardware provider where the edge computing device is located.
[0588] Clause 77. One or more non-transitory computer-readable media storing program instructions that, when executed on or across one or more processors, cause the one or more processors to:
[0589] Receive one or more quantum computing circuits from the quantum computing service to be executed on a quantum computer at a location of a quantum hardware provider, wherein the location of the quantum hardware provider is remote from one or more computers implementing the quantum computing service;
[0590] Coordinate and schedule the availability of the quantum computer for performing the one or more quantum computing circuits;
[0591] The one or more quantum computing circuits are stored in a local queue awaiting availability; and
[0592] The one or more quantum computing circuits are submitted to the quantum computer at the location of the quantum hardware provider for execution during the predetermined availability period.
[0593] Clause 78. One or more non-transitory computer-readable media as described in Clause 77, wherein said program instructions further cause said one or more processors to:
[0594] Contact the quantum computing service to determine if the quantum computing circuitry is ready for transmission;
[0595] The one or more quantum computing circuits mentioned herein are received from the quantum computing service via a non-public application programmable interface (API) of the quantum computing service.
[0596] Clause 79. One or more non-transitory computer-readable media as described in Clause 78, wherein said program instructions further cause said one or more processors to:
[0597] This enables the receiving from the quantum computer of the results of the execution of the one or more quantum computing circuits; and
[0598] The results are stored in a provider network storage service implemented using storage devices located far from the quantum hardware provider.
[0599] Clause 80. One or more non-transitory computer-readable media as described in Clause 78, wherein the one or more quantum computing circuits received have been converted into a format according to the quantum computing technology of the quantum computer at the location of the quantum hardware provider.
[0600] in conclusion
[0601] Various embodiments may also include receiving, transmitting, or storing instructions and / or data implemented in accordance with the foregoing description on a computer-accessible medium. Generally, a computer-accessible medium may include storage media or memory media (such as magnetic or optical media, e.g., magnetic disks or DVD / CD-ROMs), volatile or non-volatile media (such as RAM (e.g., SDRAM, DDR, RDRAM, SRAM, etc.), ROM, etc.), and transmission media or signals (such as electrical signals, electromagnetic signals, or digital signals transmitted via communication media (such as networks and / or wireless links).
[0602] The figures and various methods described herein represent exemplary embodiments of the methods. The methods can be implemented in software, hardware, or a combination thereof. The order of the methods can be changed, and various elements can be added, reordered, combined, omitted, modified, etc.
[0603] It will be apparent to those skilled in the art who benefit from this public disclosure that various modifications and changes can be made. It is intended to encompass all such modifications and changes, and therefore, the above description is considered illustrative rather than restrictive.
Claims
1. A system comprising: One or more computing devices in a service provider network, wherein the one or more computing devices are configured to implement quantum computing services; A first edge computing device of the service provider network located at a first location of the first quantum hardware provider; as well as A second edge computing device of the service provider network located at a second location of the second quantum hardware provider; The first quantum hardware provider and the second quantum hardware provider are configured to use quantum computers based on different quantum computing technologies to execute quantum computing circuits; The one or more computing devices used to implement the quantum computing service are located at a location far from the first and second locations and are configured as follows: Receive the definition of the quantum computing object to be performed from the client of the quantum computing service; Select at least one of the first quantum hardware provider or the second quantum hardware provider to perform the quantum computing object; The quantum circuit corresponding to the quantum computing object is submitted to one or more of the selected quantum hardware providers via the first edge computing device or the second edge computing device located at the appropriate locations of one or more selected quantum hardware providers; Receive the results of executing the quantum circuit on a quantum computer from one or more selected quantum hardware providers; Store the result of executing the quantum circuit; as well as The client is provided with a notification that the execution of the quantum computing object has been completed.
2. The system of claim 1, wherein the one or more computing devices configured to implement the quantum computing service are further configured to: Based on one or more characteristics of the quantum computing object and one or more characteristics of the first quantum hardware provider and the second quantum hardware provider, a recommendation is generated to use one or more of the first quantum hardware provider or the second quantum hardware provider to perform the quantum computing object, wherein the one or more characteristics include the corresponding quantum computing technology used by the respective first quantum hardware provider and the second quantum hardware provider; Provide the recommendation to the customer; and Receive instructions from the client regarding the adoption of the recommended configuration or an alternative configuration to be used to perform the quantum computing object. The selection of one or more of the first or second quantum hardware providers chosen to perform the quantum computing object is based at least in part on the response from the customer.
3. The system of claim 1, wherein the different quantum computing technologies used by the first quantum hardware provider and the second quantum hardware provider include two or more of the following: Quantum computers based on quantum annealing; Ion trap-based quantum computers; Superconducting quantum computers; or Photon-based quantum computers.
4. The system according to claim 1, further comprising: A first private physical network link connects the first edge computing device at the location of the first quantum hardware provider to the service provider network. as well as A second private physical network link connects the second edge computing device at the location of the second quantum hardware provider to the service provider network.
5. A method comprising: At a quantum computing service implemented on one or more computing devices, a definition of a quantum computing task to be performed is received from a client of the quantum computing service; The quantum computing service selects at least one of a first quantum hardware provider or a second quantum hardware provider to perform the quantum computing task, wherein the first quantum hardware provider and the second quantum hardware provider are configured to use quantum computers based on different quantum computing technologies to perform the quantum computing task. The quantum computing service submits quantum circuits corresponding to the quantum computing task to at least one selected quantum hardware provider via a first edge computing device of the quantum computing service located at a first location of the first quantum hardware provider or a second edge computing device of the quantum computing service located at a second location of the second quantum hardware provider, wherein the one or more computing devices are located at locations remote from the first and second locations; The execution result received from the first quantum hardware provider or the second quantum hardware provider is stored; and The quantum computing service provides the customer with a notification that the quantum computing task has been completed.
6. The method of claim 5, wherein the different quantum computing technologies used by the first quantum hardware provider and the second quantum hardware provider comprise two or more of the following: Quantum computers based on quantum annealing; Ion trap-based quantum computers; Superconducting quantum computers; or Photon-based quantum computers.
7. The method of claim 5, wherein submitting the quantum computing task comprises: The quantum computing task is transformed from an intermediate representation used by the customer to define the quantum computing task into a quantum hardware provider-specific definition for defining the quantum computing task as the quantum circuit; The quantum circuit is provided to the backend non-public API of the quantum computing service, wherein the first edge computing device of the quantum computing service at the location of the first quantum hardware provider and the second edge computing device of the quantum computing service at the location of the second quantum hardware provider poll the backend non-public API to obtain the transformed quantum circuit to be executed at the first quantum hardware provider or the second quantum hardware provider, respectively. The execution capabilities on the quantum computers of the first quantum hardware provider or the second quantum hardware provider are scheduled by the first edge computing device or the second edge computing device. as well as The converted quantum circuit is stored by the first edge computing device or the second edge computing device in a queue of tasks to be executed on the quantum computer of the first quantum hardware provider or the second quantum hardware provider.
8. The method of claim 7, further comprising: The quantum circuit is submitted from the queue to the quantum computer of the first quantum hardware provider or the second quantum hardware provider via a local network connected to the first edge computing device or the second edge computing device. Receive the result generated by the quantum circuit being executed on the quantum computer at the first edge computing device or the second edge computing device; as well as The results are stored in a storage service of a network of service providers that includes one or more computing devices that implement the quantum computing service, wherein the notification that the quantum computing task has been completed indicates the storage location of the results.
9. The method according to claim 8, The first edge computing device and the second edge computing device include servers located at the locations of the first quantum hardware provider and the second quantum hardware provider, respectively; The one or more servers thereon are connected to the service provider network via a private physical network link; as well as The server is connected to the local network of either the first quantum hardware provider or the second quantum hardware provider.
10. The method of claim 5, further comprising: Generate recommendations for using one or more of the first quantum hardware provider or the second quantum hardware provider to perform the quantum computing task; The recommendation will be provided to the customer; as well as Receive a response from the customer regarding the selection of which quantum hardware provider will perform the quantum computing task. The selection of at least one of a first quantum hardware provider or a second quantum hardware provider to perform the quantum computing task via the quantum computing service is based on the response from the customer.
11. The method of claim 10, wherein the recommendation comprises one or more of the following: The estimated cost of performing the quantum computing task by each of the first quantum hardware provider and the second quantum hardware provider; The estimated error rate of each of the first and second quantum hardware providers regarding the execution of the quantum computing task; or The estimated length of time for each of the first and second quantum hardware providers to perform the quantum computing task.
12. The method of claim 5, further comprising: The quantum computing task is simulated on classical computing hardware of a network of service providers that includes one or more computing devices that implement the quantum computing service, wherein the simulation is performed according to a first quantum computing technology of the first quantum hardware provider. The quantum computing task is simulated on the classical computing hardware of the computing service within the service provider network, wherein the simulation is performed according to the second quantum computing technology of the second quantum hardware provider. The selection of at least one of the first quantum hardware provider or the second quantum hardware provider is based, at least in part, on the results of the simulations according to the first quantum computing technology and the results of the simulations according to the second quantum computing technology.
13. The method of claim 5, wherein the definition of the quantum computing task received from the client is defined in an intermediate representation supported by the quantum computing service, the method further comprising: The quantum computing task is transformed from an intermediate representation used by the customer to define the quantum computing task into a quantum hardware provider-specific definition for defining the quantum computing task; as well as One or more optimization operations are performed on the transformed version of the quantum computing task to reduce the number of quantum operators included in the quantum circuit of the transformed version of the quantum computing task.
14. The method of claim 13, wherein converting the quantum computing task comprises: Map one or more gates of the intermediate representation to one or more gates of a specific type of quantum computing technology of the quantum hardware provider selected to perform the quantum computing task.
15. The method of claim 13, wherein the same gate representation in the intermediate representation is converted into: The first set of quantum operators when the first quantum hardware provider is selected to perform the quantum computing task; and A different set of quantum operators when the second quantum hardware provider is selected to perform the quantum computing task.
Citation Information
Patent Citations
Generating Quantum Logic Control Sequences for Quantum Information Processing Hardware
US20180232652A1
Solving computational tasks using quantum computing
US20180307988A1