CN111165052A - 启用量子计算的云环境中的作业处理 - Google Patents
启用量子计算的云环境中的作业处理 Download PDFInfo
- Publication number
- CN111165052A CN111165052A CN201780095360.6A CN201780095360A CN111165052A CN 111165052 A CN111165052 A CN 111165052A CN 201780095360 A CN201780095360 A CN 201780095360A CN 111165052 A CN111165052 A CN 111165052A
- Authority
- CN
- China
- Prior art keywords
- quantum
- processor
- result
- instruction
- qce
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 117
- 238000000034 method Methods 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012805 post-processing Methods 0.000 claims description 10
- 238000013179 statistical model Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 19
- 239000002096 quantum dot Substances 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000005610 quantum mechanics Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
- 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/5055—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 software capabilities, i.e. software resources associated or available to the machine
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
查明量子云环境QCE中的量子云计算节点QCCN的量子处理器(q处理器)的配置与在提交给所述QCE的作业的一部分(q部分)中的第一指令中请求的操作之间的兼容性,所述QCE包括所述QCCN和常规计算节点CCN,所述CCN包括被配置用于二进制计算的常规处理器。响应于所述查明,构造对应于所述第一指令的量子指令(q指令)。使用所述QCCN的所述q处理器执行所述q指令以产生量子输出信号(q信号)。将所述q信号变换成对应的量子计算结果(q结果)。将最终结果返回给提交所述作业的提交系统,其中,所述最终结果包括所述q结果。
Description
技术领域
本发明总体上涉及一种用于使用量子计算系统的方法、系统、以及计算机程序产品。更具体地,本发明涉及用于在启用量子计算的云环境中进行作业处理的方法、系统、以及计算机程序产品。
背景技术
在下文中,除非在使用时明确区分,否则短语的词中的"Q"前缀指示在量子计算上下文中引用该词或短语。
自然-包括分子-遵循量子力学定律,量子力学是探索物理世界如何在最基本的水平上工作的物理学分支。在此水平,粒子以奇怪的方式表现,同时呈现多于一个状态,并且与非常远的其他粒子相互作用。量子计算利用这些量子现象来处理信息。
我们现在使用的计算机被称为经典计算机(本文也称为"传统"计算机或传统节点,或"CN")。传统的计算机使用利用半导体技术制造的处理器、半导体存储器和磁或固态存储设备,这被称为冯诺依曼架构。特别地,传统计算机中的处理器是二进制处理器,即,对以1和0表示的二进制数据进行操作。
量子处理器(q处理器)使用纠缠量子位器件(在本文中被简称为"量子位",多个量子位)的奇异性质来执行计算任务。在量子力学工作的特定领域中,物质粒子能够以多种状态存在,例如"开"状态、"关"状态以及同时"开"和"关"状态。
在使用半导体处理器的二进制计算限于仅使用"开"和"关"状态(等效于二进制码中的1和0)的情况下,量子处理器利用物质的这些量子状态来输出可用于数据计算的信号。
常规计算机以比特对信息进行编码。每个位可取值1或0。这些1和0用作最终驱动计算机功能的开/关开关。另一方面,量子计算机基于量子位,量子位根据量子物理学的两个关键原理来操作:叠加和纠缠。叠加意味着每个量子位可以同时表示1和0。纠缠意味着叠加中的量子位可以以非经典方式彼此相关;即,一个的状态(无论它是1还是0)可以取决于另一个的状态,并且当两个量子位纠缠时比当它们被单独处理时有更多有关它们的信息可以被查明。使用这两个原理,量子位作为更复杂的信息处理器来操作,使量子计算机能够以允许它们解决使用常规计算机难以处理的难题的方式来工作。IBM公司已经成功地构建并展示了量子处理器的可操作性(IBM是国际商业机器公司在美国和其他国家/地区的注册商标)。
说明性实施例认识到,使用量子计算机或量子计算节点(分别为"QC"或"QCN")是与使用CN明显不同的命题。目前,云计算环境完全由CN组成,并且用于操作这些云环境的各种方法是公知的。然而,说明性实施例认识到,操作包括至少一个QCN的云环境是完全不同的问题,这不能使用操作纯CN型机器云的架构或方法来解决。
QCN已经被证明可用于数据计算目的。包括QCN的云环境在没有Q特定机制的情况下不可操作以将作业引导到混合云中的QCN或QCN与CN的组合。因此,说明性实施例认识到需要一种系统,其可以适配用于q计算的传入数据处理作业的各部分,管理QCN与CN之间的作业划分,将来自QCN的q信号适当地适配为q结果,以及将q结果与从CN获得的结果相合并以产生响应于该作业而可接受的结果。
因此,在本领域中需要解决上述问题。
发明内容
从第一方面来看,本发明提供了一种用于量子云环境(QCE)的方法,所述方法包括:查明量子云环境QCE中的量子云计算节点QCCN的量子处理器(q处理器)的配置与在提交给所述QCE的作业的一部分(q部分)中的第一指令中请求的操作之间的兼容性,所述QCE包括所述QCCN和常规计算节点CCN,所述CCN包括被配置用于二进制计算的常规处理器;响应于所述查明,构造对应于所述第一指令的量子指令(q指令);使用所述QCCN的所述q处理器执行所述q指令以产生量子输出信号(q信号);将所述q信号变换成对应的量子计算结果(q结果);以及将最终结果返回给提交所述作业的提交系统,其中,所述最终结果包括所述q结果。
从另一方面来看,本发明提供了一种量子云环境(QCE),包括:量子云计算节点QCCN,其包括量子处理器(q处理器);常规计算节点CCN,其包括被配置用于二进制计算的常规处理器;以及计算机可用程序代码,所述计算机可用程序代码在使用所述常规处理器执行时导致以下功能:查明所述QCCN的所述q处理器的配置与在提交给所述QCE的作业的一部分(q部分)中的第一指令中请求的操作之间的兼容性,所述QCE包括所述QCCN和常规计算节点CCN;响应于所述查明,构造对应于所述第一指令的量子指令(q指令);使用所述QCCN的所述q处理器执行所述q指令以产生量子输出信号(q信号);将所述q信号变换成对应的量子计算结果(q结果);以及将最终结果返回给提交所述作业的提交系统,其中,所述最终结果包括所述q结果。
从另一方面来看,本发明提供了一种用于量子云环境QCE的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质能够由处理电路读取并存储由所述处理电路执行以执行用于执行本发明的步骤的方法的指令。
从另一方面来看,本发明提供了一种计算机程序,其存储在计算机可读介质上并能够载入数字计算机的内部存储器中,所述计算机程序包括软件代码部分,当所述程序在计算机上运行时,所述软件代码部分用于执行本发明的步骤。
说明性实施例提供了一种方法、系统、以及计算机程序产品。实施例包括一种方法,该方法查明量子云环境QCE中的量子云计算节点QCCN的量子处理器(q处理器)的配置与在提交给所述QCE的作业的一部分(q部分)中的第一指令中请求的操作之间的兼容性,所述QCE包括所述QCCN和常规计算节点CCN,所述CCN包括被配置用于二进制计算的常规处理器。该实施例响应于所述查明,构造对应于所述第一指令的量子指令(q指令)。该实施例使用所述QCCN的所述q处理器执行所述q指令以产生量子输出信号(q信号)。该实施例将所述q信号变换成对应的量子计算结果(q结果)。该实施例将最终结果返回给提交所述作业的提交系统,其中,所述最终结果包括所述q结果。因此,实施例通过确定量子计算的作业适用性并且仅对与所配置的量子处理器的一个或多个特性相匹配的那些部分实施量子计算,来适当地管理其中可以提交混合计算要求的作业的QCE中的量子计算资源的使用。
另一实施例进一步使用与所述q处理器相关联的硬件来校正所述q信号中的错误以产生校正后的q信号。因此,实施例操作QCE中的量子计算资源以改进由所配置的量子处理器执行的量子计算的可靠性和稳定性。
另一实施例进一步解调所述q信号。该实施例数字化所述q信号。该实施例从数字化后的q信号中提取初始量子计算结果(初始q结果)。因此,实施例提供了一种用于可靠地操作QCE中的量子计算资源以执行量子计算并获得q结果的方法。
另一实施例进一步对所述初始q结果进行后处理,其中,所述后处理包括将统计模型应用于所述初始q结果以获得新的q结果,并且其中,所述新的q结果是由所述q处理器计算的正确结果的概率大于阈值。因此,实施例操作QCE中的量子计算资源以改进由所配置的q处理器执行的量子计算的可靠性和稳定性。
在另一实施例中,使用量子指令语言来对所述q指令编码。因此,实施例提供了一种使指令能够使用q处理器来执行的特定方式。
在另一实施例中,所述量子指令语言包括量子汇编语言QASM。因此,实施例提供了一种使指令能够使用q处理器来执行的特定方式。
另一实施例还响应于确定所述q部分中的第二指令与所述QCCN中的q处理器的量子计算配置不兼容,构造与所述第二指令相对应的常规指令。该实施例在所述QCE中的所述CCN上执行所述常规指令。因此,实施例在QCE中的量子计算资源与常规计算资源之间适当地分割作业。
另一实施例还从在所述CCN上执行所述常规指令来获得常规结果。该实施例将所述常规结果与所述q结果相合并以产生所述最终结果。因此,一个实施例在QCE中的量子计算资源与传统计算资源之间适当地分割作业,并且产生使分割执行对作业提交者透明的作业输出。
另一实施例还构造与所述作业中的第二部分中的指令相对应的常规指令。该实施例调度所述常规指令以在所述QCE中的所述CCN上执行。因此,实施例在QCE中的量子计算资源与常规计算资源之间适当地分割作业。
在另一个实施例中,所述QCCN是在所述QCE中工作的一组QCCN中的一个QCCN,其中,所述CCN是在所述QCE中工作的一组CCN中的一个CCN。因此,实施例提供一种配置QCE的方式。
在另一个实施例中,所述q处理器的所述配置包括在所述q处理器中可用的量子位的数量,并且其中,所述查明包括确定所述操作能够使用所述数量的量子位来执行。因此,实施例提供一种配置和使用QCE中的量子计算资源的方式。在另一实施例中,所述q处理器的所述配置包括被配置为由所述q处理器执行的操作的类型,并且其中,所述查明包括确定在所述第一指令中请求的所述操作能够使用在所述q处理器中配置的第二操作来执行,所述第二操作使用一组量子位。因此,实施例提供另一种配置和使用QCE中的量子计算资源的方式。
在另一实施例中,所述q处理器的所述配置包括由所述q处理器产生的所述q信号中的错误率,其中,所述查明包括确定所述q部分的错误容限至少等于所述错误率。因此,实施例提供另一种配置和使用QCE中的量子计算资源的方式。
另一实施例还使用与所述q部分相关联的指示来在所述作业中识别所述q部分,所述指示涉及所述q部分对于量子计算的适合性。因此,实施例提供一种用于确定作业是否能够受益于使用QCE中的量子计算资源的方法。
另一个实施例还使用在所述第一指令中请求的所述操作来在所述作业中识别所述q部分,所述操作是使用所述q处理器在所述QCCN中配置的。因此,实施例提供一种用于确定作业是否能够受益于使用QCE中的量子计算资源的方法。
实施例包括一种计算机可用程序产品。所述计算机可用程序产品包括一个或多个计算机可读存储设备,以及存储在所述一个或多个存储设备中的至少一个上的程序指令。
实施例包括一种计算机系统。所述计算机系统包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备、以及程序指令,所述程序指令存储在所述一个或多个存储设备中的至少一个上以用于由所述一个或多个处理器中的至少一个经由所述一个或多个存储器中的至少一个来执行。
附图说明
在所附权利要求中阐述了被认为是本发明的特性的某些新颖特征。然而,通过参考以下结合附图对说明性实施例的详细描述,将最好地理解本发明本身及其优选使用模式、进一步的目的和优点,其中:
图1描绘了根据现有技术并且其中可以实现本发明的优选实施例的数据处理系统的网络的框图;
图2描绘了根据现有技术并且其中可以实现本发明的优选实施例的数据处理系统的框图;
图3描绘了根据本发明的优选实施例的用于启用量子计算的云环境中的作业处理的示例配置的框图;
图4描绘了根据根据本发明的优选实施例的用于启用量子计算的云环境中的作业处理的应用的框图;
图5描绘了根据本发明的优选实施例的用于在启用量子计算的云环境中的作业处理的过程的一部分的流程图;以及
图6描绘了根据本发明的优选实施例的用于在启用量子计算的云环境中的作业处理的过程的另一部分的流程图。
具体实施方式
说明性实施例认识到,目前可用的工具或解决方案没有解决这些需要/问题或提供用于这些需要/问题的适当解决方案。用于描述本发明的说明性实施例一般地通过在启用量子计算的云环境中的作业处理来解决上述问题和其它相关问题。
实施例可以被实现为某些q计算硬件组件和软件应用的组合。实施例的软件应用部分或其一个或多个组件的实现能够被配置为现有CN的修改,其中软件应用在(i)CN本身、(ii)通过短程无线电或有线局域网(LAN)与CN通信的数据处理系统和(iii)通过广域网(WAN)与CN通信的数据处理系统的某种组合中执行。
作业发送器是发送需要数据计算的数据处理作业的任何类型或配置的任何数据处理系统。具体地,作业发送器将作业发送到云环境。根据说明性实施例,云环境包括实施例能够在其上执行的至少一个QCN和至少一个CN。这种云计算环境在下文中被称为量子云环境(QCE)。在QCE中工作的QCN被称为量子云计算节点(QCCN)。
QCE可包括适当配置中的一个或多个CN(诸如集群)以使用传统的二进制计算来处理作业或作业的一部分。这样的CN在本文被称为常规云计算节点(CCN)。
QCE中的实施例接收作业。该实施例确定在作业中是否存在请求量子处理、适合于量子处理或两者的部分。作为一个非限制性示例,作业可以使用量子处理语言对作业指令的一部分进行编码,量子处理语言诸如包括但不限于量子汇编语言(QASM)。该实施例将这样的部分识别为请求量子处理。
作为另一个非限制性示例,该实施例可以分析已经使用传统处理语言进行编码的部分中的一组作业指令,例如,包括但不限于符合指令集架构(ISA)的语言(例如汇编语言、C++或Java(Java是Oracle公司在美国和其他国家/地区的商标))中的指令。在一种情况下,该实施例可以确定在这样的部分中请求的操作是在QCE的QCCN中实现的特定q处理器中实现的,或者能够使用在QCE的QCCN中实现的特定q处理器来计算。因此,该实施例得出结论,作业的该部分特别适合于使用给定QCE中的量子处理进行处理。因此,该实施例识别用于量子处理的部分。
在一些情况下,作业部分可以例如通过包括QASM代码来请求量子处理,但是实施例可能确定所请求的操作、该代码中的计算所需的量子位、作业/部分/指令/代码所容许的错误率与所实现的QCCN中的量子位配置不一致。例如,量子处理指令可能需要六个量子位,但是QCE中的QCCN是仅使用四个量子位来实现的。作为另一个示例,量子处理指令可能使用低效率的操作,或者使用对于使用QCE中的特定QCCN配置而言是不可能的操作。作为另一个示例,包括量子处理指令的作业可能具有针对计算的错误容限,该错误容限低于QCE中的特定QCCN配置的输出中的错误,并且根据该容限使用QCCN来实现较低的错误值将是对QCCN的低效使用。因此,在这些和许多其它情况中的实施例可以确定,尽管请求了量处理,但是应当使用CCN来计算作业或作业的一部分。
以这种方式操作,实施例识别所提交作业的一部分,其中该部分适合于q处理。作业可以包括一个或多个部分,实施例使用QCCN将这些部分识别为适合于q处理。另外,该实施例可以将作业的零个或多个部分识别为适合于使用CCN的常规计算。
一旦所提交作业的一部分被识别为适合于q处理,则实施例编译该部分。由该实施例执行的该编译在若干方面不同于传统的代码编译。例如,由该实施例对作业的一部分执行的编译是量子计算特定的,因为该编译至少确定和设置执行在该部分中设想的计算将需要的量子位的数量。在一个实施例中,编译还优化或试图优化计算所需的量子位的数量,使其达到QCE中的QCCN中可用的量子位的数量的最大值。如果这种优化成功,则实施例继续进行以进一步编译或调度如本文所述的部分以用于q处理。如果这种优化不成功,即,当量子位的数量不能减少到QCCN中可用的量子位的最大数量时,实施例编译或调度如本文所述的部分以用于传统处理。
作为另一示例,由该实施例对作业的一部分执行的编译是量子计算特定的,因为该编译至少确定并设置执行该部分中构想的计算将需要的数学运算的类型。在一个实施例中,编译还优化或试图优化能够使用在QCE中的QCCN中配置的一个或多个其它操作执行的计算所需的操作。如果这种优化成功,则实施例继续进行以进一步编译或调度如本文所述的部分以用于q处理。如果这种优化不成功,即,当该部分中所需的操作不能使用QCCN中的可用操作的组合来执行时,则实施例编译或调度如本文所述的该部分以用于常规处理。
作为另一个示例,由该实施例对作业的一部分执行的编译是量子计算特定的,因为该编译至少确定并设置该部分中构想的计算将要需要的错误容限。在一个实施例中,该编译还优化或试图优化计算所需的错误容限,使其不小于已知存在于QCE中的QCCN的输出中的最小错误。如果这种优化成功,则实施例继续进行以进一步编译或调度如本文所述的部分以用于q处理。如果这种优化不成功,即,当容限不能增加到QCCN的最小错误时,则实施例编译或调度如本文所述的部分以用于常规处理。
这些量子编译功能的示例不是要限制说明性实施例。本领域普通技术人员从本公开中可以想到许多其他量子编译功能,并且在说明性实施例的范围内可以设想这些量子编译功能。例如,由实施例对作业的一部分执行的编译也可以以许多其它方式而是量子计算特定的。在一个这样的示例中,编译至少试图组合从该部分得到的q处理指令,布置这样的q处理指令,减少这样的q处理指令,或者以其他方式组织q处理指令,以使得用于计算该部分的QCCN的利用减少,利用在QCCN中实现的数学运算,不同的量子指令在已编译部分中比它们在原始作业部分中的初始位置更靠近地布置在一起,和/或不同的量子指令在已编译部分中彼此链接。
作为另一示例,作业可以使用诸如QASM之类的量子指令语言来指定一部分。然而,实施例可发现该部分所需的q处理的量子参数与QCE中可用的QCCN不兼容。在这种情况下,该实施例的量子计算特定的操作将该部分从量子指令语言转换为传统指令语言以用于传统处理。
一个实施例将来自已编译部分的q指令分配给q资源。q处理器是q资源的示例。通常,q资源是根据量子力学的一个或多个原理操作的量子位或量子计算资源的任何表现形式,如前所述。
例如,假设多个QCCN在QCE中工作,一个QCCN被配置有四个量子位,而另一个QCCN被配置有八个量子位。仅利用四个量子位的q指令对4量子位QCCN的利用好于对8量子位QCCN的利用。
类似地,尽管对于实际实现不一定是这种情况,但是假设一个QCCN被配置成执行加法运算,而另一个QCCN被配置成执行乘法运算。将两个大数相乘的q指令更好地利用用于乘法运算的配置,而不是重复地使用加法配置来达到相同的结果。
QCCN的操作通常按照逻辑门来配置,逻辑门实现这些和其它数学运算。一种优化q指令处理的方式是优化在计算中使用的门的数量。
这些非限制性实例证明,将不同的q指令分配给不同的QCCN能够具有真实和可测量的结果。结果可以简单地是计算成本差,或者可以是最终结果中的误差。例如,如果执行一次乘法运算并且测量一次量子输出信号,则该输出中的错误很可能小于来自另一量子输出中的累积重复的相加运算的累积错误。
由于这些和其它原因,实施例将来自所提交作业的已编译部分的一组一个或多个q指令分配给在QCE中工作的特定QCCN。作为将一组q指令分配给特定QCCN的实施例的一部分,该实施例确定QCCN是否具有等待在QCCN上执行的q指令的关联队列。
如果对于所选择的QCCN存在这样的队列或其它调度机制,则实施例将该组q指令输入队列或所配置的调度机制中。取决于队列或调度机制的操作,该组q指令被选择用于由QCCN在适当的时间执行。如果对于所选择的QCCN不存在这样的队列或其它调度机制,则实施例可立即在QCCN执行该组q指令。
回想一下,实施例可能已经使用常规指令编译了所提交作业的一部分。根据已知的常规云计算方法,类似地调度这样的常规指令以在合适的CCN上执行。
q指令在QCCN上的执行产生从QCCN输出的信号。一个或多个常规指令在CCN上的执行产生常规结果。
实施例确定所提交的作业是否已经被插装以用于错误处理。纠错是一种类型的错误处理。通过包括校正或以其它方式考虑计算结果中的预期错误的代码,作业可被插装以用于错误处理。该实施例识别作业中的这种插装,并配置与QCCN输出相关的错误处理操作。一种类型的错误处理被配置在收集和处理q处理器的输出信号的硬件机构中。QCCN中的这种硬件机构被称为硬件链。
输出信号是在q处理器中的量子位的特定实现中使用的粒子的所检测的量子状态。输出信号的一些非限制性示例包括光子的极化和/或数量、光子的到达时间、光束中的光子的相干状态、电子的自旋、电子电荷或电子的数量、原子核的自旋、晶格中的原子自旋、超导电荷量子位中的约瑟夫逊结的电荷、超导通量量子位中的约瑟夫逊结的电流、超导相位量子位中的约瑟夫逊结的能量、单电荷量子点对中的电子定位、量子点的点自旋等等。
基于硬件链的错误处理测量q处理器的输出信号。可以在硬件链中执行某些信号错误检测和校正,例如通过应用由另一装置验证输出信号、将一个输出信号与另一个输出信号相关,或在量子位的重复操作中重新创建该输出信号。在一些情况下,在适当地插装作业的情况下,硬件链中的错误处理能够被最小化、减少、改变或省略,如在特定实现中的情况那样。
一个实施例使得使用适当的已知信号调制/解调技术来解调所测量的或硬件链校正后的输出信号。该实施例将解调信号数字化,以使得能够从数字化后的解调信号中提取二进制数据。
一个实施例使用数字化信号来计算二进制表示的q结果。可以获得针对作业的经q处理的部分的一个或多个q结果。
可选地,一个实施例还将一个或多个后处理操作应用于q结果。后处理的一个示例是对q结果的基于软件的错误处理。在此阶段应用错误处理还取决于作业代码内的错误处理插装。错误处理的示例方式(例如,错误检测和/或错误校正)包括将统计算法或模型应用于q结果。例如,如果针对相同或相似的一组q指令获得多个q结果值,则统计模型可以查明与q结果的另一值相比,q结果的特定值是否是更可能的、更不可能的或具有同等可能。作为该实施例的错误处理操作的示例,在这种情况下,示例模型将从q结果的多个值中选择最可能的值。
当从作业的另一部分的常规计算也获得常规结果时,可能需要另一类型的后处理。例如,实施例将常规结果与q结果相合并。可以根据计算的性质、结果的类型和说明性实施例的任何给定实现中的作业的预期,以任何适当的方式实现合并操作。
合并操作产生最终结果。一个实施例响应于从提交者接收到作业,将最终结果递送给作业提交者。
在当前可用的方法中,本文描述的启用量子计算的云环境中的作业处理的方式是不可用的。本文所述的实施例的方法(在被实现为在CN上相对于QCCN执行时)在管理QCE中的纯量子处理工作负荷或混合式量子和常规处理工作负荷方面,包括对QCE的功能性的显著提升。
仅作为示例,关于某些类型的作业、指令、q指令、编译操作、分配逻辑、q处理器、QCN、输出信号、错误处理、后处理、变换或转换、算法、实施例的位置、附加数据、设备、数据处理系统、环境、组件和应用,描述了说明性实施例。这些和其它类似产物的任何特定表现形式不是要限制本发明。可以在示例性实施例的范围内选择这些和其它类似产物的任何适当表现形式。
此外,可以针对任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备可以在本地在数据处理系统处或通过数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在说明性实施例的范围内,适于与移动设备一起使用的任何类型的数据存储设备可以在移动设备处本地地或者通过数据网络向这样的实施例提供数据。
使用特定代码、设计、架构、协议、布局、示意图和工具来描述说明性实施例,这些仅作为示例,而不是对说明性实施例的限制。此外,为了描述的清楚,在一些实例中使用特定软件、工具和数据处理环境仅作为示例来描述说明性实施例。说明性实施例可以结合其他相当或类似目的的结构、系统、应用或架构来使用。例如,在本发明的范围内,其他相当的移动设备、结构、系统、应用或其架构可以与本发明的这种实施例结合使用。说明性实施例可以以硬件、软件或其组合来实现。
本公开中的示例仅用于清楚描述,而不是限于说明性实施例。从本公开可以想到附加的数据、操作、动作、任务、活动和操纵,并且在说明性实施例的范围内可以设想这些附加的数据、操作、动作、任务、活动和操纵。
本文列出的任何优点仅是示例,并且不旨在限制说明性实施例。通过特定的说明性实施例可以实现附加的或不同的优点。此外,特定说明性实施例可具有上文所列的优点中的一些、全部优点或不具有上文所列的优点。
参考附图,并且具体参考图1和2,这些附图是可以实现说明性实施例的数据处理环境的示例图。图1和2仅仅是示例,并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行许多修改。
图1描绘了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆的连接。
客户机或服务器仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106连同存储单元108一起耦合到网络102。软件应用可以在数据处理环境100中的任何计算机上执行。客户机110、112和114也耦合到网络102。诸如服务器104或106或客户机110、112或114的数据处理系统可以包含数据,并且可以具有在其上执行的软件应用或软件工具。
仅作为示例,而不暗示对这样的体系结构的任何限制,图1描绘了可在实施例的示例实现中使用的某些组件。例如,服务器104和106以及客户机110、112、114被描绘为服务器和客户机,这仅作为示例,而不是暗示对客户机-服务器架构的限制。作为另一个示例,一个实施例可以分布在如图所示的几个数据处理系统和数据网络上,而另一个实施例可以在说明性实施例的范围内的单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示适于实现实施例的集群、分区和其它配置中的示例节点。
设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户机110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用可以被配置为以类似的方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置为以类似的方式在设备132中存储或产生。
云140是本文所述的QCE的一个示例。作为示例,QCE 140包括CCN104、106和许多其它类似的CCN 142。作为一个示例,CCN 106和142可以被配置为CCN的集群144。QCE 140还包括一个或多个QCCN,例如QCCN 146。QCCN(例如QCCN 146)包括一个或多个q处理器148。当前可行的量子位是q处理器148的一个示例。应用105实现本文描述的实施例。应用105在CCN(例如QCE 140中的服务器104)上运行。客户机110可以配置作业111,并以本文描述的方式作为作业111到QCE 140的发送者来操作。
QCE 140可以使用有线连接、无线通信协议或其它适当的数据连接耦合到网络102。客户机110、112和114可以是例如个人计算机或网络计算机。网络102可以表示使用传输控制协议/网际协议(TCP/IP)和其它协议来彼此通信的网络和网关的集合。图1旨在作为示例,而不是作为对不同说明性实施例的架构限制。
数据处理环境100作为整体还可以采取云的形式,并且采用服务递送的云计算模型以实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理工作或与服务的提供者的最小交互来快速供应和释放。
参考图2,该图描绘了可以实现说明性实施例的常规数据处理系统的框图。数据处理系统200是计算机的示例,例如图1中的服务器104和106、或客户机110、112和114、或另一类型的设备,用于针对示例性实施例实现处理的计算机可用程序代码或指令可以位于其中。
数据处理系统200还代表数据处理系统或其中的配置,例如图1中的数据处理系统132,实现示例性实施例的处理的计算机可用程序代码或指令可以位于其中。数据处理系统200仅作为示例被描述为计算机,而不被限于计算机。在不脱离本文描述的数据处理系统200的操作和功能的一般描述的情况下,采取诸如图1中的设备132的其他设备的形式的实现可以诸如通过添加触摸接口来修改数据处理系统200,并且甚至从数据处理系统200中去除某些所描绘的组件。
在所描绘的示例中,数据处理系统200采用集线器体系结构,包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(NB/MCH)202。处理单元206可以包含一个或多个处理器,并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(AGP)耦合到NB/MCH 202。
在所描绘的示例中,局域网(LAN)适配器212耦合到南桥和I/O控制器集线器(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其它端口232、以及PCI/PCIe设备234通过总线238耦合到南桥和I/O控制器集线器204。硬盘驱动器(HDD)或固态驱动器(SSD)226和CD-ROM 230通过总线240耦合到南桥和I/O控制器集线器204。PCI/PCIe设备234可以包括例如以太网适配器、附加卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224可以是例如闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM 230可使用例如集成驱动电子设备(IDE)、串行高级技术附件(SATA)接口或诸如外部SATA(eSATA)和微SATA(mSATA)的变体。超级I/O(SIO)设备236可以通过总线238耦合到南桥和I/O控制器集线器(SB/ICH)204。
存储器(例如主存储器208、ROM 224或闪存(未示出))是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、CD-ROM 230和其它类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。
操作系统在处理单元206上运行。操作系统协调并提供对图2中的数据处理系统200内的各种组件的控制。操作系统可以是用于任何类型的计算平台(包括但不限于服务器系统、个人计算机和移动设备)的商业上可获得的操作系统。面向对象或其它类型的编程系统可以与操作系统一起操作,并且提供从在数据处理系统200上执行的程序或应用对操作系统的调用。
用于操作系统、面向对象的编程系统的指令、以及诸如图1中的应用105之类的应用或程序位于存储设备上(诸如采取硬盘驱动器226上的代码226A的形式),并且可被加载到诸如主存储器208的一个或多个存储器中的至少一个中以供处理单元206执行。说明性实施例的过程可以由处理单元206使用计算机实现的指令来执行,所述指令可以位于存储器(例如主存储器208、只读存储器224)中或者位于一个或多个外围设备中。
此外,在一种情况下,代码226A可以通过网络201A从远程系统201B下载,其中类似的代码201C存储在存储设备201D上。在另一种情况下,代码226A可以通过网络201A下载到远程系统201B,其中下载的代码201C存储在存储设备201D上。
图1-2中的硬件可以根据实现而变化。除了图1-2中描述的硬件之外,或者代替这些硬件,可以使用其它内部硬件或外围设备,例如闪存、等效的非易失性存储器或光盘驱动器等。此外,示例性实施例的处理可以应用于多处理器数据处理系统。
在一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),其通常配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、I/O总线和PCI总线。当然,总线系统可以使用任何类型的通信结构或体系结构来实现,所述通信结构或体系结构提供在附接到该结构或体系结构的不同组件或设备之间的数据传输。
通信单元可以包括一个或多个用于发送和接收数据的设备,例如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,例如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或CPU。
图1-2中所描绘的示例和上述示例不意味着暗示体系结构限制。例如,数据处理系统200除了采取移动或可穿戴设备的形式之外,还可以是平板计算机、膝上型计算机或电话设备。
在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中所描绘的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206被表现为主机数据处理系统中可用的所有或一些数量的硬件处理单元206的虚拟化实例,主存储器208被表现为主机数据处理系统中可用的主存储器208的所有或一些部分的虚拟化实例,盘226被表现为主机数据处理系统中可用的盘226的所有或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。
参考图3,该图描绘了根据说明性实施例的用于启用量子计算的云环境中的作业处理的示例配置的框图。应用302是图1中的应用105的示例。QCE304是图1中的QCE 140的示例。
作业306是图1中作业111的示例。假定无论在作业306内是否以某种方式这样指示,作业306的一部分308优选地使用量子计算来执行。
QCE 304包括如本文所述的QCCN 310和CCN 312。虽然仅示出QCCN 310和CCN 312中的每一个的一个实例,但是QCCN 310中的一个或多个以及CCN 312中的零个或多个可以存在于QCE 304中。优选地,在QCE 304中存在至少一个CCN,在其上可以执行应用302,在其上可以执行常规计算,或者两者都执行。如所描绘的,应用302可以在CCN 312或QCE 304中的另一个CCN上执行。
当在QCE 304中接收到作业306时,功能314将部分308(q部分)识别为优选或适合于q计算。功能316编译作业306的q部分。功能318执行作业306的常规部分的常规编译。功能316可以输出q指令320(q操作或q op),其被发送用于如本文所述的QCCN分配(QP分配或q处理器分配)。出于本文所述的一个或多个原因,功能316还可以输出常规指令322(常规操作或conv ops),其被发送用于常规资源分配。
功能324使用如在此描述的排队和调度机制将q指令分配给QCCN、或者甚至分配给其中的特定量子处理器。功能326使用相应的排队和调度机制将常规指令分配给CCN。
所排队或调度的q指令在QCCN 310上执行,并且产生输出信号328(q信号)。所排队或调度的常规指令在CCN 312上执行,并产生常规结果330。
硬件链332执行功能334。功能334包括信号测量、错误处理、解调、数字化或其某种组合。功能334产生一个或多个q结果。
后处理功能336和可选的基于软件的错误处理功能338如前所述地对q结果进行操作。功能340合并后处理的q结果和常规结果330。功能342将合并后的最终结果作为作业306的处理结果来递送。
参考图4,该图描绘了根据说明性实施例的用于在启用量子计算的云环境中的作业处理的应用的框图。应用402实现在图3中的应用302中描绘和描述的功能。
作业提交者404将作业406提交给QCE,例如图3中的QCE 304。特别地,提交者404使用由应用402呈现的应用编程接口(API)408。作业406是图3中的作业306的示例。
组件410执行量子准备功能,诸如识别作业404的适合量子处理的部分(q部分)、容错插装确定和错误处理配置。控制器组件412结合量子编译器(q编译器)414来编译q部分。q编译器414被配置成以诸如QASM之类的合适的量子指令语言来创建、转换或优化用于量子计算的指令。控制器组件412还使用合适的常规编译器(未示出)来编译本文所述的一个或多个情况下的常规指令。
调度器组件416排队或调度q指令以用于QCCN的执行。当还编译常规指令时,调度器组件416还排队或调度常规指令以用于CCN的执行。
q处理器418计算q指令且产生输出信号。硬件链420处理输出信号并产生q结果。组件422从硬件链420获得q结果,并使用诸如统计模型424的一个或多个模型来对q结果进行后处理。
可选地,组件426对q结果执行基于软件的错误处理。组件428将任何常规结果与经后处理的q结果相合并,并准备最终结果430。组件428将最终结果430递送给作业提交者404。
参考图5,该图描绘了根据说明性实施例的用于在启用量子计算的云环境中的作业处理的过程的一部分的流程图。过程500可以在图4中的应用402中实现。
从所提交的云计算工作中,应用识别将受益于QCE中的量子计算的部分(块502)。当作业包括用于常规计算的部分时,应用创建、修改或优化常规指令,以便在QCE中的CCN上执行(方块504)。应用调度并在CCN上执行常规指令(块506)。应用经由出口"A"退出处理500,并经由相应的入口"A"进入处理600。
当在步骤502处识别出q部分时,应用将q部分编译成q指令(框508)。编译过程可包括子步骤510、512、514、516、518的组合,以及本领域普通技术人员从本公开中显而易见的其他类似目的的子步骤。例如,子步骤510针对q指令选择适当数量的量子位。当不应或不能使用量子计算来处理整个q部分时,子步骤512将q部分的子部分发送到框504以用于常规计算。子步骤514选择将在q指令中执行的量子运算的类型。子步骤516设置q指令的错误率容限。子步骤518修改或优化量子位的数量、q运算的类型、错误率的值,以对应于QCE中可用的特定QCCN的量子位、运算和错误率。
应用将q指令分配给在编译步骤508中使用的特定QCCN(块520)。应用调度q指令以便在该选择的QCCN上执行(块522)。应用在该QCCN上执行q指令(块524)。应用经由出口"A"退出处理500,并经由相应的入口"A"进入处理600。
参考图6,该图描绘了根据说明性实施例的用于在启用量子计算的云环境中的作业处理的过程的另一部分的流程图。过程500可以在图4中的应用402中实现。
应用从可能已经在过程500中执行的任何常规计算中获得常规结果(框602)。应用从q指令在所选择的QCCN上的处理中获得输出信号(q信号)(框604)。
应用执行信号测量(框606)、可选的基于硬件的错误处理(框608)、信号的解调(框610)以及解调信号的数字化(框612)。应用计算经后处理的q结果(块614)。应用可选地视需要在本文所述的情况下执行基于软件的错误处理(方框616)。应用因此产生经处理的q结果(框618),其可与常规结果(如果存在)相合并(框620)。
应用从合并操作产生最终结果(块622)。应用将最终结果递送给作业提交系统(块624)。此后,应用结束过程600。
因此,在说明性实施例中提供了计算机实现的方法、系统或装置以及计算机程序产品,用于在启用量子计算的云环境中的作业处理以及其他相关特征、功能或操作。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分被适配或配置成与该类型的设备的适当且可比较的表现形式一起使用。
在实施例被描述为在应用中实现的情况下,在说明性实施例的范围内,可以设想在软件即服务(SaaS)模型中的应用的递送。在SaaS模型中,通过在云基础设施中执行应用,向用户提供实现实施例的应用的能力。用户可以通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户机接口或其他轻量客户机应用使用各种客户机设备来访问应用。用户不管理或控制底层云基础设施(包括云基础设施的网络、服务器、操作系统或存储)。在一些情况下,用户甚至可能不管理或控制SaaS应用的能力。在一些其它情况下,应用的SaaS实施方案可允许有限的用户特定应用配置设置的可能例外。
在任何可能的技术细节整合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上具有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备(例如其上存储有指令的打孔卡或凹槽内凸起结构)、以及上述的任意合适的组合。本文所使用的计算机可读存储介质(包括但不限于计算机可读存储设备)不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络(例如因特网、局域网、广域网和/或无线网)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
本文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (23)
1.一种方法,包括:
查明量子云环境QCE中的量子云计算节点QCCN的量子处理器(q处理器)的配置与在提交给所述QCE的作业的一部分(q部分)中的第一指令中请求的操作之间的兼容性,所述QCE包括所述QCCN和常规计算节点CCN,所述CCN包括被配置用于二进制计算的常规处理器;
响应于所述查明,构造对应于所述第一指令的量子指令(q指令);
使用所述QCCN的所述q处理器执行所述q指令以产生量子输出信号(q信号);
将所述q信号变换成对应的量子计算结果(q结果);以及
将最终结果返回给提交所述作业的提交系统,其中,所述最终结果包括所述q结果。
2.根据权利要求1所述的方法,还包括:
使用与所述q处理器相关联的硬件来校正所述q信号中的错误以产生校正后的q信号。
3.根据前述权利要求中任一项所述的方法,还包括:
解调所述q信号;
数字化所述q信号;以及
从数字化后的q信号中提取初始量子计算结果(初始q结果)。
4.根据权利要求3所述的方法,还包括:
对所述初始q结果进行后处理,其中,所述后处理包括将统计模型应用于所述初始q结果以获得所述q结果,并且其中,所述q结果是由所述q处理器计算的正确结果的概率大于阈值。
5.根据前述权利要求中任一项所述的方法,其中,使用量子指令语言来对所述q指令编码。
6.根据权利要求5所述的方法,其中,所述量子指令语言包括量子汇编语言QASM。
7.根据前述权利要求中任一项所述的方法,还包括:
响应于确定所述q部分中的第二指令与所述QCCN中的q处理器的量子计算配置不兼容,构造与所述第二指令相对应的常规指令;以及
在所述QCE中的所述CCN上执行所述常规指令。
8.根据权利要求7所述的方法,还包括:
从在所述CCN上执行所述常规指令来获得常规结果;以及
将所述常规结果与所述q结果相合并以产生所述最终结果。
9.根据前述权利要求中任一项所述的方法,还包括:
构造与所述作业中的第二部分中的指令相对应的常规指令;以及
调度所述常规指令以在所述QCE中的所述CCN上执行。
10.根据权利要求1所述的方法,其中,所述QCCN是在所述QCE中工作的一组QCCN中的一个QCCN,其中,所述CCN是在所述QCE中工作的一组CCN中的一个CCN。
11.根据前述权利要求中任一项所述的方法,其中,所述q处理器的所述配置包括在所述q处理器中可用的量子位的数量,并且其中,所述查明包括确定所述操作能够使用所述数量的量子位来执行。
12.根据前述权利要求中任一项所述的方法,其中,所述q处理器的所述配置包括被配置为由所述q处理器执行的操作的类型,并且其中,所述查明包括确定在所述第一指令中请求的所述操作能够使用在所述q处理器中配置的第二操作来执行,所述第二操作使用一组量子位。
13.根据前述权利要求中任一项所述的方法,其中,所述q处理器的所述配置包括由所述q处理器产生的所述q信号中的错误率,其中,所述查明包括确定所述q部分的错误容限至少等于所述错误率。
14.根据前述权利要求中任一项所述的方法,还包括:
使用与所述q部分相关联的指示来在所述作业中识别所述q部分,所述指示涉及所述q部分对于量子计算的适合性。
15.根据权利要求1至14中任一项所述的方法,还包括:
使用在所述第一指令中请求的所述操作来在所述作业中识别所述q部分,所述操作是使用所述q处理器在所述QCCN中配置的。
16.一种量子云环境QCE,包括:
量子云计算节点QCCN,其包括量子处理器(q处理器);
常规计算节点CCN,其包括被配置用于二进制计算的常规处理器;以及
计算机可用程序代码,所述计算机可用程序代码在使用所述常规处理器执行时导致以下功能:
查明所述QCCN的所述q处理器的配置与在提交给所述QCE的作业的一部分(q部分)中的第一指令中请求的操作之间的兼容性,所述QCE包括所述QCCN和常规计算节点CCN;
响应于所述查明,构造对应于所述第一指令的量子指令(q指令);
使用所述QCCN的所述q处理器执行所述q指令以产生量子输出信号(q信号);
将所述q信号变换成对应的量子计算结果(q结果);以及
将最终结果返回给提交所述作业的提交系统,其中,所述最终结果包括所述q结果。
17.根据权利要求16所述的QCE,所述功能还包括:
使用与所述q处理器相关联的硬件来校正所述q信号中的错误以产生校正后的q信号。
18.根据权利要求16或17中任一项所述的QCE,所述功能还包括:
解调所述q信号;
数字化所述q信号;以及
从数字化后的q信号中提取初始量子计算结果(初始q结果)。
19.根据权利要求18所述的QCE,所述功能还包括:
对所述初始q结果进行后处理,其中,所述后处理包括将统计模型应用于所述初始q结果以获得所述q结果,并且其中,所述q结果是由所述q处理器计算的正确结果的概率大于阈值。
20.根据权利要求16至19中任一项所述的QCE,其中,使用量子指令语言来对所述q指令编码。
21.根据权利要求20所述的QCE,其中,所述量子指令语言包括量子汇编语言QASM。
22.一种用于量子云环境QCE的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质能够由处理电路读取并存储由所述处理电路执行以执行根据权利要求1至15中任一项的方法的指令。
23.一种计算机程序,其存储在计算机可读介质上并能够载入数字计算机的内部存储器中,所述计算机程序包括软件代码部分,当所述程序在计算机上运行时,所述软件代码部分用于执行根据权利要求1至15中任一项的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/719,872 | 2017-09-29 | ||
US15/719,872 US10996979B2 (en) | 2017-09-29 | 2017-09-29 | Job processing in quantum computing enabled cloud environments |
PCT/IB2017/057697 WO2019064055A1 (en) | 2017-09-29 | 2017-12-06 | WORK PROCESSING IN CLOUD ENVIRONMENTS ACTIVATED BY QUANTUM COMPUTING |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111165052A true CN111165052A (zh) | 2020-05-15 |
CN111165052B CN111165052B (zh) | 2024-01-19 |
Family
ID=65897233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780095360.6A Active CN111165052B (zh) | 2017-09-29 | 2017-12-06 | 启用量子计算的云环境中的作业处理 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10996979B2 (zh) |
JP (1) | JP6975322B2 (zh) |
CN (1) | CN111165052B (zh) |
DE (1) | DE112017007772T5 (zh) |
GB (1) | GB2581089A (zh) |
WO (1) | WO2019064055A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018236925A1 (en) * | 2017-06-19 | 2018-12-27 | Rigetti & Co, Inc. | QUANTICALLY DISTRIBUTED COMPUTING SYSTEM |
US10871987B1 (en) * | 2017-09-28 | 2020-12-22 | Amazon Technologies, Inc. | Distributed execution of tasks on client devices |
US11568293B2 (en) * | 2018-07-18 | 2023-01-31 | Accenture Global Solutions Limited | Quantum formulation independent solver |
US11087232B2 (en) * | 2018-07-18 | 2021-08-10 | IonQ, Inc. | Quantum hybrid computation |
US11245584B2 (en) * | 2018-10-15 | 2022-02-08 | Red Hat, Inc. | Software defined network optimization using quantum computing |
CN114846479A (zh) * | 2019-12-19 | 2022-08-02 | Jsr株式会社 | 程序、计算机系统以及计算机 |
CN111079704A (zh) * | 2019-12-31 | 2020-04-28 | 厦门理工学院 | 一种基于量子计算的人脸识别方法及装置 |
US20220309374A1 (en) * | 2020-02-18 | 2022-09-29 | Jpmorgan Chase Bank, N.A. | Systems and methods for using distributed quantum computing simulators |
US20210374583A1 (en) * | 2020-05-27 | 2021-12-02 | Red Hat, Inc. | Qubit allocation service |
US11853848B2 (en) | 2021-05-07 | 2023-12-26 | International Business Machines Corporation | Backend quantum runtimes |
US20230419378A1 (en) * | 2022-06-27 | 2023-12-28 | Dell Products L.P. | Quantum accuracy score |
US11880745B1 (en) | 2022-08-30 | 2024-01-23 | Red Hat, Inc. | Noisy intermediate-scale quantum service analysis for cloud based support |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006061926A1 (ja) * | 2004-12-09 | 2006-06-15 | National University Corporation NARA Institute of Science and Technology | 量子コンピュータを含むコンピュータシステムのためのプログラム開発支援装置、プログラム開発支援用プログラム、及びシミュレーション装置 |
CN105531725A (zh) * | 2013-06-28 | 2016-04-27 | D-波系统公司 | 用于对数据进行量子处理的系统和方法 |
US20160338075A1 (en) * | 2015-05-14 | 2016-11-17 | Cable Television Laboratories, Inc. | System And Method Hybrid Quantum-Conventional Architecture For Wireless Networks |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030121028A1 (en) | 2001-12-22 | 2003-06-26 | Michael Coury | Quantum computing integrated development environment |
US8983303B2 (en) * | 2004-08-04 | 2015-03-17 | The United States Of America As Represented By The Secretary Of The Army | Quantum based information transfer system and method |
KR100643283B1 (ko) | 2004-10-13 | 2006-11-10 | 삼성전자주식회사 | 양자 코프로세서를 사용하여 연산 속도를 향상시키는 방법및 장치 |
US20080313430A1 (en) | 2007-06-12 | 2008-12-18 | Bunyk Paul I | Method and system for increasing quantum computer processing speed using digital co-processor |
EP2477112A1 (en) | 2010-12-29 | 2012-07-18 | Basque Center for Applied Mathematics | Method for efficient scheduling in a resource-sharing system |
US8776013B2 (en) | 2011-10-03 | 2014-07-08 | Resilient Science, Inc. | Flow-optimization system and method for cloud computing |
JP5921856B2 (ja) * | 2011-11-28 | 2016-05-24 | 株式会社日立製作所 | 量子コンピュータシステム、量子コンピュータシステムの制御方法及びプログラム |
US20160320371A1 (en) | 2015-03-19 | 2016-11-03 | Fred Abraham | Online diagnostic system with virtual medical assistance for the diagnosed disease utilizing nano-devices and quantum cloud computing |
US10484479B2 (en) | 2016-01-31 | 2019-11-19 | QC Ware Corp. | Integration of quantum processing devices with distributed computers |
US9537953B1 (en) | 2016-06-13 | 2017-01-03 | 1Qb Information Technologies Inc. | Methods and systems for quantum ready computations on the cloud |
US9870273B2 (en) | 2016-06-13 | 2018-01-16 | 1Qb Information Technologies Inc. | Methods and systems for quantum ready and quantum enabled computations |
WO2018119522A1 (en) | 2016-12-30 | 2018-07-05 | 1Qb Information Technologies Inc. | Methods and systems for unified quantum computing frameworks |
WO2018236925A1 (en) | 2017-06-19 | 2018-12-27 | Rigetti & Co, Inc. | QUANTICALLY DISTRIBUTED COMPUTING SYSTEM |
US10332023B2 (en) * | 2017-09-22 | 2019-06-25 | International Business Machines Corporation | Hardware-efficient variational quantum eigenvalue solver for quantum computing machines |
US10452990B2 (en) * | 2017-11-28 | 2019-10-22 | International Business Machines Corporation | Cost function deformation in quantum approximate optimization |
US10347605B2 (en) * | 2017-11-28 | 2019-07-09 | International Business Machines Corporation | System and method for routing signals in complex quantum systems |
US10263170B1 (en) * | 2017-11-30 | 2019-04-16 | International Business Machines Corporation | Bumped resonator structure |
US10803395B2 (en) * | 2018-06-07 | 2020-10-13 | International Business Machines Corporation | Quantum computations of classical specifications |
US10833384B2 (en) * | 2018-06-27 | 2020-11-10 | International Business Machines Corporation | Thermalization of microwave attenuators for quantum computing signal lines |
US10811588B2 (en) * | 2018-08-06 | 2020-10-20 | International Business Machines Corporation | Vertical dispersive readout of qubits of a lattice surface code architecture |
US10474960B1 (en) * | 2018-10-25 | 2019-11-12 | International Business Machines Corporation | Approximate gate and supercontrolled unitary gate decompositions for two-qubit operations |
US10491221B1 (en) * | 2018-11-21 | 2019-11-26 | International Business Machines Corporation | Tunable microwave resonator for qubit circuits |
US10755193B2 (en) * | 2018-12-03 | 2020-08-25 | International Business Machines Corporation | Implementation of error mitigation for quantum computing machines |
US10650322B1 (en) * | 2018-12-13 | 2020-05-12 | International Business Machines Corporation | Multi-mode qubit readout and qubit state assignment |
US10803215B2 (en) * | 2018-12-18 | 2020-10-13 | International Business Machines Corporation | Incremental generation of quantum circuits |
US10831455B2 (en) * | 2019-01-07 | 2020-11-10 | International Business Machines Corporation | Quantum circuit compilation with quantum libraries as a service |
-
2017
- 2017-09-29 US US15/719,872 patent/US10996979B2/en active Active
- 2017-12-06 CN CN201780095360.6A patent/CN111165052B/zh active Active
- 2017-12-06 DE DE112017007772.9T patent/DE112017007772T5/de active Pending
- 2017-12-06 WO PCT/IB2017/057697 patent/WO2019064055A1/en active Application Filing
- 2017-12-06 GB GB2006037.2A patent/GB2581089A/en not_active Withdrawn
- 2017-12-06 JP JP2020516844A patent/JP6975322B2/ja active Active
-
2021
- 2021-01-29 US US17/161,838 patent/US20220050710A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006061926A1 (ja) * | 2004-12-09 | 2006-06-15 | National University Corporation NARA Institute of Science and Technology | 量子コンピュータを含むコンピュータシステムのためのプログラム開発支援装置、プログラム開発支援用プログラム、及びシミュレーション装置 |
CN105531725A (zh) * | 2013-06-28 | 2016-04-27 | D-波系统公司 | 用于对数据进行量子处理的系统和方法 |
US20160338075A1 (en) * | 2015-05-14 | 2016-11-17 | Cable Television Laboratories, Inc. | System And Method Hybrid Quantum-Conventional Architecture For Wireless Networks |
Also Published As
Publication number | Publication date |
---|---|
WO2019064055A1 (en) | 2019-04-04 |
US20190102220A1 (en) | 2019-04-04 |
JP2020535517A (ja) | 2020-12-03 |
GB202006037D0 (en) | 2020-06-10 |
US20220050710A1 (en) | 2022-02-17 |
GB2581089A (en) | 2020-08-05 |
DE112017007772T5 (de) | 2020-04-16 |
JP6975322B2 (ja) | 2021-12-01 |
US10996979B2 (en) | 2021-05-04 |
CN111165052B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111165052B (zh) | 启用量子计算的云环境中的作业处理 | |
US10902085B2 (en) | Solving mixed integer optimization problems on a hybrid classical-quantum computing system | |
US10735299B2 (en) | Management of connections of a client application including server selection | |
JP6234477B2 (ja) | 回帰モデルを計算するための方法、コンピュータ・プログラム、およびシステム | |
US10333984B2 (en) | Optimizing data reduction, security and encryption requirements in a network environment | |
US11762743B2 (en) | Transferring task data between edge devices in edge computing | |
US11294685B2 (en) | Instruction fusion using dependence analysis | |
US11874838B2 (en) | Automatic quantum searching of object databases | |
CN113614752A (zh) | 量子算法的验证和估计运行时间 | |
US9853866B2 (en) | Efficient parallel processing of a network with conflict constraints between nodes | |
CN113383348A (zh) | 量子电路的增量生成 | |
CN113711246A (zh) | 多控制量子状态反转栅极 | |
US11861397B2 (en) | Container scheduler with multiple queues for special workloads | |
US10409762B2 (en) | Remote direct memory access-based on static analysis of asynchronous blocks | |
CN116113962A (zh) | 跨分布式机器学习环境的张量比较 | |
US10680912B1 (en) | Infrastructure resource provisioning using trace-based workload temporal analysis for high performance computing | |
CN112424757A (zh) | 用于大规模实体解析的两级计算备忘 | |
US20170185565A1 (en) | Transformation from general max sat to max 2sat | |
US11675573B2 (en) | Using fusion to reduce encryption in streaming applications | |
US11347517B2 (en) | Reduced precision based programmable and SIMD dataflow architecture | |
US8560544B2 (en) | Clustering of analytic functions | |
Samandi et al. | Proposing an architecture for scientific workflow management system in cloud | |
US20200356364A1 (en) | Project adoption documentation generation using machine learning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |