量子计算任务的调度方法、装置及量子计算机与流程

摘要: 本技术涉及量子计算,尤其是涉及一种量子计算任务的调度方法、装置及量子计算机。背景技术:1、量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子...
量子计算任务的调度方法、装置及量子计算机与流程

本技术涉及量子计算,尤其是涉及一种量子计算任务的调度方法、装置及量子计算机。

背景技术:

1、量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。量子计算机的特点主要有运行速度较快、处置信息能力较强、应用范围较广等。与一般计算机比较起来,信息处理量愈多,对于量子计算机实施运算也就愈加有利,也就更能确保运算具备精准性。

2、量子芯片之于量子计算机就相当于cpu之于传统计算机,量子芯片是量子计算机的核心部件。随着量子计算相关技术的不断研究推进,量子芯片上的量子比特位数也在逐年增加,可以预见的是,后续会出现更大规模的量子芯片,届时量子芯片中的量子比特位数将会更多,量子计算机中也会搭载更大规模的量子芯片。

3、对现在市场上已有的一些量子计算机而言,大都采用上位机、量子计算测控系统以及量子芯片的组合来实现一些量子计算任务,一般通过上位机接收用户的量子计算任务,对量子计算任务进行处理并形成量子线路,然后将量子线路映射到对应量子芯片的拓扑结构中。量子线路中包含了本次量子计算任务所需要的量子门、最终量子计算结果的测量操作以及各个操作的时序,量子计算测控系统在接收到量子线路中包含的这些信息时,会将这些信息转化成相应指令以使得相应的硬件设备进行操作并完成量子计算任务。

4、量子计算测控系统包括软件系统以及硬件系统,量子计算测控系统的软件系统用于对上位机传来的用户任务(包括但不限于测试任务、校准任务等测控实验)进行编译等处理,并将相应的用户任务转成硬件系统能识别的语言,以使得硬件系统生成相应的控制信号进而达到操作控制量子芯片的目的。

5、现有的量子计算测控系统在执行量子计算任务时,大都是根据接收到的若干个量子计算任务的先后顺序依次执行编译,并在编译完成后下发执行,按照这种方案来进行多个量子计算任务执行时效率较低,且大大降低了量子芯片的资源利用率。

6、因此,如何提高量子计算测控系统的执行效率和量子芯片的资源利用率成为本领域亟待解决的问题。

7、需要说明的是,公开于本技术背景技术部分的信息仅仅旨在加深对本技术一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

技术实现思路

1、本技术的目的在于提供一种量子计算任务的调度方法、装置及量子计算机,用于解决现有技术中量子计算任务的执行效率低和量子芯片上的资源利用率低的问题,大大提高了执行效率和量子芯片上的资源利用率。

2、为了解决以上技术问题,本技术的技术方案如下:

3、本技术第一方面提供一种量子计算任务的调度方法,应用于量子测控软件系统,所述方法包括:

4、响应用户的任务注册请求,将接收到的用户任务存储至数据库中的第一任务队列;

5、从所述第一任务队列获取所述用户任务进行编译处理得到用于操控量子芯片的量子计算任务,并将所述量子计算任务存储至所述数据库中的第二任务队列;

6、从所述第二任务队列获取量子计算任务或将编译中的用户任务作为调度任务存储至第三任务队列,并依据任务资源调度所述第三任务队列中的调度任务至空闲的任务线程。

7、如上所述的量子计算任务的调度方法,可选的,在响应用户的任务注册请求,将接收到的用户任务存储至数据库中的第一任务队列之前,所述方法还包括:

8、对用户在实验平台执行任务的权限进行校验;其中,所述实验平台为在所述量子测控软件系统的前端服务页面创建的映射量子测控一体机和量子芯片的操控平台;

9、对权限校验合格的用户,执行响应用户的任务注册请求的步骤。

10、如上所述的量子计算任务的调度方法,可选的,所述响应用户的任务注册请求,将接收到的用户任务存储至数据库中的第一任务队列,包括:

11、对权限校验合格的用户,依据所述用户任务创建对应的任务结构和任务元数据;

12、将所述任务结构和任务元数据存储至数据库中的第一任务队列。

13、如上所述的量子计算任务的调度方法,可选的,所述第三任务队列长度具有第一预设阈值,从所述第二任务队列获取量子计算任务或将编译中的用户任务作为调度任务存储至所述第三任务队列,包括:

14、当所述第一任务队列中用户任务的数量小于所述第一预设阈值时,将编译中的用户任务作为调度任务存储至所述第三任务队列;

15、当所述第一任务队列中用户任务的数量大于所述第一预设阈值时,从所述第二任务队列获取量子计算任务作为调度任务存储至所述第三任务队列。

16、如上所述的量子计算任务的调度方法,可选的,所述第二任务队列长度具有第二预设阈值,当所述第二任务队列中的任务数量小于所述第二预设阈值、且所述第三任务队列中的任务数量小于所述第一预设阈值时,在从所述第一任务队列获取所述用户任务进行编译得到用于操控量子芯片的量子计算任务之前,所述方法还包括:

17、对所述第一任务队列中的用户任务进行预校验;其中,所述预校验为检验所述用户任务的任务类型与所述量子测控软件系统的工作模式是否匹配;

18、对预校验匹配的用户任务进行编译。

19、如上所述的量子计算任务的调度方法,可选的,依据任务资源调度所述第三任务队列中的调度任务至空闲的任务线程,包括:

20、获取量子芯片的比特资源信息以及执行所述调度任务需要的任务资源信息;

21、依据所述任务资源信息和所述比特资源信息进行资源校验;

22、将资源校验合格的调度任务调度至空闲的任务线程。

23、如上所述的量子计算任务的调度方法,可选的,所述第一任务队列、第二任务队列、以及所述第三任务队列中的任务均具有优先级;从所述第一任务队列获取所述用户任务进行编译得到用于操控量子芯片的量子计算任务,并将所述量子计算任务存储至所述数据库中的第二任务队列,包括:

24、从所述第一任务队列中获取优先级最高的用户任务进行编译得到用于操控量子芯片的量子计算任务,并将所述量子计算任务发送至所述第二任务队列;

25、从所述第二任务队列获取量子计算任务作为调度任务存储至所述第三任务队列,包括:

26、从所述第二任务队列中获取优先级最高的量子计算任务作为调度任务发送至所述第三任务队列;

27、依据任务资源调度所述第三任务队列中的调度任务至空闲的任务线程,包括:

28、从所述第三任务队列中获取优先级最高的调度任务,依据任务资源调度至空闲的任务线程。

29、如上所述的量子计算任务的调度方法,可选的,在从所述第一任务队列获取所述用户任务进行编译处理得到用于操控量子芯片的量子计算任务之前,所述方法还包括:

30、确定所述用户任务是否为机时独占任务;

31、若是,则对所述机时独占任务进行编译处理,并将其他任务存入缓存器中,直至机时独占任务执行完毕。

32、本技术第二方面提供一种量子计算任务的调度装置,包括:

33、任务派遣模块,用于响应用户的任务注册请求,将接收到的用户任务存储至数据库中的第一任务队列;

34、任务编译模块,用于从所述第一任务队列获取所述用户任务进行编译处理得到用于操控量子芯片的量子计算任务,并将所述量子计算任务存储至所述数据库中的第二任务队列;

35、任务调度模块,用于从所述第二任务队列获取量子计算任务或将编译中的用户任务作为调度任务存储至第三任务队列,并依据任务资源调度所述第三任务队列中的调度任务至空闲的任务线程。

36、本技术第三方面提供一种量子计算机,包括量子计算测控系统和量子芯片,所述量子计算测控系统中采用上述第一方面任一项所述的量子计算任务的调度方法执行任务,或包括上述第二方面所述的量子计算任务的调度装置。

37、与现有技术相比,本技术具有以下有益效果:

38、本技术量子计算任务的调度方法,先响应用户下发的任务注册请求,将接收到的用户任务存储至数据库中的第一任务队列用户任务;然后从第一任务队列中获取用户任务进行编译处理得到用于操控量子芯片的量子计算任务,并将量子计算任务存储至数据库中的第二任务队列;再根据用户任务的数量选择编译中的用户任务或者编译完成的量子计算任务作为调度任务存入第三任务队列,当用户任务的数量比较多时,选择量子计算任务,当用户任务的数量比较少时,选择编译中的用户任务用户;最后依据任务资源调度第三任务队列中的调度任务至空闲的任务线程,提高了任务执行效率,减少量子芯片上量子比特的等待时间,提高量子芯片上量子比特的资源利用率。

39、本技术提出的量子计算任务的调度装置以及量子计算机,与所述量子计算任务的调度方法,属于同一申请构思,因此具有相同的有益效果,在此不做赘述。