CN114846480A - 支持多种量子计算技术的量子计算服务 - Google Patents
支持多种量子计算技术的量子计算服务 Download PDFInfo
- Publication number
- CN114846480A CN114846480A CN202080088554.5A CN202080088554A CN114846480A CN 114846480 A CN114846480 A CN 114846480A CN 202080088554 A CN202080088554 A CN 202080088554A CN 114846480 A CN114846480 A CN 114846480A
- Authority
- CN
- China
- Prior art keywords
- quantum
- computing
- service
- hardware provider
- provider
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种量子计算服务包括到多个量子硬件提供商的连接,所述多个量子硬件提供商被配置为使用基于不同的量子技术的量子计算机来执行量子电路。所述量子计算服务使得客户能够按中间表示定义量子算法/电路并且从多种支持的量子计算技术中的任一种中选择以用于执行所述量子算法/量子电路。
Description
背景技术
量子计算利用量子物理定律来处理信息。量子物理学是在基本层级描述现实行为的理论。它是当前能够一致地预测像光子、分子、原子和电子一样的微观量子对象的行为的唯一物理理论。
量子计算机是利用量子力学来允许一个人写入、存储、处理和读出以量子状态例如量子对象的状态编码的信息的装置。量子对象是根据量子物理定律运转的物理对象。物理对象的状态是对象在给定时间的描述。
在量子力学中,两级量子系统的状态或简单地量子比特(qubit)是其平方合计为一的两个复数的列表。这两个数字中的每一个被称作振幅或拟概率。振幅的平方给出潜在负概率。因此,这两个数字中的每一个对应于事件零和事件一分别将发生的平方根。概率比特(例如传统零或一比特)与量子比特之间的基本且违反直觉的差异是概率比特表示缺少关于两级经典系统的信息,然而量子比特包含关于两级量子系统的最大信息。
量子计算机基于此类量子比特(qubits),它们可能经历“叠加”和“纠缠”的现象。叠加允许量子系统同时处于多个状态。例如,虽然经典计算机基于或零或一的比特,但是量子比特可以同时为零和一,同时不同概率被指配给零和一。纠缠是量子粒子之间的强相关,使得即使相隔很远,量子粒子也有着不可分割的紧密联系。
量子算法是以期望和受控方式作用于量子比特的可逆变换,然后对一个或多个量子比特进行测量。例如,如果系统具有两个量子比特,则变换可以修改四个数字;在三个量子比特情况下这变成八个数字,依此类推。因此,量子算法作用于如通过量子比特数所规定的指数大的数字的列表。作为示例,为了实现变换,可以将变换分解成作用于单个量子比特或一对量子比特的小操作。此类小操作可以被称作量子门并且用于实现变换的门的布置可以形成量子电路。
存在可以在各自具有不同优点和缺点的量子计算机中使用的不同类型的量子比特。例如,一些量子计算机可以包括由超导体、俘获离子、半导体、光子学等建立的量子比特。每个量子计算机可能经历不同水平的干扰、错误和去相干。另外,一些量子计算机可能对生成特定类型的量子电路或量子算法更有用,然而其他量子计算机可能对生成其他类型的量子电路或量子算法更有用。另外,成本、运行时间、错误率、可用性等可以跨量子计算技术变化。
附图说明
图1图示了根据一些实施例的使得客户能够访问使用多种量子计算技术的量子计算机的服务提供商网络的量子计算服务。
图2图示了根据一些实施例的物理上位于量子硬件提供商位置处的量子计算服务的边缘计算装置。
图3图示了根据一些实施例的包括量子计算服务、虚拟计算服务和存储服务的服务提供商网络。
图4图示了根据一些实施例的示例量子计算服务量子算法开发套件接口。
图5图示了根据一些实施例的显示问题域设计范例的示例量子计算服务量子算法开发套件接口。
图6图示了根据一些实施例的显示量子算法设计范例的示例量子计算服务量子算法开发套件接口。
图7图示了根据一些实施例的显示量子电路设计范例的示例量子计算服务量子算法开发套件接口。
图8图示了根据一些实施例的用于使用量子算法开发套件接口来设计量子任务、算法或电路的示例流程图。
图9图示了根据一些实施例的经由量子算法开发套件接口定义的量子任务、算法或电路变成量子计算技术特定表示的示例转换。
图10图示了根据一些实施例的量子任务、算法或电路的中间表示变成多个支持的量子计算技术表示中的任一个的示例转换。
图11A图示了根据一些实施例的涉及量子计算服务接收、转换和执行量子任务、算法或电路的过程。
图11B图示了根据一些实施例的可以被执行来将量子任务、算法或电路从中间表示转换为量子计算技术特定表示的附加步骤。
图12图示了根据一些实施例的示例量子电路优化过程。
图13图示了根据一些实施例的连接到量子计算服务的示例边缘计算装置。
图14图示了根据一些实施例的量子计算服务与该量子计算服务的边缘计算装置之间的示例交互。
图15A图示了根据一些实施例的用于将量子电路从量子计算服务输送到该量子计算服务的边缘计算装置的示例过程。
图15B图示了根据一些实施例的用于调度由位于量子硬件提供商位置处的量子计算服务的边缘计算装置在量子计算机上对量子电路的执行的示例过程。
图15C图示了根据一些实施例的用于处理由位于量子硬件提供商位置处的量子计算服务的边缘计算装置在量子计算机上对量子电路的执行的结果的示例过程。
图16图示了根据一些实施例的用于将附加量子计算技术作为支持的量子计算技术添加到量子计算服务的示例过程。
图17图示了根据一些实施例的在位于量子硬件提供商位置处的量子计算服务的边缘计算装置上实现的经典计算机与量子硬件提供商位置处的量子计算机之间的示例交互。
图18图示了根据一些实施例的用于使用位于量子硬件提供商位置处的量子计算服务的边缘计算装置来执行混合算法的示例过程。
图19图示了根据一些实施例的可以在位于量子硬件提供商位置处的量子计算服务的边缘计算装置处执行的示例虚拟化管理软件组件。
图20图示了根据一些实施例的用于包括位于量子硬件提供商位置处的量子计算服务的边缘计算装置的隔离虚拟网络的示例网络配置。
图21图示了根据一些实施例的量子计算服务的示例可运送的预配置边缘计算装置。
图22是根据一些实施例的图示了量子计算服务的可运送的预配置边缘计算装置的示例组件的框图。
图23是图示了可以在至少一些实施例中使用的示例计算装置的框图。
尽管本文通过示例的方式针对若干实施例和说明性附图描述了实施例,但是本领域技术人员将认识到,实施例不限于所描述的实施例或附图。应理解的是,附图和对其的详细描述并非旨在将实施例限制于所公开的特定形式,而相反,意图是覆盖落入由所附权利要求限定的精神和范围内的所有修改、等效物和替代方案。本文所使用的标题只是出于组织目的,而不意图用于限制本说明书或权利要求的范围。如在整个本申请中使用的,词语“可以(may)”以允许的意义(即,意指“有可能”),而不是强制意义(即,意指“必须”)使用。类似地,词语“包含(include、including和includes)”意味着包含但不限于。当在权利要求中使用时,术语“或”用作包含性的而不是排他性的或。例如,短语“x、y或z中的至少一个”意指x、y和z中的任何一个,以及它们的任何组合。
具体实施方式
本公开涉及用于向客户提供支持多种不同的量子计算技术的量子计算服务并且使得客户能够无缝地使用不同的量子计算技术而不要求客户具有底层量子计算技术的特定知识的方法和设备。
在一些实施例中,一种系统包括服务提供商网络,该服务提供商网络包括被配置为实现量子计算服务的一个或多个计算装置。该系统还包括位于第一量子硬件提供商的位置处的服务提供商网络的第一边缘计算装置和位于第二量子硬件提供商的位置处的服务提供商网络的第二边缘计算装置。实现量子计算服务的一个或多个计算装置被配置为从量子计算服务的客户接收要执行的量子计算对象的定义并且选择第一硬件提供商或第二量子硬件提供商中的至少一个来执行量子计算对象。在一些实施例中,量子计算对象可以是量子任务,诸如使用量子算法开发套件的问题域接口定义的任务;使用量子计算服务的量子算法开发套件定义的或由客户提供的量子算法;或使用量子计算服务的量子算法开发套件定义的或由客户供应的量子电路。在一些实施例中,实现量子计算服务的一个或多个计算装置可以进一步被配置为给客户提供关于要使用哪个量子硬件供应商来执行客户的量子计算对象的推荐,并且对用于执行量子计算对象的第一量子硬件提供商或第二量子硬件提供商的选择可以基于推荐和/或从客户接收到的有关要选择哪个量子硬件提供商来执行客户的量子计算对象的其他输入。在一些实施例中,推荐可以包括与在量子硬件提供商中的相应一个的量子计算机上执行量子计算对象相关联的估计成本、错误率、运行时间等。
实现量子计算服务的一个或多个计算装置被进一步配置为经由位于所选择的一个或多个量子硬件提供商的相应位置处的第一边缘计算装置或第二边缘计算装置向量子硬件提供商中的所选一个或多个提交与量子计算对象相对应的量子电路,接收在该选择的一个或多个量子硬件提供商的量子计算机上执行量子电路的结果,存储执行量子电路的结果,并且向客户提供量子计算对象的执行已完成的通知。
在一些实施例中,一种方法包括在实现在一个或多个计算装置上的量子计算服务处,从量子计算服务的客户接收要执行的量子计算任务的定义。该方法进一步包括通过量子计算服务选择第一量子硬件提供商或第二量子硬件提供商中的至少一个来执行量子计算任务,其中第一量子硬件提供商和第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算任务。另外地,该方法包括通过量子计算服务经由位于第一量子硬件提供商的位置处的量子计算服务的第一边缘计算装置或位于第二量子硬件提供商的位置处的量子计算服务的第二边缘装置向所选择的至少一个量子硬件提供商提交与量子计算任务相对应的量子电路。另外,该方法包括使从第一量子硬件提供商或第二量子硬件提供商接收到的执行结果被存储并且通过量子计算服务来向客户提供量子计算任务已完成的通知。
在一些实施例中,一种或多种非暂时性计算机可读介质存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使一个或多个处理器接收要执行的量子计算任务的定义并且确定用于执行量子计算任务的第一量子硬件提供商或第二量子硬件提供商中的至少一个,其中第一量子硬件提供商和第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算任务。另外地,程序指令使一个或多个处理器经由位于第一量子硬件提供商的位置处的量子计算服务的第一边缘计算装置或位于第二量子硬件提供商的位置处的量子计算服务的第二边缘装置将量子计算任务提交给至少一个量子硬件提供商并且在量子计算任务已完成时提供通知。
在一些实施例中,一种系统包括服务提供商网络的一个或多个计算装置,该一个或多个计算装置被配置为实现被配置为接收中间表示中定义的量子计算对象的量子计算服务。例如,量子计算对象可以是量子任务,诸如使用量子算法开发套件的问题域接口定义的任务;使用量子计算服务的量子算法开发套件定义的或由客户提供的量子算法;或使用量子计算服务的量子算法开发套件定义的或由客户供应的量子电路。在一些实施例中,实现量子计算服务的一个或多个计算装置可以进一步被配置为给客户提供关于要使用哪种量子计算格式来执行客户的量子计算对象的推荐,并且对用于执行量子计算对象的量子计算格式的选择可以基于推荐和/或从客户接收到的有关要选择哪种量子计算格式来执行客户的量子计算对象的其他输入。在一些实施例中,推荐可以包括与在量子硬件提供商中的相应一个的量子计算机上执行量子计算对象相关联的估计成本、错误率、运行时间等。
量子计算服务还被配置为将量子计算对象转换成用于特定量子计算技术的选择的量子电路格式,其中用于特定量子计算技术的选择的量子电路格式是用于通过量子计算服务支持的多种不同的量子计算技术的多种量子电路格式之一。
为了将量子计算对象转换成所选择的量子电路格式,实现量子计算服务的一个或多个计算装置被配置为标识与中间表示中的量子算符相对应的量子计算对象的部分,用特定量子计算技术的量子电路格式的量子算符取代中间表示的量子算符,并且执行一个或多个优化以减少作为所接收到的量子计算对象的转换后的版本的转换后的量子电路中的量子算符的总数。
另外地,量子计算服务被配置为提供转换后的量子电路以供使用特定量子计算技术的量子硬件供应商处执行;从量子硬件提供商接收该转换后的量子电路的执行的结果;并且向量子计算服务的客户提供量子计算对象已被执行的通知。
在一些实施例中,一种方法包括在实现在一个或多个计算装置上的量子计算服务处,接收中间表示中定义的量子计算对象并且通过量子计算服务将量子计算对象转换成用于特定量子计算技术的格式,其中用于特定量子计算技术的格式是用于通过量子计算服务支持的多种不同的量子计算技术的多种格式之一。将量子计算对象转换成用于特定量子计算技术的格式包括标识与中间表示中的量子算符相对应的量子计算对象的部分并且用用于特定量子计算技术的格式的量子算符取代中间表示的量子算符。另外,将量子计算对象转换成用于特定量子计算技术的格式可以包括执行一个或多个优化以减少包括在作为所接收到的量子计算对象的转换后的版本的转换后的量子电路中的量子算符的总数。
在一些实施例中,一种或多种非暂时性计算机可读介质存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使一个或多个处理器接收中间表示中定义的量子计算对象并且将该量子计算对象转换成用于特定量子计算技术的格式,其中用于特定量子计算技术的格式是用于多种不同的量子计算技术的多种支持的格式之一。为了将量子计算对象转换成用于特定量子计算技术的格式,一个或多个程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使一个或多个处理器标识与中间表示中的量子算符相对应的量子计算对象的部分;用特定量子计算技术的量子格式的量子算符取代中间表示的量子算符;并且执行一个或多个优化以减少作为量子计算对象的转换后的版本的转换后的量子电路中的量子算符的总数。
在一些实施例中,包括在量子对象中的量子算符可以对应于量子门。另外,在一些实施例中,优化减少量子算符的总数可以包括减少包括在转换后的量子电路中的量子门的总数。在一些实施例中,包括在量子电路中的量子算符可以是用于对其他类型的量子计算系统如量子退火器进行编程的算符。
在一些实施例中,一种系统包括被配置为实现量子计算服务的服务提供商网络的一个或多个计算装置。该系统还包括位于第一量子硬件提供商的位置处的服务提供商网络的第一边缘计算装置和位于第二量子硬件提供商的位置处的服务提供商网络的第二边缘计算装置。第一量子硬件提供商和第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算电路。另外地,第一边缘计算装置和第二边缘计算装置被各自配置为实例化在相应的第一边缘计算装置或第二边缘计算装置的经典计算硬件上实现的虚拟机,并且经由量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法。
另外地,第一边缘计算装置和第二边缘计算装置被各自配置为在相应的第一边缘计算装置或第二边缘计算装置的经典计算硬件上实现的虚拟机上执行经典计算部分并且协调量子计算部分在相应的第一边缘计算装置或第二边缘计算装置所位于的相应的第一量子硬件提供商位置或第二量子硬件提供商位置处的量子计算机上的执行。例如,在一些实施例中,第一边缘计算装置和第二边缘计算装置被各自配置为实例化至少一个虚拟机来管理协调混合量子计算算法的量子计算部分的执行并且还实例化一个或多个虚拟机来执行混合量子计算算法的经典计算部分。其中经典部分在量子硬件提供商处在本地执行,使得在边缘计算装置上实现的虚拟机的经典计算机与量子硬件提供商处的量子计算机之间存在最小时延。
另外,第一边缘计算装置和第二边缘计算装置被各自配置为将从执行混合量子计算算法生成的结果提交给服务提供商网络的数据存储系统,其中实现数据存储系统的一个或多个计算装置位于服务提供商网络的远离相应的第一量子硬件提供商或第二量子硬件提供商的位置的设施处。
在一些实施例中,边缘计算装置包括被配置为与量子硬件提供商的本地网络耦合的第一网络连接器、被配置为连接到量子计算服务的第二网络连接器以及经典计算硬件。经典计算硬件包括一个或多个处理器和存储器,该存储器存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使一个或多个处理器实例化在边缘计算装置的经典计算硬件上实现的虚拟机;并且经由第二连接器从量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法。程序指令进一步使一个或多个处理器在边缘计算装置的经典计算硬件上实现的虚拟机上执行经典计算部分;经由耦合到量子硬件提供商的本地网络的第一连接器协调量子计算部分在边缘计算装置所位于的量子硬件提供商的位置处的量子计算机上的执行;并且经由第二连接器将从执行混合量子计算算法生成的结果提交给包括量子计算服务的服务提供商网络的数据存储系统,其中实现数据存储系统的一个或多个计算装置位于服务提供商网络的远离量子硬件提供商的位置的设施处。
在一些实施例中,一种方法包括:实例化在位于量子硬件提供商位置处并且连接到经由远离量子硬件提供商位置的位置处的一个或多个计算装置实现的量子计算服务的边缘计算装置的经典计算硬件上实现的虚拟机;以及经由量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法。该方法进一步包括:在位于量子硬件提供商位置处的边缘计算装置的经典计算硬件上实现的虚拟机上执行经典计算部分;协调量子计算部分在量子硬件提供商位置处的量子计算机上的执行;以及将从执行混合量子计算算法生成的结果提交给数据存储系统,其中实现数据存储系统的一个或多个计算装置远离量子硬件提供商位置定位。
在一些实施例中,一种系统包括被配置为实现量子计算服务的服务提供商网络的一个或多个计算装置。该系统还包括位于第一量子硬件提供商的位置处的服务提供商网络的第一边缘计算装置和位于第二量子硬件提供商的位置处的服务提供商网络的第二边缘计算装置,其中第一量子硬件提供商和第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算电路。第一边缘计算装置和第二边缘计算装置被各自配置为接收要在第一硬件提供商位置或第二硬件提供商位置处的量子计算机上执行的一个或多个量子计算电路,调度量子计算机上用于执行一个或多个量子计算电路的可用性,将一个或多个量子计算电路存储在第一边缘计算装置或第二边缘计算装置的本地队列中,并且将一个或多个量子计算电路提交给第一硬件提供商位置或第二量子硬件提供商位置处的量子计算机以供在预定可用性期间执行。
在一些实施例中,边缘计算装置包括被配置为与量子硬件提供商的本地网络耦合的第一网络连接器以及被配置为将边缘计算装置连接到量子计算服务的第二网络连接器。边缘计算装置还包括一个或多个处理器和存储器,该存储器存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使一个或多个处理器接收要在边缘计算装置所位于的量子硬件提供商的位置处的量子计算机上执行的一个或多个量子计算电路;调度量子计算机上用于执行一个或多个量子计算电路的可用性;将一个或多个量子计算电路存储在本地队列中等待可用性;并且将一个或多个量子计算电路提交给量子硬件提供商的位置处的量子计算机以供在预定可用性期间执行。
在一些实施例中,一种或多种非暂时性计算机可读介质存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使一个或多个处理器从量子计算服务接收要在量子硬件提供商位置处的量子计算机上执行的一个或多个量子计算电路,其中量子硬件提供商位置远离实现量子计算服务的一个或多个计算机;协调调度量子计算机上用于执行一个或多个量子计算电路的可用性;使一个或多个量子计算电路被存储在本地队列中等待可用性;并且将一个或多个量子计算电路提交给量子硬件提供商位置处的量子计算机以供在预定可用性期间执行。
在一些实施例中,位于量子硬件提供商位置的量子计算服务的边缘计算装置可以包括管理在边缘计算装置上实例化的计算实例(例如,虚拟机)的虚拟化卸载组件。在一些实施例中,位于量子硬件提供商位置处的边缘计算装置的虚拟化卸载组件可以给在边缘计算装置上实例化的计算实例提供对存储在服务提供商网络的基于块的存储服务中的量子机器映像的访问以用于在边缘计算装置上引导计算实例(例如虚拟机)时使用。另外,虚拟化卸载组件可以给在边缘计算装置上实例化的另一计算实例提供对存储在基于块的存储服务中的混合计算机器映像的访问。在一些实施例中,虚拟化卸载组件可以给又一第三计算实例提供对存储在基于块的存储服务中的客户选择的机器映像的访问。或者在一些实施例中,机器映像,诸如量子机器映像和混合计算机映像可以被存储在位于量子硬件提供商位置处的边缘计算装置的本地持久暂存器中。
另外,在一些实施例中,边缘计算装置的虚拟化卸载组件可以管理在边缘计算装置上实例化的计算实例与服务提供商网络的其他实例或服务之间的网络业务。例如,虚拟化卸载组件可以通过虚拟化计算服务的基底网络路由往返于计算实例的分组并且可以执行分组的封装或地址重定向。另外地,虚拟化卸载组件可以管理在边缘计算装置上实例化的计算实例的安全。例如,虚拟化卸载组件可以对传入和传出业务进行加密和解密并且可以管理用于在边缘计算装置上实例化的计算实例的安全密钥。另外地,虚拟化卸载组件可以管理业务,使得在边缘计算装置上实例化的给定计算实例被包括在隔离虚拟网络例如虚拟专用云中,并且可以管理用于计算实例的专用地址和/或公共地址之间的地址转换。在一些实施例中,可以在虚拟化卸载组件的与边缘计算装置的其他硬件分开但是被包括在与边缘计算装置相同的机箱中的处理器或核心上执行这些虚拟化任务。
在一些实施例中,虚拟化计算服务可以是在云提供商网络处或云计算环境中实现的多个网络可访问服务(例如,包括存储服务、数据库服务等)当中。
在一些实施例中,边缘计算装置的虚拟化卸载组件可以包括各种硬件(例如,包括处理器/核心、存储器、存储装置、用于电源管理、安全管理的电路系统等)和软件元件,这些元件共同地实现网络和存储虚拟化管理,经由块-装置接口提供对存储卷的访问,并且将在边缘计算装置上实例化的计算实例并入在虚拟化计算服务处为客户设置的隔离虚拟网络(IVN)或其他逻辑网络内。
在各种实施例中,虚拟化计算服务可以包括称为基底网络的物理网络,服务提供商数据中心处的硬件服务器和量子硬件提供商位置处的边缘计算装置以及各种其他装置(诸如作为包括路由器、交换机、网关等的联网中介装置)可以连接到该物理网络。利用基底网络作为底层基础设施,可以在此类实施例中代表各种虚拟化计算服务客户配置逻辑网络。例如,可以代表被称作隔离虚拟网络IVN1(在本文中还称为虚拟专用云或VPC)内的客户C1配置一组计算实例(包括虚拟机、允许非虚拟化访问底层服务器的至少一些硬件组件的裸机实例等),然而可以代表另一隔离虚拟网络IVN2内的不同客户C2配置另一组计算实例。
隔离虚拟网络(IVN)或虚拟专用云(VPC)可以包括被指配或分配给给定客户的一系列联网资源(包括计算实例),这些联网资源与为其他隔离虚拟网络或其他虚拟专用云中的其他客户分配的资源在逻辑上隔离(并且默认地,不可从其访问)。可以为代表其建立IVN(或VPC)的客户授予有关用于IVN(或VPC)的资源的网络配置的实质灵活性—例如,用于计算实例的专用IP地址可以由客户选择而不必考虑其他IVN(或VPC)内的其他资源可能已被指配了同一IP地址的可能性,可以在IVN(或VPC)内建立客户的选择的子网,安全规则可以由客户针对相对于IVN(或VPC)的传入和传出业务来设置等。
此外,在至少一些实施例中,可以在IVN(或VPC)内设置定制网络端点以使得IVN(或VPC)的计算实例能够使用提供商网络的专用网络路径来与服务提供商网络的网络可访问服务(诸如存储服务、数据库服务、机器学习服务等)进行通信,而不必遍历或使用公共因特网的链路或装置。在各种实施例中,指配给IVN(或VPC)内的计算实例的网络地址可以不同于指配给计算实例在上面运行的硬件服务器的基底网络地址。在各种实施例中,封装协议和相关映射服务可以用于通过底层基底网络的链路和服务器在IVN(或VPC)内和跨IVN(或VPC)(例如,从一个计算实例到另一计算实例、在虚拟计算服务外部的客户端装置与计算实例之间、或在计算实例与其他计算网络服务之间)路由网络业务的流。在各种实施例中,虚拟计算服务还可以包括负责诸如供应硬件、监视其他资源、接收并处理来自客户的实例配置命令等的任务的一组管理或数据平面组件。
在各种实施例中,量子硬件提供商位置处的边缘计算装置的虚拟化卸载组件可以代表客户发起计算实例的一个或多个配置操作,包括例如启动计算实例、改变联网或其他配置设置、终止实例等。在至少一个实施例中,可以经由包括在边缘计算装置中的虚拟化卸载组件代表客户在边缘计算装置上实例化裸机计算实例,从而实现对边缘计算装置的硬件装置/组件中的至少一些的非虚拟化访问。在各种实施例中,可以至少部分地基于使用在边缘计算装置中所包括的虚拟化卸载组件处运行的一个或多个联网管理器执行的操作来在服务提供商网络的隔离虚拟网络内配置在边缘计算装置上实现的计算实例。例如,此类联网管理器可以存储已被指配给在边缘计算装置处配置的计算实例的网络地址(在虚拟化计算服务处建立的隔离虚拟网络的专用网络地址的范围内)的指示,并且/或者可以将这样的地址指配给以编程方式附连到这样的计算实例的虚拟网络接口。
在一些实施例中,可以至少部分地基于由在边缘计算装置中所包括的虚拟化卸载组件处执行的一个或多个存储管理器执行的操作来给边缘计算装置的计算实例提供提供对根卷(和/或其他逻辑存储装置、文件系统等)的访问。例如,在一些实施例中存储管理器可以使用服务提供商网络的块存储服务和/或其他逻辑存储装置、文件系统等来设置、修改或以其他方式配置根卷。在一些实施例中,虚拟化卸载组件可以包括一个或多个持久存储装置(例如,经由NVME(非易失性存储器快速)接口可访问的装置),根卷的内容和/或从边缘计算装置的计算实例访问的其他存储对象可以被存储在该持久存储装置处。另外地或替换地,虚拟化卸载组件可以例如经由SATA线缆连接连接到包括在边缘计算装置中的一个或多个固态驱动器,根卷的内容和/或从边缘计算装置的计算实例访问的其他存储对象可以被存储在该固态驱动器处。
根据至少一个实施例,虚拟化卸载组件的联网管理器可以包括网络接口卡(NIC)仿真器和/或IVN连接管理器。在一些实施例中,可以在联网管理器处实现虚拟化计算服务的封装协议的封装/解封装操作,例如,以获得从特定IVN内的数据中心计算实例引导到在相同IVN或不同IVN处运行的边缘计算装置计算实例的分组。在至少一个实施例中,虚拟化卸载组件的联网管理器可以被配置为记录向和/或从计算实例引导的各种类型的网络业务,例如,包括引导到提供商网络中或外部的DNS服务器的域名服务业务,并且经由可编程接口将此类日志提供给代表其配置计算实例的客户。
许多可编程接口(例如,基于web的控制台、命令行工具、图形用户接口、应用编程接口(API)等)可以由虚拟化计算服务实现以使得客户能够提交在各种实施例中与计算实例有关的请求并且接收对应的响应。例如,客户可以提交可编程请求以在位于量子硬件提供商处的边缘计算装置上实例化计算实例。在一些实施例中,虚拟化计算服务可以动态地增加或减少在量子硬件提供商位置处的边缘计算装置中执行的供应计算实例。例如,客户可以经由命令行工具或图形用户接口请求更多或更少的实例并且虚拟化计算服务可以从客户的分配资源池中动态地添加或移除计算实例。另外,客户可以向或者从分配给客户的隔离虚拟网络或VPC动态地添加或移除在量子硬件提供商位置处的边缘计算装置中执行的计算实例。
在一些实施例中,边缘计算装置的服务器机箱可以包括持久存储装置并且虚拟化卸载组件可以包括关联的密码存储安全装置(诸如物理密钥)。在这样的实施例中,移除密码存储安全装置可能导致持久存储装置的内容不可读/不可写,也就是说,安全装置可能必须物理存在以允许读或写持久存储装置的内容。
根据至少一个实施例,虚拟化卸载组件可以包括一个或多个小形状因数可插拔(SFP)端口。此类端口可以用于建立与虚拟化计算服务基底网络和/或其他网络的连接。
根据一些实施例,如早前提及的,虚拟化计算服务的提供商网络可以实现一个或多个其他服务,诸如数据库服务或对象存储服务,这些服务能够使用通过虚拟化计算服务的实例元数据服务(IMDS)指配给计算实例的凭证来从在量子硬件提供商位置中执行的虚拟化计算服务的至少一些计算实例访问。这样的IMDS还可以向在量子硬件提供商位置中执行的计算实例提供其他元数据元素,包括通过虚拟化计算服务指配给计算实例的唯一标识符、用于计算实例的机器映像的标识符(若有的话)、实例的块装置映射信息等。在一些实施例中,可以经由仅可从实例它本身内访问的链路本地HTTP(超文本转移协议)地址从在量子硬件提供商位置中执行的计算实例访问元数据。在至少一个实施例中,可以在虚拟化卸载组件处运行IMDS的代理,并且这种元数据(包括可用于从计算实例访问其他提供商网络服务的凭证)可以由该代理提供。
在一些实施例中,如早前提及的,可以在IVN内设置专用服务端点(PSE),例如,以使得网络业务能够在不使用公共因特网的情况下在IVN的计算实例与其他可公共访问的提供商网络服务之间流动。在至少一个这种实施例中,客户可以定义各种类型的策略并且使其与此类PSE相关联—例如,策略可以指示仅IVN的实例CI1、CI2和CI3被许可使用端点PSE1来访问存储服务SS1处的特定存储对象SO1。在至少一些实施例中,在具有虚拟化卸载组件的边缘计算装置中所包括的量子硬件提供商位置处设置的计算实例可以利用此类PSE和相关策略。
在一些实施例中,用于在量子硬件提供商位置处管理边缘计算装置上的计算实例的虚拟化卸载组件可以提供使用基于数据中心的计算实例来向客户提供的相同弹性、可缩放性、可靠性和安全性。另外,用于在量子硬件提供商位置处管理边缘计算装置上的计算实例的虚拟化卸载组件可以提供对虚拟化计算服务的服务提供商网络的其他服务如虚拟专用云服务(VPC或IVN)、弹性块存储服务(EBS)、负载均衡服务(LBS)、基于对象的存储系统等的无缝访问。
示例量子计算服务
量子计算机构建和操作起来可能既困难又昂贵。另外,关于那种正在开发的量子计算技术可以获得突出地位,开发中的各种量子计算技术尚无明确趋势。因此,量子计算机的潜在用户可能不愿投资于构建或获取特定类型的量子计算机,因为其他量子计算技术可能使潜在量子计算机用户可能投资于的所选量子计算技术黯然失色。另外,成功地使用量子计算机来解决实际问题可能需要相当多的试错并且/或者在使用量子计算机时需要相当多的专业知识。
作为构建并维护量子计算机的替代方案,量子计算机的潜在用户可能替代地更喜欢依靠量子计算服务来提供对量子计算机的访问。另外,在一些实施例中,如本文所描述的量子计算服务可以使得量子计算机的潜在用户能够访问基于多种不同的量子计算技术和/或范例的量子计算机,而无需构建或管理此类量子计算机的成本和资源。另外,在一些实施例中,如本文所描述的量子计算服务可以提供各种服务,这些服务简化使用量子计算机的体验,使得缺少量子力学的深度经验或知识的潜在量子计算机用户可以仍然利用量子计算服务来解决问题。
另外,在一些实施例中,如本文所描述的量子计算服务可以用于补充由服务提供商网络提供的其他服务。例如,量子计算服务可以与经典计算服务交互以执行混合算法。在一些实施例中,量子计算服务可以允许通过向量子计算机发送特定任务以供执行并且然后使用量子计算对象在量子计算机上的执行的结果来进一步执行附加经典计算操作来加速经典计算机。例如,量子计算服务可以允许以类似于图形处理单元(GPU)可以加速图像操作的方式加速在经典硬件上实现的虚拟机,否则将在中央处理单元(CPU)上执行这些图形操作。
在一些实施例中,量子计算服务可以给潜在量子计算机用户提供对使用诸如量子退火器、离子阱机器、超导机器、光子器件等的各种量子计算技术的量子计算机的访问。在一些实施例中,量子计算服务可以给客户提供对包括量子退火器、基于电路的量子计算机和模拟或连续变量量子计算机的至少三种广泛类别的量子计算机的访问。如本文所使用的,可以将这三个广泛类别称为量子计算范例。
在一些实施例中,量子计算服务可以被配置为使用基于经典硬件的计算实例来提供模拟服务以模拟量子电路在量子计算机上的执行。在一些实施例中,量子计算服务可以被配置为执行一般模拟和/或具体地模拟量子电路在特定量子计算机技术类型或范例类型的特定类型量子计算机上的执行的模拟。在一些实施例中,模拟可以通过量子计算服务代表量子计算服务的客户完全地管理。例如,量子计算服务可以在服务提供商网络的虚拟化计算服务上保留足够的计算能力来执行模拟,而无需客户参与管理模拟器用资源的细节。另外,在一些实施例中,量子计算服务可以维护一个或多个“暖”模拟器。“暖”模拟器可以包括在虚拟化计算服务的计算实例上预配置并且已经被实例化的模拟器,使得模拟器准备好按需代表量子计算服务客户执行模拟。
在一些实施例中,量子计算服务可以包括给客户提供对多种量子计算技术的访问的专用控制台。此外,量子计算服务可以提供使得对量子电路设计熟悉程度不同的客户能够设计并执行量子电路的量子算法开发套件。在一些实施例中,量子计算服务的控制台可以包括各种应用可编程接口(API),诸如:
·(Create/Delete/Update/Get/List)Simulator-Configuration—针对模拟器配置对象的创建、读取、更新和删除(CRUD)操作。
·(Start/Cancel/Describe)Simulator—用于控制每个用户定义的模拟器实例。
·(List/Describe)量子处理器单元(QPU)—检索量子计算机硬件信息。
·(Create/Cancel/List/Describe)Task—用于管理个别量子任务/量子对象的生命周期。
在一些实施例中,量子算法开发套件可以包括用于允许量子计算服务的客户使用量子算法开发套件来定义量子对象如量子任务、算法或电路的图形用户接口、API或其他接口。在一些实施例中,量子算法开发套件可以包括使得客户能够与量子计算服务的其他客户共享量子对象的接口选项。例如,量子算法开发套件可以包括允许客户与其他客户共享或销售特定量子对象的市场。
在一些实施例中,量子计算服务可以包括接受由量子计算服务的客户提交的量子对象的公共应用可编程接口(API)。另外地,量子计算服务可以包括非公开的后端API传输。后端API传输可以使得量子电路能够被从实现量子计算服务的集中位置如服务提供商网络的一个或多个数据中心传输到量子电路将被执行所在的特定量子硬件提供商位置处的边缘计算装置。
在一些实施例中,可以将量子电路在量子硬件提供商位置处的量子计算机上的执行的结果提供给在量子硬件提供商位置处的边缘计算装置。边缘计算装置可以将结果自动地传输到服务提供商网络的安全存储服务,其中客户能够使用服务提供商网络的存储服务或经由量子计算服务的控制台访问结果。
在一些实施例中,存储到安全存储服务的结果可以被集成到服务提供商网络中的其他服务如机器学习服务、数据库服务、基于对象的存储服务、块存储服务、数据呈现服务(其将结果重新格式化成更稳定的配置)等无缝地使用。例如,在一些实施例中,机器学习服务可以用于优化量子算法或量子电路。例如,机器学习服务可以使得经由量子计算服务在量子计算机上运行量子算法或量子电路的各种版本。还可以给机器学习服务提供对运行量子算法或量子电路的结果的访问。在一些实施例中,机器学习服务可以使得在基于各种不同的量子计算技术的量子计算机上运行量子算法或量子电路。基于结果,机器学习服务可以确定一个或多个优化以改进量子算法或量子电路。
在一些实施例中,量子计算服务可以支持创建执行量子电路的结果的快照。例如,量子计算服务可以存储混合算法的中间结果的快照或者更一般地可以存储通过在量子计算机上执行量子电路所生成的任何结果的快照。在一些实施例中,硬件提供商位置处的边缘计算装置可以暂时存储结果并且可以创建存储在边缘计算装置上的结果的快照副本。边缘计算装置还可以进一步使快照副本被存储在服务提供商网络的基于对象的数据存储服务中。在一些实施例中,基于客户偏好,可以不执行快照。
图1图示了根据一些实施例的使得客户能够访问使用多种量子计算技术的量子计算机的服务提供商网络的量子计算服务。
服务提供商网络100包括量子计算服务102。在一些实施例中,服务提供商网络100可以包括数据中心、路由器、联网装置等,诸如云计算提供商网络的数据中心、路由器、联网装置等。在一些实施例中,服务提供商网络100和/或量子计算服务102的客户104、106和108和/或附加客户可以以各种方式例如经由公共网络上的逻辑隔离连接、经由公众不可访问的专用私有物理连接、经由公共因特网连接等连接到服务提供商网络100。
在一些实施例中,量子计算服务102可以包括量子算法开发套件114,诸如在图4-9中更详细地描述的。另外,量子计算服务102可以包括转换模块112,如在图10-12中更详细地描述的。
另外,量子计算服务102连接到量子硬件提供商122、124、126和128。在一些实施例中,量子硬件提供商122、124、126和128可以提供在基于各种不同类型的量子计算技术或范例例如基于量子退火、离子阱、超导材料、光子等操作的量子计算机上运行量子对象的访问权。
如在图2中更详细地讨论的,在一些实施例中,服务提供商网络100可以被扩展为包括物理上位于量子硬件提供商位置处例如在量子硬件提供商122、124、126和128的设施中的一个或多个边缘计算装置。将服务提供商网络100的边缘计算装置物理上定位在量子硬件提供商设施处的场所上可以将服务提供商网络100的数据安全和加密扩展到量子硬件提供商122、124、126和128设施中,从而确保客户数据的安全性。此外,将服务提供商网络100的边缘计算装置物理地定位在量子硬件提供商设施处的场所上可以减小服务提供商网络的计算实例与位于量子硬件提供商设施处的量子计算机之间的时延。因此,诸如对网络时延敏感的混合算法的一些应用可以通过量子计算服务102来执行,然而在硬件提供商位置处没有共定位的经典计算能力的其他系统可能具有太高的时延而无法高效地执行此类混合算法。
在一些实施例中,量子计算服务102包括后端API传输模块110。在一些实施例中,后端API传输模块110可以被主要实现在量子计算服务的位于量子硬件提供商位置处的边缘计算装置(诸如图2所图示的边缘计算装置204a、204b、204c和204d)上。另外,在一些实施例中,后端API传输功能性中的至少一些可以被实现在服务提供商网络的实现量子计算服务的一个或多个计算装置(诸如图2所图示的数据中心206a、206b、206c中的计算装置)上。
可以将已由转换模块112转换的量子电路提供给后端API传输模块110以便将经转换后的量子电路传输到相应的量子硬件提供商位置处的量子计算机。在一些实施例中,后端API传输110可以是可由服务提供商网络100的边缘计算装置访问但不是公开可用的非公开API。在一些实施例中,量子硬件提供商122、124、126和128处的边缘计算装置可以对后端API传输110周期性地查验量子计算机服务侧接口以确定是否有等待被传输到边缘计算装置的任何量子电路。如果是这样的话,则边缘计算装置可以执行对后端API传输110的API调用以使量子电路通过私有连接被传输到边缘计算装置并且调度以供在量子计算机上执行。如在图17-18中更详细地讨论的,边缘计算装置可以使量子电路排队以供在边缘计算装置所位于的量子硬件提供商的量子计算机上执行。另外,边缘计算装置可能已被配置有量子机器映像,该量子机器映像使得边缘计算装置能够与边缘计算装置所位于的量子硬件提供商的调度应用接口,以便在量子硬件提供商的量子计算机上调度时隙以经由后端API传输110执行量子电路。
在一些实施例中,可以将在量子硬件提供商位置处的量子计算机上执行量子电路的结果返回给在量子硬件提供商位置处的边缘计算装置。边缘计算装置和/或量子计算服务102可以使结果被存储在服务提供商网络100的数据存储系统中,如在图3中更详细地讨论的。在一些实施例中,结果存储/结果通知模块116可以协调存储结果并且可以通知客户如客户104结果准备好执行客户的量子对象,诸如量子任务、量子算法或量子电路。在一些实施例中,结果存储/结果通知模块116可以使数据存储服务中的存储空间被分配给客户以存储客户的结果。另外,结果存储/结果通知模块116可以指定用于依照客户偏好查看客户的结果的访问限制。
在一些实施例中,使用量子计算服务102的经典硬件118的量子计算模拟器可以用于使用经典硬件来模拟量子算法或量子电路。例如,可以实例化虚拟计算服务如图3所图示的虚拟计算服务326的的一个或多个虚拟机来处理量子算法或量子电路模拟作业。在一些实施例中,使用经典硬件118的量子计算模拟器可以完全地管理执行量子电路模拟的计算实例。例如,在一些实施例中,客户可以提交要模拟的量子电路并且使用经典硬件118的量子计算模拟器可以确定执行模拟作业所需的资源,保留这些资源,配置这些资源等。在一些实施例中,使用经典硬件118的量子计算模拟器可以包括作为预配置模拟器的一个或多个“暖”模拟器,使得它们准备好执行模拟作业,而没有在保留资源和配置资源以执行模拟时通常涉及的延迟。
在一些实施例中,量子计算服务102包括量子硬件提供商推荐/选择模块120。在一些实施例中,量子硬件推荐/选择模块120可以向量子计算服务客户做出关于使用哪种类型的量子计算机或哪个量子硬件供应商来执行由客户提交的量子对象的推荐。另外地或替换地,量子硬件提供商推荐/选择模块120可以接收客户对要用于执行客户的量子对象如由客户提交或用客户输入以其他方式定义的量子任务、量子算法、量子电路等的量子计算机类型和/或量子硬件提供商的选择。
在一些实施例中,由量子硬件提供商推荐/选择模块120提供的推荐可以基于由客户提交的量子对象的一个或多个特性以及通过量子计算服务102支持的量子硬件提供商如量子硬件提供商122、124、126或128中的一个或多个的一个或多个特性。
在一些实施例中,量子硬件提供商推荐/选择模块可以基于关于与由客户提交的量子对象类似的先前执行的量子对象的已知数据来做出推荐。例如,量子计算服务102可以存储关于执行的量子对象的一定量的元数据并且使用此类元数据来做出推荐。在一些实施例中,推荐可以包括由第一量子硬件提供商和第二量子硬件提供商中的每一个执行量子计算任务的估计成本。在一些实施例中,推荐可以包括第一量子硬件提供商和第二量子硬件提供商中的每一个关于执行量子计算任务的估计错误率。在一些实施例中,推荐可以包括针对第一量子硬件提供商和第二量子硬件提供商中的每一个执行量子计算任务的时间的估计长度。在一些实施例中,推荐可以包括与一个或多个量子硬件提供商有关的各种其他类型的信息或以上的任何组合。
在一些实施例中,使用经典硬件118的量子计算模拟器可以允许客户模拟一个或多个特定量子计算技术环境。例如,客户可以在退火量子计算环境和离子阱量子计算环境中模拟量子电路以确定模拟错误率。客户然后可以使用此信息来做出对要用于执行客户的量子电路的量子硬件供应商的选择。
图2图示了根据一些实施例的物理上位于量子硬件提供商位置处的量子计算服务的边缘计算装置。
在一些实施例中,服务提供商网络100,如图1、图2、图3、图13和图20所图示的,可以包括经由私有或公共网络连接彼此连接的一个或多个数据中心。另外,位于量子硬件提供商位置处的边缘计算装置可以经由私有或公共网络连接连接到服务提供商网络。例如,图2所图示的服务提供商网络100包括经由服务提供商网络100的私有物理网络链路彼此连接的数据中心206a、206b和206c。在一些实施例中,服务提供商网络的客户还可以经由不可被公众用于承载网络业务的私有物理网络链路如路由器共定位设施处的物理连接来连接。例如,客户210经由直接连接224连接到与数据中心206c相关联的路由器。以类似方式,位于量子硬件提供商位置处的边缘计算装置可以经由不可用于承载公共网络业务的私有物理网络链路连接到服务提供商网络。
例如,位于量子硬件提供商位置202a处的边缘计算装置204a经由直接连接218连接到数据中心206a处的路由器。以类似方式,量子硬件提供商位置202b处的边缘计算装置204b经由直接连接220连接到数据中心206b处的路由器。另外,量子硬件提供商202c处的边缘计算装置204c经由直接连接222连接到数据中心206c处的路由器。
另外,在一些实施例中位于量子硬件提供商位置处的服务提供商网络的边缘计算装置可以经由共享网络连接上的逻辑隔离网络连接例如经由因特网或另一公共网络连接到服务提供商网络。例如,量子硬件提供商位置202d处的边缘计算装置204d通过网络216经由逻辑隔离网络连接连接到数据中心206c。以类似方式,在一些实施例中客户如客户214可以经由公共网络212连接到服务提供商网络100。
在一些实施例中,诸如量子计算服务102的量子计算服务可以使用数据中心206a、206b、206c等中的任一个中的一个或多个计算装置来实现。另外量子计算服务102可以给客户如客户214或客户210提供对量子硬件提供商位置202a、202b、202c、202d等中的任一个中的量子计算机的访问。例如,客户可以不局限于使用客户所位于的本地区域中的量子硬件提供商。相反,可以向客户分配在位于所选量子硬件提供商位置处的本地边缘计算装置上实例化的计算实例,使得客户的位置不限制客户对基于各种类型的量子计算技术的量子计算机的访问。
图3图示了根据一些实施例的包括量子计算服务、虚拟计算服务和存储服务的服务提供商网络。
服务提供商网络100,如图1、图2、图3、图13和图20所图示的,可以由诸如公司或公共部门组织的实体设置以向客户350提供可经由因特网和/或其他网络访问的一个或多个服务(诸如各种类型的基于云的计算或存储)。服务提供商网络100可以包括托管各种资源主机池的众多数据中心(诸如关于图2描述的数据中心和网络主干),所述资源池如实现和分发由服务提供商网络100提供的基础设施和存储服务所需的物理和/或虚拟化计算机服务器、存储装置、联网设备等(例如,在下面关于图23描述的计算系统2300)的集合。在一些实施例中,服务提供商网络100可以提供计算资源(诸如虚拟计算服务326)、存储服务(诸如基于块的存储服务336(其可以包括各种存储类型,诸如基于对象/键值的数据暂存器或各种类型的数据库系统)和/或任何其他类型的基于网络的服务338。客户350可以经由网络348访问由提供商网络100提供的这些各种服务。同样地,基于网络的服务本身可以彼此通信和/或利用彼此,以提供不同的服务。例如,以称作“实例”的单元(诸如虚拟或物理计算实例或存储实例)提供给客户350的计算资源可以利用其他资源,诸如存储在用于计算实例322a、322b、322c和322c的基于对象的数据存储服务336中的数据。
如上面指出的,虚拟计算服务326可以向客户350提供各种计算实例。在一些实施例中,可以在位于量子硬件提供商位置处的边缘计算装置上实例化此类计算实例。例如,在一些实施例中,资源主机324a、324b、324c或324n中的一个或多个可以是位于量子硬件提供商位置如量子硬件提供商340、342、344和/或346的位置处的边缘计算装置。另外地,虚拟计算实例(例如虚拟机)可以例如被实现在包括具有指定的计算能力(其可以通过指示CPU的类型和数目、主存储器大小等来指定)和指定的软件栈(例如,可以进而在管理程序之上运行的操作系统的特定版本)的一个或多个服务器的一个或多个资源主机324上。在不同的实施例中,可以单独地或相结合地使用许多不同类型的计算装置以实现虚拟计算服务326的计算实例,包括专用计算机服务器、存储装置、网络装置等,诸如位于量子硬件提供商位置处的边缘计算装置。在一些实施例中,实例客户350或任何其他用户可以被配置(和/或授权)为将网络业务引导到计算实例。在各种实施例中,计算实例可以附连或映射到由基于块的存储服务提供的一个或多个数据卷以便获得用于执行各种操作的持久基于块的存储。
计算实例可以操作或实现各种不同的平台,诸如通用操作系统、应用服务器实例、JavaTM虚拟机(JVM)、专用操作系统、支持诸如Ruby、Perl、Python、C、C++等各种解译或编译编程语言的平台、或适合于执行客户端应用而不用例如要求客户350访问实例的高性能计算平台)。
计算实例配置还可以包括具有一般或特定目的的计算实例,诸如用于计算密集型应用的计算工作负载(例如,高业务web应用、广告投放、批处理、视频编码、分布式分析、高能物理、基因组分析和计算流体动力学)、图形密集型工作负载(例如,游戏流传输、3D应用流传输、服务器侧图形工作负载、渲染、金融建模和工程设计)、存储器密集型工作负载(例如,高性能数据库、分布式存储器高速缓存、存储器内分析、基因组汇编和分析)以及存储优化工作负载(例如,数据仓储和集群文件系统)。计算实例的大小,诸如特定数量的虚拟CPU核心、存储器、高速缓存、存储和任何其他性能特性。计算实例的配置还可以包括其在特定数据中心或可用性区中的位置、地理位置等以及(在保留计算实例的情况下)保留期限长度。
在一些实施例中,基于对象的存储服务,诸如基于对象的存储服务336,可以包括存储快照对象和/或其他存储对象的多个资源主机。例如,基于对象的存储服务336包括存储快照对象328a和328b至328n的资源主机330a和330b至330n。另外地,基于对象的存储服务336包括存储存储对象332a和332b至332n的资源主机334a和334b至334n。为了图示的容易,快照对象328和存储对象332被图示为被存储在基于对象的存储服务336的不同的资源主机上。然而,在一些实施例中基于对象的存储服务的同一资源主机,诸如基于对象的存储服务336的资源主机330可以存储存储对象和快照对象两者,例如来自从混合算法的执行的中间结果中取的快照、来自量子计算对象的执行的最后结果、或者来自由基于块的存储服务的目标卷使用来引导计算实例如计算实例322之一的机器映像。另外,基于对象的存储服务336的资源主机330可以存储用于在协调调度量子对象在边缘计算装置所位于的量子硬件提供商位置处的量子计算机上的执行的边缘计算装置处引导计算实例的一个或多个量子机器映像。
另外,服务提供商网络100可以实现其他基于网络的服务338,其可以包括允许客户350以及提供商网络100的其他服务(例如,基于块的存储服务、虚拟计算服务326和/或基于对象的存储服务336)执行或请求各种任务的各种不同类型的分析、计算、存储或其他基于网络的系统。
客户350可以包含可配置为向网络提供商100提交请求的任何类型的客户端。例如,给定客户350可以包括合适版本的web浏览器,或者可以包括被配置为作为由web浏览器提供的执行环境的扩展或在该执行环境内执行的插件模块或其他类型的代码模块。替换地,客户350可以包含应用,诸如数据库应用(或其用户接口)、媒体应用、办公室应用或可以利用提供商网络100中的计算实例322、量子计算服务102或其他基于网络的服务来执行各种操作的任何其他应用。在一些实施例中,这类应用可以包括足够的协议支持(例如,用于合适版本的超文本传输协议(HTTP)),用于生成和处理基于网络的服务请求,而不必实施对所有类型的基于网络的数据的完全浏览器支持。在一些实施例中,客户350可以被配置为根据代表性状态转移(REST)风格的基于网络的服务架构、基于文档或消息的基于网络的服务架构或另一合适的基于网络的服务架构来生成基于网络的服务请求。在一些实施例中,客户350(例如,计算客户端)可以被配置为以对利用由计算实例322提供的计算资源或由存储对象332提供的存储在客户350上实现的应用透明的方式提供对计算实例322或数据存储对象332的访问。
客户350可以经由外部网络348将基于网络的服务请求传达给服务提供商网络100。在各种实施例中,外部网络348可以包含在客户350与服务提供商网络100之间建立基于网络的通信所必需的联网硬件和协议的任何适合的组合。例如,网络348可以通常包含共同地实现因特网的各种电信网络和服务提供商。网络348还可以包括专用网络如局域网(LAN)或广域网(WAN)以及公共或专用无线网络。例如,给定客户350和服务提供商网络100都可以分别在具有它们自己的内部网络的企业内供应。在这样的实施例中,网络348可以包括在给定客户350与因特网之间以及在因特网与服务提供商网络100之间建立联网链路所必需的硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等)。应注意,在一些实施例中,客户350可以使用专用网络而不是公共因特网如如图2中描述的直接连接来与服务提供商网络100进行通信。
图4图示了根据一些实施例的示例量子计算服务量子算法开发套件接口。
在一些实施例中,量子算法开发套件可以支持用于定义量子电路的多个范例。例如,可以为在设计量子电路方面具有不同专业知识水平的客户定制不同的范例。
例如,经验不足的客户可以选择基于问题域的范例。例如,客户可以选择问题域量子任务按钮406来显示用于设计量子电路的基于问题域的接口。基于问题域的接口可以包括为执行与一个或多个相应的问题域相关联的特定功能而设计的预配置量子算法。量子计算服务的客户可以为待由客户解决的问题选择适用的问题域。另外在给定问题域内,客户可以从用于所选问题域的预配置量子算法中选择一个或多个预配置量子算法以便将要通过量子计算服务执行的量子算法定义为量子计算对象,诸如量子电路。例如,图5图示了当问题域量子任务设计选项406被选择时量子算法开发套件114的示例视图。在一些实施例中,量子任务/算法/电路设计空间404可以显示当前经由给定所选设计范例定义的量子对象。
作为另一示例,中间级客户可以选择方便的量子算法设计范例。方便的量子算法设计范例可以被配置为使得量子计算服务102方便使用客户可配置的构件的量子电路的设计,而无需客户理解设计量子电路的所有细微差别。例如,客户可以选择方便的量子算法设计按钮408来显示用于设计量子电路的基于量子算法的接口。基于量子算法的接口可以包括被配置为彼此布置以形成量子算法的预配置量子逻辑元素,其中量子计算服务的客户选择和/或布置预配置量子逻辑元素以定义要通过量子计算服务作为量子计算对象执行的特定量子算法。例如,图6图示了当方便的量子算法设计选项408被选择时量子算法开发套件114的示例视图。在一些实施例中,量子任务/算法/电路设计空间404可以显示当前经由方便的量子算法设计选项408定义的量子对象。
另外地,作为另一示例,更有经验的客户可以选择详细的基于量子电路的设计范例。例如,基于量子电路设计的范例可以赋予客户更大的控制权来定制量子电路的参数,但是还可能要求客户对量子计算机有更多的了解,以便能够使用基于量子电路的设计范例成功地设计量子电路。例如,客户可以选择详细的量子电路设计按钮410来显示用于设计量子电路的基于量子电路的接口。基于量子电路的接口可以包括量子算符和连接器,其中量子计算服务的客户组合量子算符和连接器以定义要通过量子计算服务102作为量子计算对象执行的特定量子电路。例如,图7图示了当详细的量子电路设计选项410被选择时量子算法开发套件114的示例视图。在一些实施例中,量子任务/算法/电路设计空间404可以显示当前经由详细的量子电路设计选项410定义的量子电路。
另外地,诸如量子算法开发套件114的量子算法开发套件可以包括用于模拟正在设计的量子电路的选项,其中模拟使用经典硬件来执行,诸如如图3中描述的虚拟计算服务的计算实例。例如,量子算法开发套件114包括模拟按钮412。另外,量子算法开发套件114可以包括推荐按钮,诸如成本/性能估计/推荐按钮414。例如,选择成本/性能估计/推荐按钮414可以使客户被提供有正在设计空间404中设计的量子任务/算法/电路的性能的估计以及使用各种量子硬件提供商来执行该任务/算法/电路的估计成本。在一些实施例中,选择成本/性能估计/推荐按钮414可以使客户被提供有用于执行使用各种量子计算范例来设计的任务/算法/电路的性能和成本估计、量子计算机的类型或量子计算机供应商。另外地,在一些实施例中,选择成本/性能估计/推荐按钮414可以使客户被提供有关于要选择哪个量子计算范例、量子计算机类型或量子硬件提供商来执行正在设计的任务/算法/电路的推荐。
在一些实施例中,客户可以经由量子硬件提供商选择按钮416选择用于执行正在设计的任务/算法/电路的量子计算范例、量子计算机类型和/或量子硬件提供商。例如,客户可以指定要使用退火量子计算范例、基于电路的量子计算范例或模拟或连续变量量子计算范例。作为另一示例,客户可以指定要使用退火量子计算技术、离子阱量子计算技术、超导量子计算技术、基于光子的量子计算技术等。另外,一些客户可以指定特定量子硬件供应商并且可以甚至指定要在特定量子硬件提供商处使用的特定范例或技术。
例如,在客户与量子算法开发套件之间交换以设计并执行量子任务/算法/电路的一组交互可以包括420至434中示出的交互。
例如,在420客户418可以选择要用于定义要提交给量子计算服务以便在量子硬件提供商的量子计算机或模拟器上执行的量子对象(例如,量子任务/算法/电路)的设计范例。在422,客户418可以使用所选择的设计范例来为量子对象提供定义。例如,客户418可以使用可用于在不同的设计范例中使用的各种工具来在设计空间404中定义量子对象。
在424,客户418可以通过选择模拟按钮412来请求模拟在设计空间404中定义的量子对象。在426,量子算法开发套件114可以给客户418提供模拟结果。例如,可以将模拟结果显示在设计空间404中。另外,在428量子算法开发套件114可以给客户418提供性能/成本估计和/或推荐。例如,响应于客户418选择成本/性能估计/推荐按钮414。
在430,客户418可以选择要用于执行由客户418定义的量子对象的量子硬件提供商和/或量子计算机类型。在一些实施例中,响应于模拟结果和/或性能和成本估计,客户418可以返回到422并且修改量子对象定义。另外,虽然未示出,但是客户418可以在模拟所选择的量子硬件提供商和/或量子计算机技术类型的性能的模拟器上另外地模拟所定义的量子对象。例如,模拟器可以执行具体地模拟使用特定量子计算范例、特定量子计算技术或特定量子硬件提供商等来执行所定义的量子对象的模拟。
如果客户418对客户的量子对象的定义满意,则在432客户418可以提交所定义的量子对象(例如,量子任务、量子算法、量子电路)以在所选择的量子硬件提供商上执行。量子计算服务可以将量子对象(例如量子任务、量子算法、量子电路)转换成被转换成适合于在所选择的量子硬件提供商的量子计算机上执行的格式的量子电路。在一些实施例中,量子算法开发套件可以基于量子对象(例如量子任务、量子算法、量子电路)的特性和量子硬件提供商处的量子计算机的性质和/或基于诸如负载平衡、成本等的其他考虑事项自动地选择用于执行客户的量子对象的量子硬件提供商。因此,在一些实施例中,客户可以简化定义量子对象并且提交所定义的量子对象以供执行。
一旦已执行了量子对象并且已生成了结果,量子计算服务就可以在434通知客户418结果可用。在一些实施例中,诸如当执行混合量子计算算法时,可以将结果通知呈现给执行混合算法的经典计算部分的经典计算机,并且可以在混合算法已完成时通知客户,但是不一定针对生成中间量子计算结果的混合算法的每一步通知客户。
图5图示了根据一些实施例的显示问题域设计范例的示例量子计算服务量子算法开发套件接口。
在一些实施例中,当问题域设计范例被选择时,量子算法开发套件114可以给客户提供多个问题域以从中选择。例如图5图示了在问题域量子任务设计按钮406被选择情况下的量子算法开发套件114。量子算法开发套件呈现量子任务设计空间504以及多个问题域以供客户从中选择。例如,量子算法开发套件114提供针对以下各项的问题域选项:化学域516、物理域518、制药域520、生物技术域522、医学建模域524、信息安全域526、机器学习域528、过程模拟域530、物理建模域532、优化问题域534和/或其他问题域536。注意,图5所示的问题域是作为可以由量子算法开发套件114支持的示例问题域提供的并且不应该被解释为可以被支持的所有问题域的详尽列表。
量子算法开发套件114可以被配置为基于哪个问题域被选择来给客户提供域特定设计工具514。例如,如果化学域516被选择,则域特定工具514可以包括通常用于解决化学相关问题的预配置量子算法。以类似方式,如果物理域518被选择,则域特定工具514可以包括通常用于解决物理相关问题的预配置量子算法。如果问题域中的其他问题域被选择,则可以相应地调整域特定工具514以包括对解决给定所选问题域中的问题有用的预配置量子算法。
在一些实施例中,选择域特定工具514中的工具中的特定一个可以使预配置量子算法元素被添加到正在量子任务设计空间504中设计的量子对象(例如量子任务/算法/电路)。客户然后可以修改预配置量子算法元素,将其与其他预配置量子算法元素一起布置以定义量子对象,或者向预配置量子算法元素或正在定义的整个量子对象提供输入参数或其他参数。
在一些实施例中,客户可以保存在量子任务设计空间504中设计的量子对象以供以后使用。另外,在一些实施例中,客户可以将在量子设计空间504中设计的量子对象贡献给共享应用,诸如使得量子计算服务的其他客户能够使用量子对象的市场。例如,化学客户可以定义用于确定特定分子的能量状态的量子对象并且可以选择预配置解决方案市场按钮512以将用于确定特定分子的能量状态的量子对象提交给共享市场。这可以允许量子计算服务的其他客户使用已经定义的量子对象来解决类似问题。另外,在一些实施例中,当另一客户使用客户的预定义量子对象时可以对客户进行补偿。在其他实施例中,预配置解决方案市场可以是开源的,使得客户准许访问客户的预定义量子对象,以预期能够访问由其他客户定义的其他量子对象以解决其他问题,诸如确定其他分子的能量状态。
在一些实施例中,客户可以从预配置解决方案市场中选择预定义量子对象并且可以进一步修改预定义量子对象或者将与其他元素组合以形成新的量子对象。可以在量子任务设计空间504中做这个。客户然后可以使得在量子计算机上执行经修改后的量子对象并且/或者将经修改后的量子对象提供回给预配置解决方案市场。
图6图示了根据一些实施例的显示量子算法设计范例的示例量子计算服务量子算法开发套件接口。
作为另一示例,客户可以选择使用量子算法设计范例来定义要经由量子计算服务执行的量子对象。例如,图6图示了在方便的量子算法设计按钮408被选择情况下的量子算法开发套件114。在此设计范例中,量子算法设计空间604可以显示由客户正在设计的量子算法。作为量子算法的示例,量子算法设计空间图示可以由客户进一步修改或使用来定义量子对象的Shor算法的示例视图。
当量子算法设计范例被选择时,可以显示诸如618、620和622的量子算法逻辑元素选择选项。客户可以选择选项之一,诸如常用算法元素618以使常用算法元素被显示在量子算法设计空间604的底部处的算法元素614中。客户然后可以选择算法元素614中所包括的量子算法逻辑元素以在设计空间604中定义量子对象(例如量子算法)。另外,客户可以通过选择算法市场选项612来向算法市场提供定义的量子算法或者使用来自量子算法市场的量子算法。
图7图示了根据一些实施例的显示量子电路设计范例的示例量子计算服务量子算法开发套件接口。
作为另一示例,客户可以选择使用量子电路设计范例来定义要经由量子计算服务执行的量子对象。例如,图7图示了在详细的量子电路设计410被选择情况下的量子算法开发套件114。在此设计范例中,量子电路设计空间704可以显示由客户正在设计的量子电路。作为量子电路的示例,量子电路设计空间图示了如图6所示使用门代替逆量子傅里叶变换转换成量子电路的Shor算法的示例视图。在量子电路设计范例中,客户可以选择和/或布置特定量子门来定义量子对象。对于不使用门的一些量子计算范例,诸如退火,可以在详细的设计空间中使用其他类型的量子算符来定义要通过量子计算服务执行的量子对象。
当量子电路设计范例被选择时,可以显示诸如724、726和728的量子门选择选项。在一些实施例中,客户可以提交他们自己的定制门类型,例如经由选项728。
客户可以选择选项之一,诸如门类型724以使所选择的门类型的量子门被显示在门720至门722中,这些门可以包括任何数量的门。另外,量子电路设计范例可以包括连接器工具714、节点工具716和测量工具718。这些工具可以用于将连接器、节点和测量点添加到正在量子电路设计空间704中设计的量子电路。在一些实施例中,客户可以通过选择定制门/电路市场选项712来向定制门/电路市场提供定义的量子电路或客户的定制门类型或者使用来自定制门/电路市场的量子电路或门。
图8图示了根据一些实施例的用于使用量子算法开发套件接口来设计量子任务、算法或电路的示例流程图。
在802,量子计算服务向量子计算服务的客户提供量子算法开发套件,诸如量子算法开发套件114。
在804,量子计算服务接收客户对要用于定义待通过量子计算服务执行的量子对象如待使用量子硬件提供商的量子计算机来通过量子计算服务执行的量子任务、量子算法或量子电路的优选设计范例的选择。
如果在806确定了问题域设计范例被选择,则量子计算服务在808向客户提供问题域接口。在810,量子计算服务经由问题域接口提供针对多个问题域的选项。在812,量子计算服务接收客户对要用于定义待通过量子计算服务执行的量子对象的问题域的选择。在814,量子计算服务向客户提供针对所选择的问题域的预配置量子计算对象,诸如预配置量子算法,以定义待通过量子计算服务执行的量子对象。
如果在816确定了辅助量子算法定义设计范例被选择,则量子计算服务在818将该辅助量子算法定义接口提供给客户。在820,量子计算服务经由辅助量子算法定义接口向客户提供预配置量子逻辑元素。在822,量子计算服务接收定义待通过量子计算服务执行的量子对象的量子逻辑元素的所选组合。
如果在824确定了用户引导的量子电路定义设计范例已被选择,则量子计算服务在826向客户提供用户引导的量子电路定义接口。在828,量子计算服务经由用户引导的量子电路定义接口接收定义特定量子电路的用户输入。
图9图示了根据一些实施例的经由量子算法开发套件接口定义的量子任务、算法或电路变成量子计算技术特定表示的示例转换。
在902,量子计算服务接收待使用量子硬件提供商的量子计算机来通过量子计算服务执行的量子对象的定义。例如,量子对象可以是经由问题域范例接口定义的量子任务、经由量子算法设计接口定义的量子算法、经由量子电路设计接口定义的量子电路等。
在904,量子计算服务向客户提供有关要用于执行量子对象的推荐量子硬件提供商的推荐。
在906,量子计算服务接收客户对要用于执行量子对象的量子硬件提供商的选择。在一些实施例中,选择可以简单地接受量子计算服务的推荐,或者可以指定各种细节,诸如使用什么类型的量子计算机技术或要用于执行客户的量子对象的特定量子硬件提供商。
量子计算服务然后可以将如由客户在对通过量子计算服务支持的各种量子技术和量子硬件供应商中立的中间表示中定义的量子对象自动地转换成由所选择的量子硬件提供商支持的特定量子电路格式。
例如,如果在908选择了第一量子硬件供应商,则在910量子计算服务可以将由客户定义的量子对象转换成与基于退火的量子计算机兼容的量子电路表示。
作为另一示例,如果在912选择了第二量子硬件供应商,则在914量子计算服务可以将由客户定义的量子对象转换成与基于离子阱的量子计算机兼容的量子电路表示。
作为另一示例,如果在916选择了第三量子硬件供应商,则在918量子计算服务可以将由客户定义的量子对象转换成与基于超导的量子计算机兼容的量子电路表示。
作为另一示例,如果在920选择了第四量子硬件供应商,则在922量子计算服务可以将由客户定义的量子对象转换成与基于光子的量子计算机兼容的量子电路表示。
作为另一示例,如果在924选择了第N量子硬件供应商,则在926量子计算服务可以将由客户定义的量子对象转换成与基于第N的量子计算机兼容的量子电路表示。注意,“N”用于表示在一些实施例中,量子计算服务可以支持任何数量的量子计算技术。
从中间表示到量子计算技术特定表示的转换的示例
在一些实施例中,量子计算服务可以使用中间表示来定义量子对象,然后在使量子电路变得可用于被传输到量子硬件提供商位置处的边缘计算装置以供在量子硬件提供商的量子计算机上执行之前将量子对象转换成量子硬件特定的量子电路表示。
例如,量子计算服务可以支持基于电路的量子计算机和基于退火的量子计算机两者(其使用与基于电路的量子计算机不同的语言来定义量子任务)。例如,通过量子计算服务支持的每种量子计算技术可能不支持所有门。因此量子计算服务可以将在特定量子计算技术中支持的量子算符转换成另一量子计算技术中的等效表示。例如,在基于电路的量子计算技术中定义的门可以在基于退火的量子计算技术中不具有类似门。因此,量子计算服务可以将基于电路的门转换成在退火量子计算技术中具有类似功能性的等效表示。在一些实施例中,为了提供具有类似功能性的表示,可以将第一量子计算技术中的单个门转换成第二量子计算技术中的门或量子算符的序列。另外地,在用量子算符取代等效表示之后,量子计算服务可以执行一个或多个操作以确定在不显著地影响功能性的情况下是否能够减小经转换后的量子电路表示的量子算符计数。例如一些门集可以用更少的门替换。
另外,在一些实施例中量子计算服务可以将量子对象的中间表示转换成要在量子计算机模拟器上执行的表示。在一些实施例中,模拟器可以支持一组定义的量子算符,其可以从由特定量子计算技术量子计算机支持的一组量子算符变化。
在一些实施例中,量子计算服务可以支持将客户定义的门转换成在特定量子计算技术中可用或在特定量子硬件供应商处可用的一个或多个量子算符的集合。
在一些实施例中,量子计算服务可以给客户提供对转换后的量子电路表示的访问,因为它将在量子硬件提供商处被执行。这可以协助客户故障排除和设计客户的量子电路。
在一些实施例中,量子计算服务可以进一步包括基于特定类型的量子计算硬件的特性来优化经转换后的量子电路的硬件特定优化器。
在一些实施例中,量子计算服务可以将中间表示中的量子对象转换成两个或更多个量子硬件特定的量子电路表示。例如,客户可能期望使用两种不同类型的量子计算机来执行量子对象。在这样的情况下,量子计算服务可以自动地将客户的量子对象转换成第一量子电路表示和第二量子电路表示,每个量子电路表示适合于两种不同类型的量子计算机中的相应一种。
图10图示了根据一些实施例的量子任务、算法或电路的中间表示变成多个支持的量子计算技术表示中的任一个的示例转换。
例如,图10图示了量子对象1002,其是在1004处被转换成多个量子计算技术特定表示如退火量子计算机兼容表示1006、离子阱量子计算机表示1008、超导量子计算机兼容表示1010、基于光子的量子计算机兼容表示1012和/或另一量子计算机兼容表示1014的量子算法。
图11A图示了根据一些实施例的涉及量子计算服务接收、转换和执行量子任务、算法或电路的过程。
在1102,量子计算服务接收量子对象,诸如量子计算任务/算法/电路,其中量子计算对象是根据通过量子计算服务支持的中间表示来定义的。
在1104,量子计算服务将量子计算任务/算法/电路从中间表示转换为与和量子计算服务相关联的多个量子硬件提供商之一相对应的量子硬件提供商特定表示。例如,可以将量子计算任务/算法/电路转换成由与量子计算服务联属的量子硬件提供商中的特定一个支持的格式的量子电路。
在1106,量子计算服务将经转换后的量子计算电路提供给位于所选择的量子硬件提供商的设施处的量子计算服务的边缘计算装置。
在1108,边缘计算装置接收在所选择的量子硬件提供商的量子计算机上执行量子计算电路的结果。
在1110,量子计算服务向客户提供量子计算任务/算法/电路已被执行的通知。
图11B图示了根据一些实施例的可以被执行来将量子任务、算法或电路从中间表示转换为量子计算技术特定表示的附加步骤。
在一些实施例中,如在1104描述的转换可以进一步包括1120、1122、1124和1126的步骤。
在1120,量子计算服务的转换模块,诸如量子计算服务102的转换模块112,标识与量子算符相对应的量子计算任务/算法/电路的部分。
在1122,转换模块用与选择的量子硬件提供商的量子计算技术相对应的量子算符取代中间表示中的量子算符。
在1124,转换模块执行一个或多个量子电路优化以减少经转换后的量子电路中的量子算符的总数。
在1126,转换模块将经转换后的量子电路提供给后端API传输以便递送到所选择的量子硬件提供商处的边缘计算装置。
图12图示了根据一些实施例的示例量子电路优化过程。
在一些实施例中,为了执行优化,转换模块在1202标识量子电路的转换后的版本中的一个或多个门集,其能够用具有等效功能性的更小门集替换。
在1204,转换模块替换或组合经标识的门。在1206,转换模块可以可选地模拟经修改后的量子电路以验证等效功能性。在1208,转换模块可以经由后端API传输提供经优化的转换量子电路以供执行。在一些实施例中,可以在将量子对象传输到量子硬件提供商位置处的边缘计算装置之前执行如本文所描述的转换。然而,在其他实施例中,转换可以由量子硬件提供商位置处的边缘计算装置执行。
位于量子硬件提供商位置处的示例边缘计算装置
图13图示了根据一些实施例的连接到量子计算服务的示例边缘计算装置。
服务提供商网络100和量子计算服务102可以类似于本文描述的服务提供商网络和量子计算服务,诸如在图1-3中。另外,边缘计算装置1352可以是与先前描述的边缘计算装置中的任一个类似的边缘计算装置,诸如在图1-3中。边缘计算装置1352经由网络连接1300连接到服务提供商网络100,所述网络连接可以是经由公共网络的逻辑隔离网络连接、专用物理非公共网络链路或其他合适的网络连接。
边缘计算装置1352包括网络管理器1358、存储管理器1360和虚拟机控制平面1356。在一些实施例中,这些组件可以被实现在虚拟化卸载组件上,所述虚拟化卸载组件如在下面关于图19和图20更详细地描述并且还在上面描述的虚拟卸载卡。
在一些实施例中,边缘计算装置的后端应用可编程接口(API)传输,诸如边缘计算装置1352的后端API传输1354可以查验量子计算服务以确定是否有等待被传输到边缘计算装置的量子电路。边缘计算装置可以进一步使用非公开后端API传输,诸如后端API传输1354以将量子电路带入边缘计算装置1352。
另外地,对于每个客户,量子计算服务的边缘计算装置的后端API传输,诸如边缘计算装置1352的后端API传输1354,可以使虚拟机被实例化以管理从后端API拉入边缘计算装置的给定量子电路的调度和结果。例如,虚拟机1370可以作为用于量子计算服务的给定客户的量子硬件提供商的接口。边缘计算装置可以直接连接到量子硬件提供商位置处的本地非公用网络并且可以与量子硬件提供商的调度组件接口以调度量子硬件提供商的量子计算机上的可用性(例如时隙)。
在一些实施例中,虚拟机1370可以用支持与量子硬件提供商的调度组件接口的特定量子机器映像来引导。
在一些实施例中,虚拟机1370可以用量子电路排队组件1372、量子电路调度组件1376、管理边缘计算装置上的本地存储桶以临时存储结果的组件(诸如临时桶1374和结果管理器1378)来引导。
在一些实施例中,诸如边缘计算装置1352的边缘计算装置可以支持多租户。另外,在一些实施例中,边缘计算装置1352还可以实例化执行经典计算任务如混合算法的经典计算部分的虚拟机。例如,边缘计算装置1352还包括执行混合算法的经典计算部分的用于另一客户的虚拟机1362以及作为用于另一客户的量子硬件提供商接口的用于另一客户的附加虚拟机1364。
在一些实施例中,位于量子硬件提供商位置处的边缘计算装置的后端API传输可以与实现量子计算服务的一个或多个计算装置所位于的远程位置处的计算装置/路由器的后端API传输接口110接口。
注意,边缘计算装置1352可以物理上位于量子硬件提供商场所1350处,诸如在量子硬件提供商设施的建筑物中。
在一些实施例中,虚拟机1370的组件可以被包括在后端API传输1354中,并且后端API传输1354可以执行后端API传输内的相关组件而不使单独的VM 1370被实例化。
图14图示了根据一些实施例的量子计算服务与该量子计算服务的边缘计算装置之间的示例交互。
边缘计算装置1352的后端API传输1354可以向量子计算服务102提交查验1402、1404、1406等以确定是否有要传输到边缘计算装置1352的量子计算电路。在1408,量子计算服务102可以向边缘计算装置1352指示有准备好被传输到边缘计算装置1352的转换后的量子电路。作为响应,后端API传输1354可以使虚拟机控制平面1356实例化虚拟机1370以作为用于客户到量子硬件提供商的接口。在1410,VM 1370可以调用后端API传输1354从而请求经转换后的量子电路。作为响应,在1412,后端API传输1354可以使经转换后的量子电路被传输到VM 1370的队列1372。在一些实施例中,代替轮询协议的查验,边缘计算装置1352可以使用各种其他技术来确定是否有准备好被传输到边缘计算装置1352的量子计算电路。另外,在一些实施例中,给定量子硬件提供商可以包括不止一个量子计算机和/或各种类型的量子计算机。在此类实施例中,到QHP的后端API传输和/或VM接口可以将要在量子硬件提供商处执行的量子电路路由到量子硬件提供商处指配的量子计算机。
图15A图示了根据一些实施例的用于将量子电路从量子计算服务输送到该量子计算服务的边缘计算装置的示例过程。
在1502,边缘计算装置联系(例如,查验)量子计算服务以确定是否有等待被传输到特定量子硬件提供商位置的转换后的量子电路。
如果在1504确定存在未决的量子电路,则在1506,边缘计算装置使用量子计算服务的后端API将量子电路传输到量子硬件提供商位置处的边缘计算装置。
图15B图示了根据一些实施例的用于调度由位于量子硬件提供商位置处的量子计算服务的边缘计算装置在量子计算机上对量子电路的执行的示例过程。
在1510,边缘计算装置在后端API传输接收量子电路。在1512,在边缘计算装置上实例化的量子硬件提供商接口VM 1370的调度器1376协调调度量子硬件提供商位置处的量子计算机上的时隙以使用量子电路来执行量子任务。另外,同时VM 1370使量子电路被存储在等待时隙的队列1372中。
在1516,VM 1370使量子电路被提交给量子计算机以被执行,其中量子电路经由到量子硬件提供商的本地非公用网络的连接提交。
图15C图示了根据一些实施例的用于处理由位于量子硬件提供商位置处的量子计算服务的边缘计算装置在量子计算机上对量子电路的执行的结果的示例过程。
在1520,由VM 1370实现的临时桶1374使用所提交的量子电路来接收一个或多个量子作业的执行的结果。
在1522,结果管理器1378可选地使结果的快照被存储到数据存储服务,诸如图3所图示的数据存储服务336。
在1524,结果管理器1378使执行一个或多个量子作业的最后结果被存储在服务提供商网络的数据存储系统如图3所图示的数据存储服务336中。
图16图示了根据一些实施例的用于将附加量子计算技术作为支持的量子计算技术添加到量子计算服务的示例过程。
在1602,量子计算服务接收来自客户的要使用量子计算服务当前不支持的特定量子计算技术来执行量子电路的请求。
在1604,量子计算服务标识支持所请求的量子计算技术的量子硬件提供商。在1606,量子计算服务接收和/或量子硬件提供商生成针对特定量子硬件提供商的量子机器映像。
在1608,量子计算服务将预配置边缘计算装置运送到量子硬件提供商,其中预配置边缘计算装置被配置有量子机器映像。
在1610,在量子计算服务已连接到量子硬件提供商处的本地网络连接之后,量子计算服务在量子计算服务与预配置边缘计算装置之间建立连接。
在1612,量子计算服务将支持特定量子计算技术的量子硬件提供商添加为量子计算服务的可用选项。
用于执行混合算法的示例配置
在一些实施例中,诸如图3中描述的虚拟计算服务326的虚拟化计算服务可以包括位于量子硬件提供商处的边缘计算装置,其中边缘计算装置作为资源被包括在虚拟化计算服务中。边缘计算装置可以部分地充当虚拟化计算服务的附加资源主机。诸如计算实例322(示出在图3中)的计算实例可以被分配给特定量子硬件提供商位置处的边缘计算装置上的客户。在边缘计算装置上实现的计算实例可以执行量子计算混合算法的经典计算部分,其中同样位于具有边缘计算装置的量子硬件提供商位置处的量子计算机执行量子计算混合算法的量子计算部分。在一些实施例中,除了在量子硬件提供商位置处实现后端API传输的边缘计算装置之外,这样的边缘计算装置还可以被包括在量子硬件提供商位置处。另外,在一些实施例中,量子硬件提供商处的单个边缘计算装置可以实现后端API传输和执行量子计算混合算法的经典计算部分的计算实例。
在一些实施例中,量子计算混合算法可以包括经典计算部分,该经典计算部分包括确定命令/作业将被提交给什么量子电路并且什么参数将被供应给所选择的量子电路的经典计算命令的环。另外,混合算法的经典计算部分可以接收来自在量子计算机上执行的作业的结果,然后决定将被发送到量子计算机的后续量子电路和/或后续命令/作业以及什么参数将被供应。例如,可以基于从量子电路接收到的结果来修改发送到量子电路的第一参数集,然后可以将已基于结果修改的修改后的参数集发送回到量子电路。另外,结果可以提示要对于后续命令/作业使用不同或修改后的量子电路。在一些实施例中,可以执行100、1,000、1,000,000次此类迭代。在一些实施例中,经典计算机与量子计算机之间的低时延可能是高效地执行此类混合算法所必需的。在一些实施例中,在物理上与量子计算机极为接近定位的边缘计算装置上执行混合算法的经典计算部分可以减小此类时延,使得可以执行先前不可能的混合算法。
另外,在一些实施例中,可以在给定边缘计算装置上给客户供应多个计算实例,其中这些计算实例(例如虚拟机)中的不同计算实例执行不同混合算法或同一混合算法的不同作业。在一些实施例中,虚拟化计算服务可以自动地按比例放大或缩小分配给计算实例的资源以执行混合算法的经典部分。另外,虚拟化计算服务可以基于执行混合算法所需要的资源自动地缩放分配给客户的计算实例的数量。例如,在一些实施例中,可以为客户分配在位于量子硬件提供商位置处的一个或多个边缘计算装置上实现的计算实例的集群。在一些实施例中,混合算法的经典计算部分的一些作业可以由虚拟化计算服务的位于数据中心中并且经由高速连接(诸如非公用专用物理网络链路,诸如直接连接)连接到边缘计算装置的其他计算实例来执行。
在一些实施例中,位于量子硬件提供商处的边缘计算装置的过量计算能力可以作为分配给量子硬件提供商的计算实例被提供给量子硬件提供商。在一些实施例中,量子硬件提供商可以将一些计算任务外包给此类计算实例。在一些实施例中,可以将计算实例毫无保留地分配给量子硬件提供商,使得如果需要按比例扩大客户的执行混合算法的虚拟机,则可以出于此目的回收资源。
例如,可以使用利用共定位边缘计算装置来支持混合算法执行的量子计算服务来执行的示例混合算法是变分量子本征求解器算法。
另外在一些实施例中,客户可以定义要用于将用于执行混合算法的经典计算部分的虚拟机的机器映像实例。客户可以将机器映像保存到服务提供商网络的数据存储服务,诸如与虚拟计算服务相关联的块存储服务,并且虚拟计算服务可以使用由客户提供的机器映像来引导客户的虚拟机。
图17图示了根据一些实施例的在位于量子硬件提供商位置处的量子计算服务的边缘计算装置上实现的经典计算机与量子硬件提供商位置处的量子计算机之间的示例交互。
图17图示了第一虚拟机1702和第二虚拟机1710。在一些实施例中,VM 1702和VM1710可以是在位于量子硬件提供商处的边缘计算装置上实现的两个虚拟机。另外,VM1720还可能被实现在量子硬件提供商处的同一边缘计算装置上,或者可以被实现在量子硬件提供商处的单独边缘计算装置上。在一些实施例中,可以将VM 1702和VM 1710分配给同一客户以执行混合算法或多个混合算法的两个不同的作业。另外,在一些实施例中,量子硬件提供商位置处的边缘计算装置可以支持多租户,并且可以将VM 1702和VM 1710分配给不同的客户。
在一些实施例中,VM 1702包括执行混合算法的经典计算部分的应用/环境/模块1704。另外,VM 1702可以包括访问存储在边缘计算装置的存储器中的结果数据的本地存储桶1706。另外地,VM 1702包括与虚拟机3后端API传输1720协调以将量子计算任务提交给后端API传输的后端API传输接口1708。后端API传输1720可以包括量子计算电路队列1122和临时结果存储1124,类似于如图11中所描述的。实现后端API传输1720的虚拟机3可以协调调度从VM 1702提交以在与实现VM 1702、1710和1720的一个或多个边缘计算装置共位于量子硬件提供商设施处的量子计算机1726上执行的量子计算任务。
在一些实施例中,VM 1710可以包括与VM 1702类似的组件。例如,VM 1710可以包括经典计算应用/环境/模块1712、本地存储桶1714和后端API传输接口1716。在一些实施例中,VM 1702和/或VM 1710可以包括快照模块1718,其使混合算法在量子计算机1726上的执行的中间结果的快照被存储为快照。可以将快照存储到远程数据存储服务,诸如存储在图3所图示的基于对象的存储服务336中的快照对象328。
在一些实施例中,在“步骤A”经典计算模块1704可以向后端API传输接口1708提交作业/命令。这可以使得在“步骤B”将作业和/或相关量子电路添加到量子计算电路队列1122。然后,在“步骤C”,后端API传输1720可以使作业被提交给量子计算机1726。在“步骤D”,后端API传输1720可以接收执行作业的结果并且在“步骤E”经由本地存储桶1706向经典计算模块1704提供结果的在本地存储的版本。经典计算模块1704然后可以使用结果来生成下一个命令/作业并且在“步骤F”将下一个命令/作业提交给后端API传输接口1708,这在“步骤G”可以使下一个作业/量子电路被添加到量子计算电路队列1122。在“步骤H”后端API传输1720可以使得在量子计算机1726上执行下一个作业/命令,并且在“步骤I”可以将结果返回到后端API接口1720。在“步骤J”可以经由本地存储桶1706将结果提供给经典计算模块1704。在一些实施例中,可以重复此过程100、1,000或10,000次等,直到满足一个或多个阈值,诸如完成优化问题。
图18图示了根据一些实施例的用于使用位于量子硬件提供商位置处的量子计算服务的边缘计算装置来执行混合算法的示例过程。
在1802,量子计算服务使得在物理上位于量子硬件提供商位置处并且连接到量子硬件提供商的本地网络的边缘计算装置的经典计算硬件上实例化虚拟机。
在1804,量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法。例如,在一些实施例中,图4所图示的量子算法开发套件114可以进一步包括用于定义量子算法的设计范例。在此类实施例中,客户可以定义量子算法并且提交该量子算法以供执行,这进而可以使图18中描述的过程通过量子计算服务代表客户执行。
在1806,量子计算服务使得在经实例化的虚拟机上执行混合算法的经典计算部分。注意,在一些实施例中,可以使用裸机实例代替虚拟机。
在1808,量子计算服务使用量子硬件提供商位置处的量子计算机来执行量子计算部分。
在1810,执行混合算法的虚拟机确定是否有要执行的附加经典或量子计算部分。如果是这样的话,则重复步骤1806和/或1808。如果不是,则在1812,量子计算服务将结果提交给服务提供商网络的数据存储系统。
可以被包括在位于量子硬件提供商位置处的边缘计算装置的虚拟化卸载卡中的示例管理组件。
图19图示了根据一些实施例的可以在边缘计算装置中所包括的虚拟卸载卡处执行的示例虚拟化管理软件组件。在虚拟化卸载卡核心/处理器处运行的一组虚拟化管理软件组件1902可以包括嵌入式操作系统1904(其可以编排虚拟化卸载卡它本身的各种硬件元件的操作)、一个或多个网络接口卡(NIC)仿真器1906以及用于传统装置的一个或多个仿真器1908。
例如,在虚拟化卸载卡处运行的块装置存储管理器1910可以使用本地持久存储服务器系统(诸如SSD)来为在量子硬件提供商位置处的边缘计算装置上运行的计算实例配置根卷。在一些实施例中,NVME装置仿真器1912可以用于管理对基于NVME的持久存储的访问。IVN数据平面连接管理器1914可以例如实现用于边缘计算装置的计算实例与其他端点之间的业务的封装协议的操作(诸如封装出站分组或解封装入站分组)。此类其他端点可以包括例如服务提供商网络数据中心内的其他计算实例、除虚拟化计算服务以外的服务等。可以从IVN数据平面连接管理器1914发起对VPC映射服务的调用。在一些实施例中,IVN数据平面连接管理器可以发起或实现配置操作以将IVN内的网络地址指配给一个或多个虚拟网络接口,这些虚拟网络接口以编程方式附连到在量子硬件提供商位置处的边缘计算装置处运行的计算实例,从而在由客户为IVN指定的网络地址范围内包括该计算实例。
在一些实施例中,实例元数据服务代理1916可以响应于从在边缘计算装置处启动的计算实例发出的查询而提供元数据的各种元素。例如,此类元数据可以包括用于授权/证实从计算实例发送到其他提供商网络服务的请求的凭证、计算实例的块装置映射信息、计算实例的标识符等。在一些实施例中,只能从实例本身内访问的本地链接HTTP地址可用于在计算实例处获得元数据。
在至少一些实施例中,VCS控制平面的一个或多个代理1918可以在边缘计算装置的虚拟化卸载卡处运行。例如,此类代理可以负责接收在VCS控制平面处生成的命令,并且响应于此类命令而在虚拟化卸载卡和/或边缘计算装置处发起操作(例如,配置改变操作)。
在至少一个实施例中,一个或多个网络安全代理1920可以在边缘计算装置的虚拟化卸载卡处运行。此类网络安全代理可以负责许多操作,诸如使得为往返于边缘计算装置处的计算实例引导的各种业务(包括DNS请求和响应以及标准IP分组)生成日志记录、发起或执行入侵检测或渗出检测操作等。注意,在一些实施例中,软件和/或固件组件的不同组合可以在位于除在图19中作为示例示出的量子硬件提供商位置外的量子硬件提供商位置处的边缘计算装置的虚拟化卸载卡处运行。
经由边缘计算装置的提供商网络服务的示例使用
图20图示了根据一些实施例的用于包括位于量子硬件提供商位置处的量子计算服务的边缘计算装置的隔离虚拟网络的示例网络配置。
在一些实施例中,实施虚拟化计算服务的提供商网络还可以提供对利用VCS计算实例作为构建块的其他更高级别的网络可访问服务的访问,例如,数据库的实例可以使用VCS的计算实例实施,并且被提供给网络可访问数据库服务的客户端使用。
在所描绘的实施例中,提供商网络2001包括至少虚拟化计算服务(VCS)(在功能性和特征上类似于图3的VCS 326)、存储服务2030(在功能上和特征上类似于图3的基于对象的存储服务336和数据库服务2040(其可以被包括在图3的基于其他网络的服务338中)。
在图20中描绘的示例场景中,已经为VCS客户建立了早前讨论的种类的隔离虚拟网络(IVN)2015。IVN 2015包括多个计算实例,诸如在服务提供商网络2001的数据中心处的计算装置上实现的CI 2017A和12017B以及在位于量子硬件提供商位置2050处的边缘计算装置上实现的CI 2017C。在一些实施例中,专用物理连接2060可以将边缘计算装置连接到包括在服务提供商网络2001的数据中心中的路由器2070。计算实例(CI 2017A、2017B和2017C)被包括在VCS 2010内。在所描绘的实施例中,在任何CI处运行的程序可以利用其他提供商网络服务的资源。例如,可以从服务提供商网络中的CI 2017B访问存储服务2030的存储实例2022;类似地,可以从服务提供商网络内的CI 2017C访问数据库服务2040的数据库实例2042。在一些实施例中,包括在边缘计算装置中的虚拟化卸载卡在一些实施例中实例化计算实例2017C并且/或者可以管理与存储实例2022或数据库实例2042的通信。
说明性可运送的边缘计算装置
图21图示了根据一些实施例的量子计算服务的示例可运送的预配置边缘计算装置。
图21图示了根据一些实施例的可运送的边缘计算装置2100。所描绘的可运送的边缘计算装置2100可以作为能够连接到量子硬件提供商的本地网络以使得量子硬件提供商能够作为量子计算服务的可用的量子硬件提供商被包括的预配置边缘装置被运送到量子硬件提供商。在一些实施例中,可运送的边缘计算装置2100的实施例可以包括比所描绘的那些更多、更少或不同的特征或组件。
在所描绘的实施例中,可运送的边缘计算装置2100包括围绕持久存储、存储器和处理组件的外壳2115。外壳可以被加固(例如,根据各种标准,诸如军用标准或电子工业标准)并且可以被配置有面向外的电子显示器2114,使得外壳和电子显示器形成适合于在没有任何附加包装、标签等的情况下运送的自包含运送容器并且使得电子显示器2114作为显示目的地位置(例如,代替运送标签)。在一些实施例中,外壳2115和显示器2114作为可重复使用的运送组件代替纸板箱和运送标签。外壳可以包括用于方便可运送的边缘计算装置2100移动的各种机构,诸如滚轮、把手等。
可运送的边缘计算装置2100被图示有电池2160和电源连接器2150以用于给需要电力起作用的可运送的边缘计算装置2100的一些或所有组件供电。在一些实施例中,电源连接器2150可以被配置为将可运送的边缘计算装置2100连接到外部电源。在一些实施例中,电源连接器可以给可运送的边缘计算装置供电。
可运送的边缘计算装置2100被图示有网络接口2140。网络接口2140可以作为可运送的边缘计算装置2100与各种网络如LANS、WANS等之间的接口(例如,经由各种协议,诸如iSCSI或以太网)。在一些实施例中,网络连接2140可以作为直接到另一装置的接口(例如,经由SCSI)。在一些实例中,网络接口2140可以包括两种或更多种不同类型的接口(例如,RJ45、SFP、光学)。
可运送的边缘计算装置2100被图示有交换机2130。在一些实施例中,开关2130可以作为开关电源开关或用于激活显示器的开关。
可运送的边缘计算装置2100被图示有射频标识(RFID)2180。在一些实例中,RFID可以协助跟踪装置。例如,可以在供应过程期间经由相应的RFID标识装置,或者可以在量子硬件提供商处接收到相应RFID时标识装置。当装置被路由到设施时,RFID可以用于跟踪可运送的边缘计算装置2100。
可运送的边缘计算装置2100被图示有各种传感器2122、2124。装置可以配备有各种传感器中的任一个,包括全球定位传感器(GPS)、温度传感器、湿度传感器或加速度计,全部都作为非限制性示例。可以从传感器收集并以各种方式使用数据,诸如用于记录装置的环境(例如,热、冷、适中、潮湿)或者记录与可运送的边缘计算装置2100相关联的各种事件,诸如可运送的边缘计算装置2100的跌落、快速移动、定向或位置。
可运送的边缘计算装置2100可以被配置有多层安全性。例如,可以用一个或多个密钥对存储在装置上的数据进行加密一次或多次。密钥可以由各方确定、存储、控制或持有并且在所图示的过程的各个步骤处应用。例如,用于对存储在装置上的数据进行加密的一些密钥可以与装置分开存储,然而用于对装置上的数据进行加密的其他密钥可以与装置一起存储。在实施例中,可以在多个层中应用加密密钥。
图22是根据一些实施例的图示了量子计算服务的可运送的预配置边缘计算装置的示例组件的框图。
在图22中,装置2100被图示有显示器2114、网络接口2206和持久存储装置2250。在所图示的实施例中,显示驱动器2202提供处理器2210与显示器2114之间的接口功能。例如,为了指示显示器显示地址,处理器2210执行来自存储器2212的计算机指令,这些计算机指令将消息发送到显示驱动器2202,这些消息由显示驱动器解释并且使显示驱动器在显示器2114上显示地址。
网络接口2206作为外部网络(例如量子硬件提供商网络或服务提供商网络)与装置之间的接口。在一些实施例中,网络接口被配置为向装置传送指令或者传送加密数据。无线接口2208可以被配置为从服务提供商接收指令(例如,经由蜂窝或Wi-Fi网络)。例如,服务提供商可以经由蜂窝网络向可运送的边缘计算装置2100发送更新的地址信息,使得在途中更新所显示的装置的地址,从而改变飞行中装置的目的地,使得装置被运送到经更新的地址而不是在先地址。
输入/输出(I/O)接口2204可以被配置为协调处理器2210、存储器2212、显示驱动器、网络接口2206、无线接口2208、传感器接口2220和持久存储装置2250或外围接口之间的I/O业务。在一些实施例中,I/O接口2204可以执行任何必要的协议、定时或其他数据转换,以将来自一个组件(例如,系统存储器2212)的数据信号转换成适合于由另一组件(例如,处理器2210)使用的格式。在一些实施例中,例如,I/O接口2204可以包括对通过各种类型的外围总线(诸如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体)所附接的设备的支持。在一些实施例中,I/O接口2240的功能可以被分成两个或更多个单独的组件,诸如例如北桥和南桥。另外,在一些实施例中,如到系统存储器2212的接口等I/O接口2204的一些或所有功能性可以被直接并入到处理器2210中。
可运送的边缘计算装置2100被描绘有持久数据存储装置2250。持久数据存储装置2250可以包括诸如硬盘驱动器或闪速存储器的非易失性存储装置的任何组合。
可运送的边缘计算装置2100被描绘有可以给可运送的边缘计算装置2100的各种电子组件供电的电源2230并且被描绘有传感器2240和传感器接口2220。如上所述,可以将各种传感器中的任一个并入到装置2100中。装置2100还可以包括作为传感器2240与I/O接口2204之间的接口的各种传感器接口2220。在实施例中,传感器接口可以是为特定传感器定制的专有接口。传感器接口可以执行各种功能,诸如数据的转换、传感器输出的分析和基于分析的信息的输出等。
可运送的边缘计算装置2100也被描绘有可信平台模块(TPM)2260。TPM 2260可以为可运送的边缘计算装置2100提供附加安全特征。例如,在量子硬件提供商从量子服务提供商接收到TPM 2260之后,量子硬件提供商可以与TPM 2260进行通信以确定是否已对可运送的边缘计算装置2100的配置做出了变化。可运送的边缘计算装置2100配置的变化可以指示可运送的边缘计算装置2100被篡改了并且第三方可能已访问了可运送的边缘计算装置2100上的数据。
说明性计算机系统
图23是图示了可以在至少一些实施例中使用的示例计算装置的框图。
图23图示了如可以在本文描述的实施例中的任一个中使用的这样的通用计算装置2300。在所图示的实施例中,计算装置2300包括经由输入/输出(I/O)接口2330耦合到系统存储器2320(其可以包括非易失性存储器模块和易失性存储器模块两者)的一个或多个处理器2310。计算装置2300还包括耦合到I/O接口2330的网络接口2340。
在各种实施例中,计算装置2300可以是包括一个处理器2310的单处理器系统,或包括若干处理器2310(例如,两个、四个、八个或另一合适的数目)的多处理器系统。处理器2310可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器2310可以是实现各种指令集架构(ISA)中的任一种如x86、PowerPC、SPARC或MIPS ISA、或任何其他合适的ISA的通用或嵌入式处理器。在多处理器系统中,处理器2310中的每一个处理器可以通常但不一定实现同一ISA。在一些实施中,可以使用图形处理单元(GPU)来代替常规的处理器或作为常规处理器的补充。
系统存储器2320可以被配置为存储可由处理器2310访问的指令和数据。在至少一些实施例中,系统存储器2320可以包括易失性部分和非易失性部分两者;在其他实施例中,可以使用仅易失性存储器。在各种实施例中,系统存储器2320的易失性部分可以使用任何合适的存储器技术如静态随机存取存储器(SRAM)、同步动态RAM或任何其他类型的存储器来实现。对于系统存储器的非易失性部分(例如,其可以包括一个或多个NVDIMM),在一些实施例中,可以使用基于闪速的存储器装置,包含与非(NAND)闪速装置。在至少一些实施例中,系统存储器的非易失性部分可以包含电源,如超级电容器或其他电力存储装置(例如,电池)。在各种实施例中,基于忆阻器的电阻随机存取存储器(ReRAM)、三维NAND技术、铁电RAM、磁阻RAM(MRAM)或任何各种类型的相变存储器(PCM)可以至少用于系统存储器的非易失性部分。在所图示的实施例中,实施如上述那些方法、技术和数据等一个或多个所期望功能的程序指令和数据被示为存储在系统存储器2320中作为代码2325和数据2326。
在一些实施例中,I/O接口2330可以被配置为协调处理器2310、系统存储器2320与装置中的任何外围装置之间的I/O业务,所述外围装置包括网络接口2340或诸如各种类型的持久和/或易失性存储装置的其他外围接口。在一些实施例中,I/O接口2330可以执行任何必要的协议、定时或其他数据转换,以将来自一个组件(例如,系统存储器2320)的数据信号转换成适合于由另一组件(例如,处理器2310)使用的格式。在一些实施例中,例如,I/O接口2330可以包括对通过各种类型的外围总线(诸如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体)所附接的设备的支持。在一些实施例中,I/O接口2330的功能可以被分成两个或更多个单独的组件,诸如例如北桥和南桥。而且,在一些实施例中,如用于系统存储器2320的接口等I/O接口2330的一些或所有功能可以直接地合并到处理器2310中。
网络接口2340可以被配置为允许数据在计算装置2300和附接到一个或多个网络2350的其他装置2360之间交换,诸如图1至图22中所图示的其他计算机系统或装置。例如,在各种实施例中,网络接口2340可以支持通过任何合适的有线或无线一般数据网络(如以太网类型)进行通信。另外地,网络接口2340可以支持经由如模拟语音网络或数字光纤通信网络等电信/电话网络、经由如光纤信道SAN等存储区域网络、或经由任何其他适合类型的网络和/或协议的通信。
在一些实施例中,系统存储器2320可表示计算机可存取介质的一个实施例,该计算机可存取介质被配置为存储用于实施在图1至图22的上下文中讨论的方法和装置的程序指令和数据的至少一个子集。然而,在其他实施例中,程序指令和/或数据可以是在不同类型的计算机可访问介质上接收、发送或存储。一般而言,计算机可访问介质可以包含非暂时性存储介质或如磁性或光学介质等存储介质,例如经由I/O接口2330耦合到计算装置2300的磁盘或DVD/CD。非暂时性计算机可访问存储介质还可以包含任何易失性或非易失性介质,如RAM(例如SDRAM、DDRSDRAM、RDRAM、SRAM等)、ROM等,其可以包含在计算装置2300的一些实施例中作为系统存储器2320或另一种类型的存储器。在一些实施例中,多个非暂时性计算机可读存储介质可以共同存储程序指令,当所述程序指令在一个或多个处理器上或者跨一个或多个处理器执行时实现上述方法和技术的至少一个子集。计算机可存取介质还可以包括传输介质或经由通信介质诸如网络和/或无线链路传送的信号,诸如电信号、电磁信号或数字信号,诸如可经由网络接口2340实现。可以使用如图23所图示的计算装置等多个计算装置中的部分或全部计算装置来实施各种实施例中的所描述功能;例如,在各种不同的装置和服务器上执行的软件组件可以协作以提供功能。在一些实施例中,除了使用通用计算机系统实施之外或代替使用通用计算机系统实施,可以使用存储装置、网络装置或专用计算机系统来实施所描述的功能的部分。如本文所使用的术语“计算装置”是指至少所有这些类型的装置,并且不限于这些类型的装置。
能够鉴于以下条款来描述本公共的实施方案:
条款1.一种系统,所述系统包括:
服务提供商网络的一个或多个计算装置,其中所述一个或多个计算装置被配置为实现量子计算服务;
位于第一量子硬件提供商的位置处的所述服务提供商网络的第一边缘计算装置;以及
位于第二量子硬件提供商的位置处的所述服务提供商网络的第二边缘计算装置;
其中所述第一量子硬件提供商和所述第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算电路;
其中被配置为实现所述量子计算服务的所述一个或多个计算装置被配置为:
从所述量子计算服务的客户接收要执行的量子计算对象的定义;
选择所述第一量子硬件提供商或所述第二量子硬件提供商中的至少一个来执行所述量子计算对象;
经由位于所述选择的一个或多个量子硬件提供商的相应位置处的所述第一边缘计算装置或所述第二边缘计算装置向所述量子硬件提供商中的所选一个或多个提交与所述量子计算对象相对应的量子电路;
接收在所述选择的一个或多个量子硬件提供商的量子计算机上执行所述量子电路的结果;
存储执行所述量子电路的所述结果;以及
向所述客户提供所述量子计算对象的执行已完成的通知。
条款2.根据条款1所述的系统,其中被配置为实现所述量子计算服务的所述一个或多个计算装置被进一步配置为:
基于所述量子计算对象的一个或多个特性及所述第一量子硬件提供商和所述第二量子硬件提供商的一个或多个特性来生成使用所述第一量子硬件提供商或所述第二量子硬件提供商中的一个或多个来执行所述量子计算对象的推荐,其中所述一个或多个特性包括由所述相应的第一量子硬件提供商和第二量子硬件提供商使用的所述相应的量子计算技术;
将所述推荐提供给所述客户;以及
接收来自所述客户的指示对所述推荐的采用或要用于执行所述量子计算对象的替代配置的响应,
其中至少部分地基于来自所述客户的所述响应来选择被选择来执行所述量子计算对象的所述第一量子硬件提供商或所述第二量子硬件提供商中的所述一个或多个。
条款3.根据条款1或条款2所述的系统,其中由所述第一量子硬件提供商和所述第二量子硬件提供商使用的所述不同的量子计算技术包括以下项中的两种或更多种:
基于量子退火的量子计算机;
基于离子阱的量子计算机;
基于超导的量子计算机;或
基于光子的量子计算机。
条款4.根据条款1至3中任一项所述的系统,还包括:
第一私有专用物理网络链路,所述第一私有专用物理网络链路将所述第一量子硬件提供商的所述位置处的所述第一边缘计算装置连接到所述服务提供商网络;以及
第二私有专用物理网络链路,所述第二私有专用物理网络链路将所述第二量子硬件提供商的所述位置处的所述第二边缘计算装置连接到所述服务提供商网络。
条款5.一种方法,包括:
在实现在一个或多个计算装置上的量子计算服务处,从所述量子计算服务的客户接收要执行的量子计算任务的定义;
通过所述量子计算服务选择第一量子硬件提供商或第二量子硬件提供商中的至少一个来执行所述量子计算任务,其中所述第一量子硬件提供商和所述第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算任务;
通过所述量子计算服务经由位于所述第一量子硬件提供商的位置处的所述量子计算服务的第一边缘计算装置或位于所述第二量子硬件提供商的位置处的所述量子计算服务的第二边缘装置向所述选择的至少一个量子硬件提供商提交与所述量子计算任务相对应的量子电路;
使从所述第一量子硬件提供商或所述第二量子硬件提供商接收到的执行结果被存储;以及
通过所述量子计算服务向所述客户提供所述量子计算任务已完成的通知。
条款6.根据条款5所述的方法,其中由所述第一量子硬件提供商和所述第二量子硬件提供商使用的所述不同的量子计算技术包括以下项中的两种或更多种:
基于量子退火的量子计算机;
基于离子阱的量子计算机;
基于超导的量子计算机;或
基于光子的量子计算机。
条款7.根据条款5或条款6所述的方法,其中提交所述量子计算任务包括:
将所述量子计算任务从由所述客户用于定义所述量子计算任务的中间表示转换成用于将所述量子计算任务定义为所述量子电路的量子硬件提供商特定定义;
将所述量子电路提供给所述量子计算服务的后端非公开应用可编程接口(API),其中所述第一量子硬件提供商位置处的所述量子计算服务的第一边缘计算装置和所述第二量子硬件提供商位置处的所述量子计算服务的第二边缘计算装置轮询所述后端非公开API以获得要分别在所述第一量子硬件提供商或所述第二量子硬件提供商处执行的转换后的量子电路;
由所述第一边缘计算装置或所述第二边缘计算装置调度所述第一量子硬件提供商或所述第二量子硬件提供商的量子计算机上的执行能力;以及
由所述第一边缘计算装置或所述第二边缘计算装置将所述转换后的量子电路存储在要在所述第一量子硬件提供商或所述第二量子硬件提供商的所述量子计算机上执行的任务的队列中。
条款8.根据条款7所述的方法,进一步包括:
经由连接到所述第一边缘计算装置或所述第二边缘计算装置的所述第一量子硬件提供商或所述第二量子硬件提供商的本地网络将所述量子电路从所述队列提交给所述第一量子硬件提供商或所述第二量子硬件提供商的所述量子计算机;
在所述第一边缘计算装置或所述第二边缘计算装置处接收由正在所述量子计算机上执行的所述量子电路生成的结果;以及
将所述结果存储在包括实现所述量子计算服务的一个或多个计算装置的服务提供商网络的存储服务中,其中所述量子计算任务已完成的所述通知指示所述结果的存储位置。
条款9.根据条款8所述的方法,
其中所述第一边缘计算装置和所述第二边缘计算装置包括分别位于所述第一量子硬件提供商和所述第二量子硬件提供商的所述位置处的服务器;
其中所述一个或多个服务器经由私有专用物理网络链路连接到所述服务提供商网络;以及
其中所述服务器连接到所述第一量子硬件提供商或所述第二量子硬件提供商处的本地网络。
条款10.根据条款9所述的方法,其中所述服务器被配置为实例化被配置为执行所述调度、所述存储、所述提交和所述接收结果的一个或多个虚拟机。
条款11.根据条款10所述的方法,其中所述服务器被进一步配置为实例化用于由所述第一量子硬件提供商或所述第二量子硬件提供商使用以管理所述量子计算机或所述第一量子硬件提供商或所述第二量子硬件提供商的网络的一个或多个虚拟机。
条款12.根据条款5至11中任一项所述的方法,进一步包括:
生成使用所述第一量子硬件提供商或所述第二量子硬件提供商中的一个或多个来执行所述量子计算任务的推荐;
将所述推荐提供给所述客户;以及
接收来自所述客户的指示关于哪个量子硬件提供商将执行所述量子计算任务的选择的响应,
其中所述通过所述量子计算服务选择所述第一量子硬件提供商或所述第二量子硬件提供商中的至少一个来执行所述量子计算任务是基于来自所述客户的所述响应。
条款13.根据条款12所述的方法,其中所述推荐包括以下项中的一个或多个:
由所述第一量子硬件提供商和所述第二量子硬件提供商中的每一个执行所述量子计算任务的估计成本;
所述第一量子硬件提供商和所述第二量子硬件提供商中的每一个关于执行所述量子计算任务的估计错误率;或
针对所述第一量子硬件提供商和所述第二量子硬件提供商中的每一个执行所述量子计算任务的时间的估计长度。
条款14.根据条款5至13中任一项所述的方法,进一步包括:
在包括实现所述量子计算服务的所述一个或多个计算装置的服务提供商网络的计算服务的经典计算硬件上模拟所述量子计算任务,其中所述模拟根据所述第一量子硬件提供商的第一量子计算技术来模拟执行;
在所述服务提供商网络的所述计算服务的经典计算硬件上模拟所述量子计算任务,其中所述模拟根据所述第二量子硬件提供商的第二量子计算技术来模拟执行,
其中所述选择所述第一量子硬件提供商或所述第二量子硬件提供商中的至少一个至少部分地基于根据所述第一量子计算技术的所述模拟的结果和根据所述第二量子计算技术的所述模拟的结果。
条款15.根据条款5至14中任一项所述的方法,其中从所述客户接收到的所述量子计算任务的所述定义被定义在通过所述量子计算服务支持的中间表示中,所述方法进一步包括:
将所述量子计算任务从由所述客户用于定义所述量子计算任务的中间表示转换成用于定义所述量子计算任务的量子硬件提供商特定定义;以及
对所述量子计算任务的转换后的版本执行一个或多个优化操作,使得包括在所述量子计算任务的所述转换后的版本的量子电路中的量子算符的数量减少。
条款16.根据条款15所述的方法,其中转换所述量子计算任务包括:
将所述中间表示的一个或多个门表示映射到特定于被选择来执行所述量子计算任务的所述量子硬件提供商的所述量子计算技术中的特定一种的一个或多个门。
条款17.根据条款15所述的方法,其中所述中间表示中的同一门表示被转换成:
当所述第一量子硬件提供商被选择来执行所述量子计算任务时的第一组量子算符;以及
当所述第二量子硬件提供商被选择来执行所述量子计算任务时的一组不同的量子算符。
条款18.一种或多种非暂时性计算机可读介质,所述一种或多种非暂时性计算机可读介质存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使所述一个或多个处理器:
接收要执行的量子计算任务的定义;
确定要执行所述量子计算任务的第一量子硬件提供商或第二量子硬件提供商中的至少一个,其中所述第一量子硬件提供商和所述第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算任务;
经由位于所述第一量子硬件提供商的位置处的所述量子计算服务的第一边缘计算装置或位于所述第二量子硬件提供商的位置处的所述量子计算服务的第二边缘装置将所述量子计算任务提交给所述至少一个量子硬件提供商;以及
当所述量子计算任务已完成时提供通知。
条款19.根据条款18所述的一种或多种非暂时性计算机可读介质,其中所述通知被提供给执行包括经典计算任务和量子计算任务的混合算法的经典计算机,其中所述程序指令进一步使所述一个或多个处理器:
存储所述量子计算任务的结果的快照,使得后续量子计算任务的结果不覆写所述量子计算任务的所述结果。
条款20.根据条款18所述的一种或多种非暂时性计算机可读介质,其中所述程序指令进一步使所述一个或多个处理器:
实现用于定义所述量子计算任务的用户接口,其中所述用户接口包括能够被组合以定义量子算法或量子电路的量子计算元素,
其中所述量子计算任务由所述客户使用所述量子计算元素的组合来定义;以及
其中所述程序指令使由所述客户选择的所述量子计算元素定义所述量子计算任务以被转换成依照由所述选择的量子硬件提供商使用的格式定义的量子电路。
条款21.一种系统,所述系统包括:
服务提供商网络的一个或多个计算装置,其中所述一个或多个计算装置被配置为实现量子计算服务;
位于第一量子硬件提供商的位置处的所述服务提供商网络的第一边缘计算装置;以及
位于第二量子硬件提供商的位置处的所述服务提供商网络的第二边缘计算装置;
其中所述第一量子硬件提供商和所述第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算电路;并且
其中所述第一边缘计算装置和所述第二边缘计算装置被配置为:
实例化在所述相应的第一边缘计算装置或第二边缘计算装置的经典计算硬件上实现的虚拟机;
经由所述量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法;
在所述相应的第一边缘计算装置或第二边缘计算装置的所述经典计算硬件上实现的所述虚拟机上执行所述经典计算部分;
协调所述量子计算部分在所述相应的第一边缘计算装置或第二边缘计算装置所位于的所述相应的第一量子硬件提供商位置或第二量子硬件提供商位置处的量子计算机上的执行;以及
将从执行所述混合量子计算算法生成的结果提交给所述服务提供商网络的数据存储系统,其中实现所述数据存储系统的一个或多个计算装置位于所述服务提供商网络的远离所述相应的第一量子硬件提供商或第二量子硬件提供商的所述位置的设施处。
条款22.根据条款21所述的系统,其中在所述第一边缘计算装置或所述第二边缘计算装置上实现的所述虚拟机被进一步配置为:
将所述量子计算部分作为要在所述相应的第一量子硬件提供商位置或第二量子硬件提供商位置处的所述量子计算机上执行的一个或多个转换后的量子计算电路来提供,
其中所述一个或多个转换后的量子计算电路被转换成依照在所述相应的第一量子硬件提供商位置或第二量子硬件提供商位置处的所述量子计算机的量子计算技术的格式,并且
其中所述一个或多个转换后的量子计算电路被提供给所述量子计算服务的后端应用可编程接口(API)传输,其中所述后端API传输接口是调度所述一个或多个转换后的量子计算电路以供在所述相应的第一第二量子硬件提供商位置或第二量子硬件提供商位置处的所述量子计算机上执行的非公开接口。
条款23.根据条款22所述的系统,其中所述第一边缘计算装置或所述第二边缘计算装置被进一步配置为:
实现虚拟存储装置,所述虚拟存储装置被配置为存储从已由所述相应的第一量子硬件提供商位置或第二量子硬件提供商位置处的所述量子计算机执行的所述一个或多个转换后的量子计算电路的执行生成的中间结果;
从所述第一量子硬件提供商位置或所述第二量子硬件提供商位置处的所述量子计算机接收所述中间结果;以及
向执行所述混合量子计算算法的所述经典计算部分的所述虚拟机提供对所述中间结果的访问。
条款24.根据条款23所述的系统,其中所述第一边缘计算装置或所述第二边缘计算装置被进一步配置为:
创建所述中间结果的快照副本;以及
使所述快照副本被存储在所述服务提供商网络的所述数据存储系统处。
条款25.根据条款21至24中任一项所述的系统,其中所述第一边缘计算装置和所述第二边缘计算装置直接连接到所述相应的第一量子硬件提供商位置或第二量子硬件提供商位置处的本地网络,其中所述第一量子硬件提供商或所述第二量子硬件提供商的所述量子计算机分别还连接到所述本地网络。
条款26.一种边缘计算装置,包括:
第一网络连接器,所述第一网络连接器被配置为与量子硬件提供商的本地网络耦合;
第二网络连接器,所述第二网络连接器被配置为连接到量子计算服务;以及
经典计算硬件,所述经典计算硬件包括:
一个或多个处理器;以及
存储器,所述存储器存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使所述一个或多个处理器:
实例化在所述边缘计算装置的所述经典计算硬件上实现的虚拟机;
经由所述第二连接器从量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法;
在所述边缘计算装置的所述经典计算硬件上实现的所述虚拟机上执行所述经典计算部分;
经由耦合到所述量子硬件提供商的所述本地网络的所述第一连接器协调所述量子计算部分在所述边缘计算装置所位于的所述量子硬件提供商的位置处的量子计算机上的执行;以及
经由所述第二连接器将从执行所述混合量子计算算法生成的结果提交给包括所述量子计算服务的服务提供商网络的数据存储系统,其中实现所述数据存储系统的一个或多个计算装置位于所述服务提供商网络的远离所述量子硬件提供商的所述位置的设施处。
条款27.根据条款26所述的边缘计算装置,其中在所述边缘计算装置上实现的所述虚拟机被进一步配置为:
从作为所述混合计算算法的一部分的所述量子计算服务接收用于所述混合计算算法的所述量子计算部分的一个或多个转换后的量子计算电路,其中所述转换后的量子计算电路将作为执行所述混合计算算法的一部分在所述量子硬件提供商的所述位置处的所述量子计算机上被执行,
其中所述一个或多个转换后的量子计算电路被接收转换成依照所述量子硬件提供商的所述位置处的所述量子计算机的量子计算技术的格式,并且
其中所述一个或多个转换后的量子计算电路被提供给所述量子计算服务的后端应用可编程接口(API)传输,其中所述后端API传输接口是将所述一个或多个转换后的量子计算电路提供给所述边缘计算装置或另一边缘计算装置的非公开接口,所述另一边缘计算装置被配置为调度所述一个或多个转换后的量子计算电路以供在所述量子硬件提供商的所述位置处的所述量子计算机上执行。
条款28.根据条款26或条款27所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上执行时被进一步配置为:
按比例放大或缩小分配来执行所述混合量子计算算法的所述经典计算部分的资源。
条款29.根据条款26至28中任一项所述的边缘计算装置,其中所述经典计算硬件被进一步配置为支持多租户,其中所述程序指令当在所述一个或多个处理器上或跨所述一个或多个处理器执行时使所述一个或多个处理器:
实例化在所述边缘计算装置的所述经典计算硬件上实现的另一虚拟机;
经由所述第二连接器从所述量子计算服务接收包括经典计算部分和量子计算部分的另一混合量子计算算法;
在所述边缘计算装置的所述经典计算硬件上实现的所述另一虚拟机上执行所述经典计算部分;
经由耦合到所述量子硬件提供商的本地网络的所述第一连接器协调所述另一混合量子计算算法的所述量子计算部分在所述边缘计算装置所位于的所述量子硬件提供商的所述位置处的所述量子计算机上的执行;以及
经由所述第二连接器将从执行所述混合量子计算算法生成的结果提交给所述服务提供商网络的所述数据存储系统的第二存储桶,
其中所述虚拟机和所述另一虚拟机针对所述量子计算服务的不同客户执行不同的混合量子计算算法,以及
其中在所述虚拟机上执行的所述混合量子计算算法的所述结果被存储到所述数据存储系统的与其中存储有所述另一混合量子计算算法的所述结果的所述第二存储桶分开的第一存储桶。
条款30.根据条款26至29中任一项所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时使所述一个或多个处理器:
使所述边缘计算装置将所述混合量子计算算法的中间结果存储在所述边缘计算装置的本地存储器中;以及
给执行所述混合量子计算算法的所述经典计算部分的所述虚拟机提供对所述中间结果的访问。
条款31.根据条款30所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时进一步使所述一个或多个处理器:
创建所述中间结果的快照副本;以及
使所述快照副本被存储在所述服务提供商网络的所述数据存储系统中。
条款32.根据条款26至31中任一项所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时被进一步配置为:
使用所述边缘计算装置的过量经典计算能力来实例化一个或多个附加虚拟机以供由所述量子硬件提供商使用。
条款33.根据条款26至32中任一项所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时被进一步配置为:
使用所述边缘计算装置的经典计算能力来实例化一个或多个附加虚拟机以供由量子计算机模拟器使用;以及
将所述量子计算机模拟器配置为模拟基于与所述量子硬件提供商位置处的所述量子计算机相同的量子计算技术的量子计算机。
条款34.根据条款26至33中任一项所述的边缘计算装置,其中所述边缘计算装置还包括:
附加程序指令,所述附加程序指令当在所述边缘计算装置的所述一个或多个处理器上或者跨所述边缘计算装置的所述一个或多个处理器执行时,实现(a)一个或多个存储管理器和(b)一个或多个联网管理器;
其中所述边缘计算装置被配置为:
与所述服务提供商网络的虚拟化计算服务的基底网络建立连接,其中在附连到所述基底网络的多个装置处实现的封装协议用于在所述虚拟化计算服务的一个或多个逻辑网络之间传送业务;以及
发起在所述边缘计算装置处启动所述虚拟机的一个或多个配置操作,其中至少部分基于使用所述一个或多个联网管理器执行的操作在所述服务提供商网络的隔离虚拟网络内配置所述虚拟机,并且其中至少部分地基于由所述一个或多个存储管理器执行的操作向所述虚拟机提供对根卷的访问。
条款35.根据条款34所述的边缘计算装置,其中所述边缘计算装置被配置为使用加密通信格式来经由所述第二网络连接器与所述硬件提供商位置外部的装置进行通信。
条款36.一种方法,包括:
实例化在位于量子硬件提供商位置处并且连接到经由远离所述量子硬件提供商位置的位置处的一个或多个计算装置实现的量子计算服务的边缘计算装置的经典计算硬件上实现的虚拟机;
经由所述量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法;
在位于所述量子硬件提供商位置处的所述边缘计算装置的所述经典计算硬件上实现的所述虚拟机上执行所述经典计算部分;
协调所述量子计算部分在所述量子硬件提供商位置处的所述量子计算机上的执行;以及
将从执行所述混合量子计算算法生成的结果提交给数据存储系统,其中实现所述数据存储系统的一个或多个计算装置远离所述量子硬件提供商位置定位。
条款37.根据条款36所述的方法,进一步包括:
将所述混合算法的一个或多个量子计算电路提供给所述量子计算服务的后端应用可编程接口(API)传输接口,其中所述后端API传输接口是将所述一个或多个量子计算电路提供给在所述边缘计算装置或另一边缘计算装置上实现的另一虚拟机的非公开接口,所述另一边缘计算装置被配置为调度所述一个或多个量子计算电路以供在所述量子硬件提供商位置处的所述量子计算机上执行。
条款38.根据条款37所述的方法,其中对所述边缘计算装置的访问限于:
经由连接到所述量子计算服务的第一端口发送或接收的加密通信;以及
与所述量子硬件提供商位置处的所述本地网络的通信。
条款39.根据条款36所述的方法,进一步包括:
在所述边缘计算装置处接收来自所述量子硬件提供商位置处的所述量子计算机的中间结果;
将所述中间结果存储在位于所述量子硬件提供商位置处的所述边缘计算装置的存储器中;以及
向执行所述混合量子计算算法的所述经典计算部分的所述虚拟机提供对所述中间结果的访问。
条款40.根据条款39所述的方法,进一步包括:
生成所述中间结果的快照副本;以及
使所述快照副本被存储到存储服务。
条款41.一种系统,所述系统包括:
被配置为实现量子计算服务的一个或多个计算装置,所述一个或多个计算装置被配置为:
接收中间表示中定义的量子计算对象;
将所述量子计算对象转换成用于特定量子计算技术的选择的量子电路格式,其中用于所述特定量子计算技术的所述选择的量子电路格式是用于通过所述量子计算服务支持的多种不同的量子计算技术的多种量子电路格式之一,其中为了将所述量子计算对象转换成所述选择的量子电路格式,所述一个或多个计算装置被配置为:
标识与所述中间表示中的量子算符相对应的所述量子计算对象的部分;
用所述特定量子计算技术的所述量子电路格式的量子算符取代所述中间表示的所述量子算符;以及
执行一个或多个优化以减少作为所述接收到的量子计算对象的转换后的版本的转换后的量子电路中的量子算符的总数;
提供所述转换后的量子电路以供在使用所述特定量子计算技术的量子硬件供应商处执行;
从所述量子硬件提供商接收所述转换后的量子电路的执行的结果;以及
向所述量子计算服务的客户提供所述量子计算对象已被执行的通知。
条款42.根据条款41所述的系统,还包括:
服务提供商网络的第一边缘计算装置,其中所述第一边缘计算装置位于包括根据通过所述量子计算服务支持的所述多个不同的量子计算技术之一操作的量子计算机的第一量子硬件提供商的位置处,其中所述服务提供商网络包括实现所述量子计算服务的一个或多个计算装置;以及
所述服务提供商网络的一个或多个附加边缘计算装置,所述一个或多个附加边缘计算装置位于包括根据通过所述量子计算服务支持的所述多种不同的量子计算技术中的一种或多种其他量子计算技术操作的一个或多个量子计算机的一个或多个附加量子硬件提供商的一个或多个位置处,
其中所述转换后的量子电路被提供用于经由所述服务提供商网络的所述第一边缘计算装置或一个或多个附加边缘计算装置在所述第一量子硬件提供商或一个或多个附加量子硬件提供商处执行。
条款43.根据条款41或条款42所述的系统,其中为了将所述量子计算对象转换成所述选择的量子电路格式,实现所述量子计算服务的所述一个或多个计算装置被配置为:
在提供所述转换后的量子电路以供在所述量子硬件提供商处执行之前在经典硬件上实现的模拟器上模拟所述转换后的量子电路。
条款44.根据条款41至43中任一项所述的系统,其中实现所述量子计算服务的所述一个或多个计算装置被进一步配置为实现量子算法开发套件,所述量子算法开发套件包括:
基于问题域的接口,所述基于问题域的接口包括为了执行与一个或多个相应的问题域相关联的特定功能而设计的预配置量子算法,其中所述量子计算服务的客户为待由所述客户解决的问题选择适用的问题域,并且其中所述客户从针对所述选择的问题域的所述预配置量子算法中选择一种或多种预配置量子算法以便将待通过所述量子计算服务执行的量子算法定义为所述量子计算对象;
基于量子算法的接口,所述基于量子算法的接口包括被配置为彼此布置以形成量子算法的预配置量子逻辑元素,其中所述量子计算服务的客户选择和/或布置所述预配置量子逻辑元素以定义待通过所述量子计算服务作为所述量子计算对象执行的特定量子算法;以及
基于量子电路的接口,所述基于量子电路的接口包括量子算符和连接器,其中所述量子计算服务的客户组合所述量子算符和所述连接器以定义待通过所述量子计算服务作为所述量子计算对象执行的特定量子电路。
条款45.一种方法,包括:
在一个或多个计算装置上实现的量子计算服务处接收中间表示中定义的量子计算对象;
通过所述量子计算服务将所述量子计算对象转换成用于特定量子计算技术的格式,其中用于所述特定量子计算技术的所述格式是用于通过所述量子计算服务支持的多种不同的量子计算技术的多种格式之一,其中将所述量子计算对象转换成用于所述特定量子计算技术的所述格式包括:
标识与所述中间表示中的量子算符相对应的所述量子计算对象的部分;
用用于所述特定量子计算技术的所述格式的量子算符取代所述中间表示的所述量子算符;以及
执行一个或多个优化以减少作为所述接收到的量子计算对象的转换后的版本的转换后的量子电路中所包括的量子算符的总数。
条款46.根据条款45所述的方法,进一步包括:
提供基于问题域的接口,所述基于问题域的接口包括为了执行与一个或多个相应的问题域相关联的特定功能而设计的预配置量子算法;
其中接收所述中间表示中定义的所述量子计算对象包括:
从所述量子计算服务的客户接收对来自由所述问题域接口支持的多个问题域的特定问题域的选择;
向所述量子计算服务的所述客户提供针对所述选择的问题域的一个或多个预配置量子算法;以及
从所述量子计算服务的所述客户接收对要用于定义待通过所述量子计算服务作为所述量子计算对象执行的特定量子算法的所述一个或多个预配置量子算法中的相应一个的选择。
条款47.根据条款46所述的方法,其中所述一个或多个相应的问题域包括以下项中的一个或多个:
化学问题域;
物理问题域;
制药问题域;
生物技术问题域;
医疗问题域;
信息安全问题域;
机器学习问题域;
过程模拟问题域;
物理建模问题域;
优化问题域;或
另一问题域。
条款48.根据条款45至47中任一项所述的方法,进一步包括:
提供基于量子算法的接口,所述基于量子算法的接口包括被配置为彼此布置以形成特定量子算法的预配置量子逻辑元素;
其中接收所述中间表示中定义的所述量子计算对象包括:
从所述量子计算服务的客户接收对所述基于量子算法的接口的选择;
向所述量子计算服务的所述客户提供一个或多个预配置量子逻辑元素;以及
从所述量子计算服务的所述客户接收对要用于定义待通过所述量子计算服务作为所述量子计算对象执行的所述特定量子算法的所述一个或多个预配置量子逻辑元素中的相应一个的选择。
条款49.根据条款45至47中任一项所述的方法,进一步包括:
提供基于量子电路的接口,所述基于量子电路的接口包括能够被布置为定义特定量子电路的量子算符和连接器;
其中接收所述中间表示中定义的所述量子计算对象包括:
从所述量子计算服务的客户接收对所述基于量子电路的接口的选择;
从所述客户接收定义包括所述量子算符中的一个或多个和所述连接器中的一个或多个的特定量子电路的输入,其中所述客户定义待通过所述量子计算服务执行的所述特定量子电路,
其中所述量子算符对通过所述量子计算服务支持的所述多种不同的量子计算技术中的两种或更多种而言是通用的。
条款50.根据条款49所述的方法,进一步包括:
经由所述基于量子电路的接口接收定义包括所述量子算符和连接器中的一个或多个的另一特定量子电路的输入,
其中所述另一特定量子电路的所述量子算符是由所述客户选择的量子算符,所述量子算符特定于通过所述量子计算服务支持的所述多种不同的量子计算技术中的特定一种。
条款51.根据条款49所述的方法,进一步包括:
接收由所述客户定义的一个或多个定制量子门定义;以及
将所述一个或多个定制量子门定义添加到可用于用来定义所述特定量子电路的一组量子算符。
条款52.根据条款45至51中任一项所述的方法,进一步包括:
实现量子算法开发套件,所述量子算法开发套件包括:
基于问题域的接口,所述基于问题域的接口包括为了执行与一个或多个相应的问题域相关联的特定功能而设计的预配置量子算法,其中所述量子计算服务的客户为待由所述客户解决的问题选择适用的问题域,并且其中所述客户从针对所述选择的问题域的所述预配置量子算法中选择一种或多种预配置量子算法以将待通过所述量子计算服务执行的特定量子算法定义为所述量子计算对象;
基于量子算法的接口,所述基于量子算法的接口包括被配置为彼此布置以形成特定量子算法的预配置量子逻辑元素,其中所述量子计算服务的客户选择和/或布置所述预配置量子逻辑元素以定义待通过所述量子计算服务作为所述量子计算对象执行的所述特定量子算法;或
基于量子电路的接口,所述基于量子电路的接口包括量子算符和连接器,其中所述量子计算服务的客户组合所述量子算符和所述连接器以定义待通过所述量子服务作为所述量子计算对象执行的特定量子电路;以及
从所述量子计算服务的第一客户接收经由所述基于问题域的接口、所述基于量子算法的接口或所述基于量子电路的接口定义的量子对象模板;以及
使得所述第一客户能够与所述量子计算服务的其他客户共享所述量子对象模板。
条款53.根据条款52所述的方法,其中所述量子算法开发套件包括:
用于所述量子计算服务的客户协调与所述量子计算服务的其他客户共享量子对象模板的市场。
条款54.根据条款45至53中任一项所述的方法,进一步包括:
将所述量子计算对象转换成由在经典硬件上实现的模拟器支持的格式;以及
在将所述量子计算对象转换成用于特定量子计算技术的格式之前在经典硬件上实现的模拟器上模拟所述量子计算对象。
条款55.根据条款45至54中任一项所述的方法,进一步包括:
从所述量子计算服务的客户接收将用于执行所述中间表示中定义的所述量子计算对象的通过所述量子计算服务支持的所述多种不同的量子计算技术中的所选一种的指示,
其中,所述中间表示被转换成的所述格式是由所述客户选择的用于所述选择的量子计算技术的量子格式。
条款56.根据条款55所述的方法,进一步包括:
继所述转换之后,从所述量子计算服务的所述客户接收要用于执行所述中间表示中定义的所述量子计算对象的通过所述量子计算服务支持的所述多种不同的量子计算技术中的另一所选一种的指示;以及
自动地将所述中间表示转换成用于所述另一选择的量子计算技术的格式,而不需要来自所述客户的进一步输入执行所述转换。
条款57.根据条款45至56中任一项所述的方法,其中通过所述量子计算服务支持的所述多种不同的量子计算技术包括以下项中的一种或多种:
基于量子退火的量子计算机技术;
基于离子阱的量子计算机技术;
基于超导的量子计算机技术;或
基于光子的量子计算机技术。
条款58.一种或多种非暂时性计算机可读介质,所述一种或多种非暂时性计算机可读介质存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使所述一个或多个处理器:
接收中间表示中定义的量子计算对象;以及
将所述量子计算对象转换成用于特定量子计算技术的格式,其中用于所述特定量子计算技术的所述格式是用于多种不同的量子计算技术的多种支持的格式之一,
其中为了将所述量子计算对象转换成用于所述特定量子计算技术的所述格式,所述一个或多个程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时,使所述一个或多个处理器:
标识与所述中间表示中的量子算符相对应的所述量子计算对象的部分;
用所述特定量子计算技术的所述量子格式的量子算符取代所述中间表示的所述量子算符;以及
执行一个或多个优化以减少作为所述量子计算对象的转换后的版本的转换后的量子电路中的量子算符的总数。
条款59.根据条款58所述的一种或多种非暂时性计算机可读介质,其中所述程序指令进一步使所述一个或多个处理器:
接收客户对要用于执行所述量子计算对象的第一特定量子计算技术的选择;
将所述中间表示中定义的所述量子计算对象转换成用于所述选择的第一特定量子计算技术的格式;
接收客户对要用于执行所述量子计算对象的第二特定量子计算技术的选择;以及
将所述中间表示中定义的所述相同的量子计算对象转换成用于所述选择的第二特定量子计算技术的格式;
其中用于所述第一量子计算技术和所述第二量子计算技术的所述相应格式的所述量子计算对象的所述转换后的版本是不同的。
条款60.根据条款58或条款59所述的一种或多种非暂时性计算机可读介质,其中所述程序指令进一步使所述一个或多个处理器:
将所述转换后的量子计算电路提供给所述量子计算服务的后端应用可编程接口(API)传输,其中所述后端API传输接口是将所述转换后的量子计算电路提供给量子硬件提供商位置处的所述边缘计算装置以被调度用于在所述量子硬件提供商位置处的量子计算机上执行的非公开接口。
条款61.一种系统,所述系统包括:
服务提供商网络的一个或多个计算装置,其中所述一个或多个计算装置被配置为实现量子计算服务;
位于第一量子硬件提供商的位置处的所述服务提供商网络的第一边缘计算装置;以及
位于第二量子硬件提供商的位置处的所述服务提供商网络的第二边缘计算装置;
其中所述第一量子硬件提供商和所述第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算电路;并且
其中所述第一边缘计算装置和所述第二边缘计算装置被配置为:
接收要在所述第一硬件提供商位置或所述第二硬件提供商位置处的量子计算机上执行的一个或多个量子计算电路;
调度所述量子计算机上用于执行所述一个或多个量子计算电路的可用性;
将所述一个或多个量子计算电路存储在所述第一边缘计算装置或所述第二边缘计算装置的本地队列中;以及
将所述一个或多个量子计算电路提交给所述第一量子硬件提供商位置或所述第二量子硬件提供商位置处的所述量子计算机以供在所述预定可用性期间执行。
条款62.根据条款61所述的系统,其中所述第一边缘计算装置和所述第二边缘计算装置被进一步配置为:
联系量子计算服务以确定量子计算电路是否准备好传输到所述第一边缘计算装置或所述第二边缘计算装置所位于的所述第一量子硬件提供商位置或所述第二量子硬件提供商位置;
其中所述一个或多个量子计算电路经由所述量子计算服务的非公开API被从所述量子计算服务传输到所述第一边缘计算装置或所述第二边缘计算装置。
条款63.根据条款61或条款62所述的系统,其中所述第一边缘计算装置和所述第二边缘计算装置被进一步配置为:
从所述第一量子硬件提供商位置或所述第二量子硬件提供商位置处的所述量子计算机接收所述一个或多个量子计算电路的执行的结果;以及
使所述结果被存储在使用远离所述第一量子硬件提供商或所述第二量子硬件提供商的所述位置的存储装置实现的所述提供商网络的存储服务中。
条款64.根据条款61至63中任一项所述的系统,还包括:
将所述第一边缘计算装置或所述第二边缘计算装置连接到位于远离所述第一量子硬件提供商或所述第二量子硬件提供商的所述位置的位置处的所述服务提供商网络的路由器的专用物理网络连接;以及
将所述第一边缘计算装置或所述第二边缘计算装置连接到位于所述第一量子硬件提供商位置或所述第二量子硬件提供商位置处的本地网络的专用物理网络连接。
条款65.根据条款61至64中任一项所述的系统,其中由所述第一量子硬件提供商和所述第二量子硬件提供商使用的所述不同的量子计算技术包括以下项中的两种或更多种:
基于量子退火的量子计算机;
基于离子阱的量子计算机;
基于超导的量子计算机;或
基于光子的量子计算机。
条款66.根据条款61至65中任一项所述的系统,其中实现所述量子计算服务的所述一个或多个计算装置被配置为:
接收中间表示中定义的一个或多个量子计算对象;以及
将所述一个或多个量子计算对象转换成具有与由所述第一量子硬件提供商位置或所述第二量子硬件提供商位置处的所述量子计算机使用的量子计算技术的类型相对应的特定格式的所述一个或多个量子电路。
条款67.一种边缘计算装置,包括:
第一网络连接器,所述第一网络连接器被配置为与量子硬件提供商的本地网络耦合;
第二网络连接器,所述第二网络连接器被配置为将所述边缘计算装置连接到量子计算服务;
一个或多个处理器;以及
存储器,所述存储器存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使所述一个或多个处理器:
接收要在所述边缘计算装置所位于的所述量子硬件提供商的位置处的量子计算机上执行的一个或多个量子计算电路;
调度所述量子计算机上用于执行所述一个或多个量子计算电路的可用性;
将所述一个或多个量子计算电路存储在本地队列中等待所述可用性;以及
将所述一个或多个量子计算电路提交给所述量子硬件提供商的所述位置处的所述量子计算机以供在所述预定可用性期间执行。
条款68.根据条款67所述的边缘计算装置,其中所述边缘计算装置被配置有量子硬件提供商特定的量子机器映像,所述量子硬件提供商特定的量子机器映像被配置为与所述量子硬件提供商的本地网络接口以协调调度所述可用性并且以协调接收由所述量子硬件提供商位置处的所述量子计算机对所述一个或多个量子计算电路的执行的结果。
条款69.根据条款68所述的边缘计算装置,其中所述边缘计算装置被配置为被作为预配置有特定于所述选择的量子硬件供应商的量子机器映像的预配置边缘计算装置运送到选择的量子硬件供应商。
条款70.根据条款67至69中任一项所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时,进一步使所述一个或多个处理器:
从所述量子计算机接收所述一个或多个量子计算电路的执行的结果;以及
使所述结果被存储在使用远离所述量子硬件提供商的所述位置的存储装置实现的所述提供商网络的存储服务中。
条款71.根据条款67至70中任一项所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时,进一步使所述一个或多个处理器:
联系所述量子计算服务以确定量子计算电路是否准备好传输到所述边缘计算装置所位于的所述量子硬件提供商位置;
其中所述一个或多个量子计算电路经由所述量子计算服务的非公开应用可编程接口(API)被从所述量子计算服务传输到所述边缘计算装置。
条款72.根据条款67至71中任一项所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时,进一步使所述一个或多个处理器:
经由所述量子计算服务接收包括经典计算部分和量子计算部分的混合量子计算算法;
在所述边缘计算装置的经典计算硬件上实现的虚拟机上执行所述经典计算部分;以及
协调所述量子计算部分在所述边缘计算装置所位于的所述量子硬件提供商位置处的所述量子计算机上的执行。
条款73.根据条款72所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时进一步使所述一个或多个处理器:
使所述混合量子计算算法的所述量子计算部分的结果的快照被存储在服务提供商网络的数据存储服务处,其中所述服务提供商网络包括被配置为实现所述量子计算服务的一个或多个计算装置。
条款74.根据条款72所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时进一步使所述一个或多个处理器:
实例化第一虚拟机以接收所述一个或多个量子计算电路,调度可用性,并且提交所述一个或多个量子计算电路;以及
实例化第二虚拟机以执行所述混合量子计算算法的所述经典计算部分并且将所述混合量子计算算法的量子计算部分提交给所述第一虚拟机以便协调执行。
条款75.根据条款67至74中任一项所述的边缘计算装置,其中所述程序指令当在所述一个或多个处理器上或者跨所述一个或多个处理器执行时,进一步使所述一个或多个处理器:
实例化第一虚拟机以接收一个或多个量子计算电路,调度可用性,并且为所述量子计算服务的第一客户提交所述一个或多个量子计算电路;以及
实例化第二虚拟机以接收一个或多个量子计算电路,调度可用性,并且为所述量子计算服务的第二客户提交所述一个或多个量子计算电路。
条款76.根据条款67至75中任一项所述的边缘计算装置,其中所述一个或多个量子计算电路由所述边缘计算装置接收,已经被转换成依照所述边缘计算装置所位于的所述量子硬件提供商位置处的所述量子计算机的量子计算技术的格式。
条款77.一种或多种非暂时性计算机可读介质,所述一种或多种非暂时性计算机可读介质存储程序指令,所述程序指令当在一个或多个处理器上或者跨一个或多个处理器执行时,使所述一个或多个处理器:
从量子计算服务接收要在量子硬件提供商位置处的量子计算机上执行的一个或多个量子计算电路,其中所述量子硬件提供商位置远离实现所述量子计算服务的一个或多个计算机;
协调调度所述量子计算机上用于执行所述一个或多个量子计算电路的可用性;
使所述一个或多个量子计算电路被存储在本地队列中等待所述可用性;以及
将所述一个或多个量子计算电路提交给所述量子硬件提供商位置处的所述量子计算机以供在所述预定可用性期间执行。
条款78.根据条款77所述的一种或多种非暂时性计算机可读介质,其中所述程序指令进一步使所述一个或多个处理器:
联系所述量子计算服务以确定量子计算电路是否准备好传输;
其中所述一个或多个量子计算电路经由所述量子计算服务的非公开应用可编程接口(API)从所述量子计算服务接收。
条款79.根据条款78所述的一种或多种非暂时性计算机可读介质,其中所述程序指令进一步使所述一个或多个处理器:
使得从所述量子计算机接收所述一个或多个量子计算电路的执行的结果;以及
使所述结果被存储在使用远离量子硬件提供商的所述位置的存储装置实现的提供商网络的存储服务中。
条款80.根据条款78所述的一种或多种非暂时性计算机可读介质,其中所述一个或多个量子计算电路被接收已经转换成依照所述量子硬件提供商位置处的所述量子计算机的量子计算技术的格式。
结论
各种实施例可还包含在计算机可访问介质上接收、发送或存储根据前述描述而实施的指令和/或数据。一般而言,计算机可访问介质可以包含存储介质或存储器介质(如磁性介质或光学介质,例如,磁盘或DVD/CD-ROM)、易失性或非易失性介质(如RAM(例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等)以及传输介质或信号(如通过通信介质(如网络和/或无线链路)而输送的电信号、电磁信号或数字信号)。
如图所图示和本文所描述的各种方法表示方法的示例性实施例。所述方法可以以软件、硬件或其组合的方式实施。可以改变方法的顺序,并且可以添加、重新排序、组合、省略、修改等各种元素。
对于受益于本公共的本领域的技术人员来说显而易见的是,可进行各种修改和改变。旨在包含所有这些修改和变化,并且因此,以上描述被认为是说明性的而不是限制性的。
Claims (15)
1.一种系统,所述系统包括:
服务提供商网络的一个或多个计算装置,其中所述一个或多个计算装置被配置为实现量子计算服务;
位于第一量子硬件提供商的位置处的所述服务提供商网络的第一边缘计算装置;以及
位于第二量子硬件提供商的位置处的所述服务提供商网络的第二边缘计算装置;
其中所述第一量子硬件提供商和所述第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算电路;
其中被配置为实现所述量子计算服务的所述一个或多个计算装置被配置为:
从所述量子计算服务的客户接收要执行的量子计算对象的定义;
选择所述第一量子硬件提供商或所述第二量子硬件提供商中的至少一个来执行所述量子计算对象;
经由位于所述选择的一个或多个量子硬件提供商的相应位置处的所述第一边缘计算装置或所述第二边缘计算装置向所述量子硬件提供商中的所选一个或多个提交与所述量子计算对象相对应的量子电路;
接收在所述选择的一个或多个量子硬件提供商的量子计算机上执行所述量子电路的结果;
存储执行所述量子电路的所述结果;以及
向所述客户提供所述量子计算对象的执行已完成的通知。
2.根据权利要求1所述的系统,其中被配置为实现所述量子计算服务的所述一个或多个计算装置被进一步配置为:
基于所述量子计算对象的一个或多个特性及所述第一量子硬件提供商和所述第二量子硬件提供商的一个或多个特性来生成使用所述第一量子硬件提供商或所述第二量子硬件提供商中的一个或多个来执行所述量子计算对象的推荐,其中所述一个或多个特性包括由所述相应的第一量子硬件提供商和第二量子硬件提供商使用的所述相应的量子计算技术;
将所述推荐提供给所述客户;以及
接收来自所述客户的指示对所述推荐的采用或要用于执行所述量子计算对象的替代配置的响应,
其中至少部分地基于来自所述客户的所述响应来选择被选择来执行所述量子计算对象的所述第一量子硬件提供商或所述第二量子硬件提供商中的所述一个或多个。
3.根据权利要求1所述的系统,其中由所述第一量子硬件提供商和所述第二量子硬件提供商使用的所述不同的量子计算技术包括以下项中的两种或更多种:
基于量子退火的量子计算机;
基于离子阱的量子计算机;
基于超导的量子计算机;或
基于光子的量子计算机。
4.根据权利要求1所述的系统,还包括:
第一私有专用物理网络链路,所述第一私有专用物理网络链路将所述第一量子硬件提供商的所述位置处的所述第一边缘计算装置连接到所述服务提供商网络;以及
第二私有专用物理网络链路,所述第二私有专用物理网络链路将所述第二量子硬件提供商的所述位置处的所述第二边缘计算装置连接到所述服务提供商网络。
5.一种方法,包括:
在实现在一个或多个计算装置上的量子计算服务处,从所述量子计算服务的客户接收要执行的量子计算任务的定义;
通过所述量子计算服务选择第一量子硬件提供商或第二量子硬件提供商中的至少一个来执行所述量子计算任务,其中所述第一量子硬件提供商和所述第二量子硬件提供商被配置为使用基于不同的量子计算技术的量子计算机来执行量子计算任务;
通过所述量子计算服务经由位于所述第一量子硬件提供商的位置处的所述量子计算服务的第一边缘计算装置或位于所述第二量子硬件提供商的位置处的所述量子计算服务的第二边缘装置向所述选择的至少一个量子硬件提供商提交与所述量子计算任务相对应的量子电路;
使从所述第一量子硬件提供商或所述第二量子硬件提供商接收到的执行结果被存储;以及
通过所述量子计算服务向所述客户提供所述量子计算任务已完成的通知。
6.根据权利要求5所述的方法,其中由所述第一量子硬件提供商和所述第二量子硬件提供商使用的所述不同的量子计算技术包括以下项中的两种或更多种:
基于量子退火的量子计算机;
基于离子阱的量子计算机;
基于超导的量子计算机;或
基于光子的量子计算机。
7.根据权利要求5所述的方法,其中提交所述量子计算任务包括:
将所述量子计算任务从由所述客户用于定义所述量子计算任务的中间表示转换成用于将所述量子计算任务定义为所述量子电路的量子硬件提供商特定定义;
将所述量子电路提供给所述量子计算服务的后端非公开应用可编程接口(API),其中所述第一量子硬件提供商位置处的所述量子计算服务的第一边缘计算装置和所述第二量子硬件提供商位置处的所述量子计算服务的第二边缘计算装置轮询所述后端非公开API以获得要分别在所述第一量子硬件提供商或所述第二量子硬件提供商处执行的转换后的量子电路;
由所述第一边缘计算装置或所述第二边缘计算装置调度所述第一量子硬件提供商或所述第二量子硬件提供商的量子计算机上的执行能力;以及
由所述第一边缘计算装置或所述第二边缘计算装置将所述转换后的量子电路存储在要在所述第一量子硬件提供商或所述第二量子硬件提供商的所述量子计算机上执行的任务的队列中。
8.根据权利要求7所述的方法,进一步包括:
经由连接到所述第一边缘计算装置或所述第二边缘计算装置的所述第一量子硬件提供商或所述第二量子硬件提供商的本地网络将所述量子电路从所述队列提交给所述第一量子硬件提供商或所述第二量子硬件提供商的所述量子计算机;
在所述第一边缘计算装置或所述第二边缘计算装置处接收由正在所述量子计算机上执行的所述量子电路生成的结果;以及
将所述结果存储在包括实现所述量子计算服务的一个或多个计算装置的服务提供商网络的存储服务中,其中所述量子计算任务已完成的所述通知指示所述结果的存储位置。
9.根据权利要求8所述的方法,
其中所述第一边缘计算装置和所述第二边缘计算装置包括分别位于所述第一量子硬件提供商和所述第二量子硬件提供商的所述位置处的服务器;
其中所述一个或多个服务器经由私有专用物理网络链路连接到所述服务提供商网络;以及
其中所述服务器连接到所述第一量子硬件提供商或所述第二量子硬件提供商处的本地网络。
10.根据权利要求5所述的方法,进一步包括:
生成使用所述第一量子硬件提供商或所述第二量子硬件提供商中的一个或多个来执行所述量子计算任务的推荐;
将所述推荐提供给所述客户;以及
接收来自所述客户的指示关于哪个量子硬件提供商将执行所述量子计算任务的选择的响应,
其中所述通过所述量子计算服务选择所述第一量子硬件提供商或所述第二量子硬件提供商中的至少一个来执行所述量子计算任务是基于来自所述客户的所述响应。
11.根据权利要求10所述的方法,其中所述推荐包括以下项中的一个或多个:
由所述第一量子硬件提供商和所述第二量子硬件提供商中的每一个执行所述量子计算任务的估计成本;
所述第一量子硬件提供商和所述第二量子硬件提供商中的每一个关于执行所述量子计算任务的估计错误率;或
针对所述第一量子硬件提供商和所述第二量子硬件提供商中的每一个执行所述量子计算任务的时间的估计长度。
12.根据权利要求5所述的方法,进一步包括:
在包括实现所述量子计算服务的所述一个或多个计算装置的服务提供商网络的计算服务的经典计算硬件上模拟所述量子计算任务,其中所述模拟根据所述第一量子硬件提供商的第一量子计算技术来模拟执行;
在所述服务提供商网络的所述计算服务的经典计算硬件上模拟所述量子计算任务,其中所述模拟根据所述第二量子硬件提供商的第二量子计算技术来模拟执行,
其中所述选择所述第一量子硬件提供商或所述第二量子硬件提供商中的至少一个至少部分地基于根据所述第一量子计算技术的所述模拟的结果和根据所述第二量子计算技术的所述模拟的结果。
13.根据权利要求5所述的方法,其中从所述客户接收到的所述量子计算任务的所述定义被定义在通过所述量子计算服务支持的中间表示中,所述方法进一步包括:
将所述量子计算任务从由所述客户用于定义所述量子计算任务的中间表示转换成用于定义所述量子计算任务的量子硬件提供商特定定义;以及
对所述量子计算任务的转换后的版本执行一个或多个优化操作,使得包括在所述量子计算任务的所述转换后的版本的量子电路中的量子算符的数量减少。
14.根据权利要求13所述的方法,其中转换所述量子计算任务包括:
将所述中间表示的一个或多个门表示映射到特定于被选择来执行所述量子计算任务的所述量子硬件提供商的所述量子计算技术中的特定一种的一个或多个门。
15.根据权利要求13所述的方法,其中所述中间表示中的同一门表示被转换成:
当所述第一量子硬件提供商被选择来执行所述量子计算任务时的第一组量子算符;以及
当所述第二量子硬件提供商被选择来执行所述量子计算任务时的一组不同的量子算符。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/698,698 US11605033B2 (en) | 2019-11-27 | 2019-11-27 | Quantum computing task translation supporting multiple quantum computing technologies |
US16/698,737 | 2019-11-27 | ||
US16/698,737 US11704715B2 (en) | 2019-11-27 | 2019-11-27 | Quantum computing service supporting multiple quantum computing technologies |
US16/698,674 US11605016B2 (en) | 2019-11-27 | 2019-11-27 | Quantum computing service supporting local execution of hybrid algorithms |
US16/698,732 US11650869B2 (en) | 2019-11-27 | 2019-11-27 | Quantum computing service with local edge devices supporting multiple quantum computing technologies |
US16/698,698 | 2019-11-27 | ||
US16/698,732 | 2019-11-27 | ||
US16/698,674 | 2019-11-27 | ||
PCT/US2020/062176 WO2021108510A1 (en) | 2019-11-27 | 2020-11-25 | Quantum computing service supporting multiple quantum computing technologies |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114846480A true CN114846480A (zh) | 2022-08-02 |
Family
ID=73856336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080088554.5A Pending CN114846480A (zh) | 2019-11-27 | 2020-11-25 | 支持多种量子计算技术的量子计算服务 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4066174A1 (zh) |
CN (1) | CN114846480A (zh) |
WO (1) | WO2021108510A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115907019A (zh) * | 2023-01-09 | 2023-04-04 | 苏州浪潮智能科技有限公司 | 一种量子计算机、量子网络及时序数据预测方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11977957B2 (en) * | 2021-08-03 | 2024-05-07 | Amazon Technologies, Inc. | Quantum computing program compilation using cached compiled quantum circuit files |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019222748A1 (en) * | 2018-05-18 | 2019-11-21 | Rigetti & Co, Inc. | Computing platform with heterogenous quantum processors |
-
2020
- 2020-11-25 EP EP20828451.3A patent/EP4066174A1/en active Pending
- 2020-11-25 CN CN202080088554.5A patent/CN114846480A/zh active Pending
- 2020-11-25 WO PCT/US2020/062176 patent/WO2021108510A1/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115907019A (zh) * | 2023-01-09 | 2023-04-04 | 苏州浪潮智能科技有限公司 | 一种量子计算机、量子网络及时序数据预测方法 |
CN115907019B (zh) * | 2023-01-09 | 2023-11-07 | 苏州浪潮智能科技有限公司 | 一种用于气象预测的量子计算机 |
Also Published As
Publication number | Publication date |
---|---|
EP4066174A1 (en) | 2022-10-05 |
WO2021108510A1 (en) | 2021-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11605016B2 (en) | Quantum computing service supporting local execution of hybrid algorithms | |
US11605033B2 (en) | Quantum computing task translation supporting multiple quantum computing technologies | |
JP7358005B2 (ja) | クラウド・サービスのためのネイティブ・コード生成 | |
US11159620B2 (en) | Blockchain based data transformation | |
US9959135B2 (en) | Pattern design for heterogeneous environments | |
CN114846480A (zh) | 支持多种量子计算技术的量子计算服务 | |
US20220188381A1 (en) | Iterative energy-scaled variational quantum eigensolver | |
CN111712799A (zh) | 供在非边缘装置和边缘装置上执行的模型的自动分布 | |
US10542111B2 (en) | Data communication in a clustered data processing environment | |
US11704715B2 (en) | Quantum computing service supporting multiple quantum computing technologies | |
US11650869B2 (en) | Quantum computing service with local edge devices supporting multiple quantum computing technologies | |
AU2020385682B2 (en) | Communication with an application flow in an integration system | |
US11650954B2 (en) | Replication continued enhancement method | |
US20220300611A1 (en) | Run-time communications protocol parameter adjustment in containerized applications | |
US11438398B2 (en) | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination | |
US11297065B2 (en) | Technology for computing resource liaison | |
US11868846B1 (en) | Quantum computing simulation using comparative rejection sampling | |
US11977957B2 (en) | Quantum computing program compilation using cached compiled quantum circuit files | |
US11765236B2 (en) | Efficient and extensive function groups with multi-instance function support for cloud based processing | |
US20230051684A1 (en) | Optimized addition and removal of compute resources in a distributed storage platform by implementing mapping changes in a shared storage subsystem | |
US20230037986A1 (en) | Autoencryption system for data in a container | |
US20230214276A1 (en) | Artificial Intelligence Model Management | |
JP2023552484A (ja) | 補助プロセッサ・コマンド・タイプ・フィルタリング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |