首页> 中国专利> 基于多适应度遗传优化的量子云混合任务调度方法及装置

基于多适应度遗传优化的量子云混合任务调度方法及装置

摘要

本申请涉及一种基于多适应度遗传优化的量子云混合任务调度方法及装置。所述方法包括:利用云计算MapReduce计算模型的Map函数对量子云混合任务中的量子计算任务和经典计算任务进行分割,得到多个子任务;模拟染色体的编解码方式对子任务进行编码和解码,根据得到的子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间;对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到对应的适应度函数;根据遗传算法和适应度函数对所述量子云混合任务和量子比特校准任务进行自适应演化,根据得到的最终子任务调度序列进行任务调度。采用本方法能够提高任务调度效率。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06F 9/48 专利申请号:2022106232948 申请日:20220602

    实质审查的生效

说明书

技术领域

本申请涉及量子计算和云计算技术领域,特别是涉及一种基于多适应度遗传优化的量子云混合任务调度方法、装置、计算机设备和存储介质。

背景技术

随着量子计算的推广和相关计算服务逐步走向大众,量子计算云平台综合管理要求也随之提升。量子计算云平台需将经典和量子任务分发到适当的系统,对任务进行分段处理,通过模拟器进行量子线路的调试、诊断和优化,自动分配经典计算和量子计算所需资源,实现量子与经典计算资源弹性综合利用、提高效率。其中,量子-经典混合任务场景下的多量子处理器负载均衡是量子云计算中量子任务调度服务需要解决的核心问题。以本源量子为例,该平台采用响应时间比进行混合任务调度,具体定义如下:

Rp=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间Rp大的量子任务将优先执行。首先,现有混合任务调度方法只能考虑总任务的完成效率而无法优化任务的平均完成效率,可能造成局部用户的阻塞时间过长;其次,由于一个用户程序通常被分为许多子任务来执行,这容易造成总的任务完成效率较高而任务的平均完成效率较低的情况,再者当任务的平均完成效率得到提升时也可有效提升总任务的完成效率;最后,现有调度方法对不同类型的任务进行无差别调度,没有考虑到对时效性要求较高的量子校准任务,会存在因调度不及时导致量子比特长期无法得到校准使得计算频繁出错的情况。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高任务调度效率的基于多适应度遗传优化的量子云混合任务调度方法、装置、计算机设备和存储介质。

一种基于多适应度遗传优化的量子云混合任务调度方法,所述方法包括:

获取待调度的量子云混合任务;量子云混合任务包括量子比特校准任务、量子计算任务和经典计算任务;

利用云计算MapReduce计算模型的Map函数对量子云混合任务中的量子计算任务和经典计算任务进行分割,得到多个子任务;

模拟染色体的编解码方式对子任务进行编码和解码,得到子任务分组和时间矩阵;

根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间;

对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数;

根据遗传算法和适应度函数对所述量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列;

根据量子云平台对最终子任务调度序列进行任务调度。

在其中一个实施例中,对量子比特校准任务和子任务进行任务标记,得到量子比特校准任务和子任务对应的worker处理器线程编号;量子比特校准任务和子任务被分配给多个worker处理器线程中并行执行任务调度。

在其中一个实施例中,利用染色体的编码方式对子任务进行编码和解码,得到子任务分组和时间矩阵,包括:

将子任务的worker处理器线程编号对应染色体中每个基因的取值,子任务的数目对应染色体中基因的数目;染色体表示子任务总体调度的排序方案;

根据量子云混合任务中的初始任务顺序进行编码,当任务顺序相同时,则再按初始子任务排序进行编码,得到每个子任务的序号;

根据子任务的序号和子任务的worker处理器线程编号对子任务进行分组,得到子任务分组;

根据子任务分组中的子任务的复杂度计算出每个worker处理器线程中完成其上所有子任务的所需的时间期望值,得到时间矩阵。

在其中一个实施例中,时间矩阵中的元素表示子任务在对应的worker处理器线程中完成任务所用时间的期望值;根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间,包括:

对子任务分组和时间矩阵进行计算,得到量子云混合任务的总任务完成时间为

T

其中,h表示染色体编号,i表示worker处理器线程编号,n表示分配到第i个worker处理器线程的子任务总数,j表示第i个worker处理器线程上的第j个子任务,Tw(i,j)表示第i个worker处理器线程上执行第j个子任务的所用时间,K表示worker处理器线程总数;

对子任务分组和时间矩阵进行计算,得到量子云混合任务的单个任务的平均完成时间为

T

其中T(t)=max

在其中一个实施例中,对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数,包括:

对总完成时间进行适应度计算,得到总完成时间的适应度函数为

f

其中,H表示染色体总数;

对平均完成时间进行适应度计算,得到平均完成时间的适应度函数为

f

对量子比特校准时效性进行适应度计算,得到量子比特校准时效性的适应度函数为

f

其中,s表示量子比特校准任务数,Hd(t)表示判定染色体中第i个任务是否为量子比特校准任务,是为1,否则为0。

在其中一个实施例中,根据遗传算法和适应度函数对量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列,包括:

根据遗传算法将染色体的每个基因在取值范围[1,K]内进行随机初始化,将子任务随机分配到worker处理器线程中,生成多个初始染色体;

利用交叉算子和遗传算子对初始染色体进行交叉变异,得到候选染色体;

根据适应度函数计算候选染色体中每个染色体的被选几率,利用适应度比例选择法选择概率最高的被选几率作为选择算子进行染色体选择,得到最终染色体;最终染色体为最终子任务调度序列。

在其中一个实施例中,根据适应度函数计算所述候选染色体中每个染色体的被选几率的过程包括:

根据总完成时间的适应度函数计算候选染色体中每个染色体的第一被选几率为P

根据平均完成时间的适应度函数计算候选染色体中每个染色体的第二被选几率为P

根据量子比特校准时效性的适应度函数计算候选染色体中每个染色体的第三被选几率为P

在其中一个实施例中,根据量子云平台对最终子任务调度序列进行任务调度,包括:

将最终任务调度序列中的量子比特校准任务根据任务标记的worker处理器线程编号,发放到对应处理器的校准区域执行;

根据不同worker处理器的执行区域当前可用的量子比特数,将最终任务调度序列前段的多个任务合并成量子比特需求量低于但最大化接近当前可用的量子比特数的量子事务后发放到量子比特数对应的处理器的校准区域执行;

将最终任务调度序列中的经典计算任务,按照经典云计算分配方式,组合成经典事务并发放到经典处理器上执行。

一种基于多适应度遗传优化的量子云混合任务调度装置,所述装置包括:

任务分割模块,用于获取待调度的量子云混合任务;量子云混合任务包括量子比特校准任务、量子计算任务和经典计算任务;利用云计算MapReduce计算模型的Map函数对量子云混合任务中的量子计算任务和经典计算任务进行分割,得到多个子任务;

编码和解码模块,用于利用染色体的编码方式对子任务进行编码和解码,得到子任务分组和时间矩阵;

任务完成时间计算模块,用于根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间;

适应度函数计算模块,用于对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数;

任务调度模块,用于根据遗传算法和适应度函数对量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列;根据量子云平台对最终子任务调度序列进行任务调度。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取待调度的量子云混合任务;量子云混合任务包括量子比特校准任务、量子计算任务和经典计算任务;

利用云计算MapReduce计算模型的Map函数对量子云混合任务中的量子计算任务和经典计算任务进行分割,得到多个子任务;

模拟染色体的编解码方式对子任务进行编码和解码,得到子任务分组和时间矩阵;

根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间;

对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数;

根据遗传算法和适应度函数对所述量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列;

根据量子云平台对最终子任务调度序列进行任务调度。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取待调度的量子云混合任务;量子云混合任务包括量子比特校准任务、量子计算任务和经典计算任务;

利用云计算MapReduce计算模型的Map函数对量子云混合任务中的量子计算任务和经典计算任务进行分割,得到多个子任务;

模拟染色体的编解码方式对子任务进行编码和解码,得到子任务分组和时间矩阵;

根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间;

对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数;

根据遗传算法和适应度函数对所述量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列;

根据量子云平台对最终子任务调度序列进行任务调度。

上述基于多适应度遗传优化的量子云混合任务调度方法、装置、计算机设备和存储介质,本申请通过将经典任务和量子任务进行事务分割,然后基于任务类型对任务进行分段处理和自适应调度,实现量子与经典计算资源弹性综合利用,并在保证量子比特能够得到及时校准的前提下,提高总任务完成效率和任务平均完成效率,优化量子处理器的利用率,通过实现这种有效的调度机制,可保证跨地域、多节点的状态同步,避免单点故障和局部用户的阻塞时间过长,实现负载均衡,保证系统及服务安全,提供持续稳定、非间断的量子计算云服务。

附图说明

图1为一个实施例中一种基于多适应度遗传优化的量子云混合任务调度方法的应用场景图;

图2为一个实施例中最终子任务调度序列的流程示意图;

图3为一个实施例中一种基于多适应度遗传优化的量子云混合任务调度装置的结构框图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种基于多适应度遗传优化的量子云混合任务调度方法,包括以下步骤:

步骤102,获取待调度的量子云混合任务;量子云混合任务包括量子比特校准任务、量子计算任务和经典计算任务;利用云计算MapReduce计算模型的Map函数对量子云混合任务中的量子计算任务和经典计算任务进行分割,得到多个子任务。

针对于量子云平台内部的大规模计算密集型应用,需要采用数据分割的计算方式,将较大的任务分割成为许多较小的子任务(即量子事务/经典事务),然后分配给若干个虚拟资源节点(即worker处理器线程)并行执行,最后返回运行结果。其中,量子校准任务已经是不可分割的原子任务,直接交给worker执行。通过将量子云混合任务进行分割,有利于在后续任务处理阶段根据基于任务类型对任务进行分段处理和自适应调度。

在任务分割时,需对子任务的执行要素进行拆分和标注,可从父任务继承,其基本组成要素包括以下几种:(1)量子任务所需量子比特数目或经典任务所需线程数目;(2)量子程序或经典程序的中间表示;(3)量子或经典计算处理器编号,如果标注该属性则会限定子任务能够执行的处理器位置,否则由混合任务调度过程进行调度分配;(4)任务类型,即量子比特校准任务、量子计算任务、经典计算任务这三种类型;(5)优先级,即任务的执行优先级,其中量子比特校准任务具有高优先级、需尽快执行。

步骤104,模拟染色体的编解码方式对子任务进行编码和解码,得到子任务分组和时间矩阵。

对于子任务的被执行状态,模拟染色体的编解码方式对子任务进行编码和解码,在混合任务调度场景中,子任务将被分配到的worker处理器线程号对应染色体中每个基因的取值,子任务的数目对应基因总数。基因编码时,依次按任务顺序进行编码,如任务顺序相同,则再按子任务顺序进行编码,使得子任务和子任务被分配到的worker处理器线程都已一个特定的编号,在后续解码过程中,根据worker编号进行子任务分组,比如形如{worker1->{i1,1,i1,2,...},worker2->{i2,1,i2,2,...},...},其中in,m表示第n个worker处理器线程的第m个子任务对应的基因位置号为in,m。根据每个处理器线程中的子任务的复杂度可以计算出该线程执行完其中所有子任务需要的时间,从而可以构建时间矩阵,矩阵中每个元素en,m表示第n个子任务在第m个worker处理器线程上完成计算所需时间期望值。

步骤106,根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间。

根据子任务分组和时间矩阵,可以估计出每个worker处理器线程完成其上所有子任务的计算所需的时间期望值,从而可以分别算出量子云混合任务的总完成时间和单个任务的平均完成时间。

步骤108,对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数。

步骤110,根据遗传算法和适应度函数对量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列;根据量子云平台对最终子任务调度序列进行任务调度。

通过计算总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数,并根据遗传算法和适应度函数对量子云混合任务和量子比特校准任务进行自适应演化来优化子任务调度序列,提高任务调度效率,可以避免只考虑总任务的完成效率而无法优化任务的平均完成效率,从而造成局部用户的阻塞时间过长的问题,同时通过利用单个任务的平均完成时间和量子比特校准时效性对应的适应度函数进行子任务调度序列优化,可以充分考虑每个子任务的平均完成时间和对时效性有要求的量子比特校准任务,从而避免在进行任务调度时出现总的任务完成效率较高而任务的平均完成效率较低的情况并且可以及时调度量子比特校准任务进行量子比特校准避免量子计算出错。

上述基于多适应度遗传优化的量子云混合任务调度方法中,本申请通过将经典任务和量子任务进行事务分割,然后基于任务类型对任务进行分段处理和自适应调度,实现量子与经典计算资源弹性综合利用,并在保证量子比特能够得到及时校准的前提下,提高总任务完成效率和任务平均完成效率,优化量子处理器的利用率,通过实现这种有效的调度机制,可保证跨地域、多节点的状态同步,避免单点故障和局部用户的阻塞时间过长,实现负载均衡,保证系统及服务安全,提供持续稳定、非间断的量子计算云服务。

在其中一个实施例中,对量子比特校准任务和子任务进行任务标记,得到量子比特校准任务和子任务对应的worker处理器线程编号;量子比特校准任务和子任务被分配给多个worker处理器线程中并行执行任务调度。

在其中一个实施例中,利用染色体的编码方式对子任务进行编码和解码,得到子任务分组和时间矩阵,包括:

将子任务的worker处理器线程编号对应染色体中每个基因的取值,子任务的数目对应染色体中基因的数目;染色体表示子任务总体调度的排序方案;

根据量子云混合任务中的初始任务顺序进行编码,当任务顺序相同时,则再按初始子任务排序进行编码,得到每个子任务的序号;

根据子任务的序号和子任务的worker处理器线程编号对子任务进行分组,得到子任务分组;

根据子任务分组中的子任务的复杂度计算出每个worker处理器线程中完成其上所有子任务的所需的时间期望值,得到时间矩阵。

在其中一个实施例中,时间矩阵中的元素表示子任务在对应的worker处理器线程中完成任务所用时间的期望值;根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间,包括:

对子任务分组和时间矩阵进行计算,得到量子云混合任务的总任务完成时间为

T

其中,h表示染色体编号,i表示worker处理器线程编号,n表示分配到第i个worker处理器线程的子任务总数,j表示第i个worker处理器线程上的第j个子任务,Tw(i,j)表示第i个worker处理器线程上执行第j个子任务的所用时间,K表示worker处理器线程总数;

对子任务分组和时间矩阵进行计算,得到量子云混合任务的单个任务的平均完成时间为

T

其中T(t)=max

在其中一个实施例中,对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数,包括:

对总完成时间进行适应度计算,得到总完成时间的适应度函数为

f

其中,H表示染色体总数;

对平均完成时间进行适应度计算,得到平均完成时间的适应度函数为

f

对量子比特校准时效性进行适应度计算,得到量子比特校准时效性的适应度函数为

f

其中,s表示量子比特校准任务数,Hd(t)表示判定染色体中第i个任务是否为量子比特校准任务,是为1,否则为0。

在具体实施例中,多适应度遗传优化同时考虑多种适应度目标函数,使得演化能够同时朝向多个目标趋近动态最优;此外,多适应度函数如果存在一定关联,能够彼此促进加速优化收敛的速度,提高算法效率。针对总任务完成效率和任务平均完成效率的目标,设计采用两种适应度目标函数,使得两者用时少的候选解的适应度更高、在遗传选择中得到优先选择。

其中,量子比特校准任务不同于其他子任务,如果将一般的量子/经典计算任务和量子比特校准任务统一按传统方法进行调度,量子比特校准任务无法得到应有的及时响应。量子比特校准任务要求响应时间快(需及时响应),具有执行时间短(意味着对其他任务阻塞时间非常短暂)、操作物理量子比特明确(有明确的目标worker资源调度需求)等特点,必须优先执行,否则由于量子电路本身存在无法克服的高出错率、低可靠性特点,长期缺少校验和校准将严重影响量子计算的准确率。而量子程序和经典程序通常无需强时效要求,且无需事先指定量子处理器及量子比特,因此才可按照前述调度优先级计算体系,根据量子比特和经典计算资源进行高效分配。

在其中一个实施例中,根据遗传算法和适应度函数对量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列,包括:

根据遗传算法将染色体的每个基因在取值范围[1,K]内进行随机初始化,将子任务随机分配到worker处理器线程中,生成多个初始染色体;

利用交叉算子和遗传算子对初始染色体进行交叉变异,得到候选染色体;

根据适应度函数计算候选染色体中每个染色体的被选几率,利用适应度比例选择法选择概率最高的被选几率作为选择算子进行染色体选择,得到最终染色体;最终染色体为最终子任务调度序列。

在其中一个实施例中,根据适应度函数计算所述候选染色体中每个染色体的被选几率的过程包括:

根据总完成时间的适应度函数计算候选染色体中每个染色体的第一被选几率为P

根据平均完成时间的适应度函数计算候选染色体中每个染色体的第二被选几率为P

根据量子比特校准时效性的适应度函数计算候选染色体中每个染色体的第三被选几率为P

在具体实施例中,如图2所示,模拟基因遗传操作,生成任务调度策略,并实现策略的自适应演化,得到最终子任务调度序列的过程如下:

a.种群初始化

任务调度算法的初始化过程同样模拟种群的产生方式。种群初始化时,将随机产生H条长度为M的染色体,染色体中的每个基因在取值范围[1,K]内进行随机初始化,生成多个初始染色体。

b.基因交叉

遗传优化本质上也是一种搜索算法,通过定义算子模拟基因相关操作来实现解空间的搜索。交叉算子是对已知解空间的适应度启发下的搜索,模仿的是生物基因片段的分解与重组方式,适应度更优的基因片段能获得更多的机会保留到新一代染色体。令种群染色体中适应度最大值为f

P

c.基因变异

变异算子是对未知解空间的适应度启发下的搜索,通过模拟基因变异带来的遗传多样性,避免局部最优。令当前基因的适应度为f,则基因发生变异的概率为:

P

d.染色体选择

选择算子模拟了自然界基于适应度来评价、选择或淘汰染色体的方式,用于选择当前可供调度的最优子任务,同时也为交叉和变异算子选出了待操作的目标染色体。基于前述三个适应度函数,采用适应度比例选择法(roulette wheel selection)来计算每个染色体的被选几率:

P

P

P

对上述三个被选几率,分别以P

在其中一个实施例中,根据量子云平台对最终子任务调度序列进行任务调度,包括:

将最终任务调度序列中的量子比特校准任务根据任务标记的worker处理器线程编号,发放到对应处理器的校准区域执行;

根据不同worker处理器的执行区域当前可用的量子比特数,将最终任务调度序列前段的多个任务合并成量子比特需求量低于但最大化接近当前可用的量子比特数的量子事务后发放到量子比特数对应的处理器的校准区域执行;

将最终任务调度序列中的经典计算任务,按照经典云计算分配方式,组合成经典事务并发放到经典处理器上执行。

在具体实施例中,量子云平台会根据之前标记的或者后来任务调度生成的量子处理器编号,进行量子比特映射,将量子程序适配到特定的量子处理器的拓扑结构。量子比特校准任务不参与映射,因为此类任务只在量子处理器中独立于任务执行区域的校准区域执行。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图3所示,提供了一种基于多适应度遗传优化的量子云混合任务调度装置,包括:任务分割模块302、编码和解码模块304、任务完成时间计算模块306、适应度函数计算模块308和任务调度模块310,其中:

任务分割模块302,用于获取待调度的量子云混合任务;量子云混合任务包括量子比特校准任务、量子计算任务和经典计算任务;根据Map函数对量子云混合任务中的量子计算任务和经典计算任务进行分割,得到多个子任务;

编码和解码模块304,用于利用染色体的编码方式对子任务进行编码和解码,得到子任务分组和时间矩阵;

任务完成时间计算模块306,用于根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间;

适应度函数计算模块308,用于对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数;

任务调度模块310,用于根据遗传算法和适应度函数对量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列;根据量子云平台对最终子任务调度序列进行任务调度。

在其中一个实施例中,所述装置还包括任务标记模块;任务标记模块用于对量子比特校准任务和子任务进行任务标记,得到量子比特校准任务和子任务对应的worker处理器线程编号;量子比特校准任务和子任务被分配给多个worker处理器线程中并行执行任务调度。

在其中一个实施例中,编码和解码模块304还用于利用染色体的编码方式对子任务进行编码和解码,得到子任务分组和时间矩阵,包括:

将子任务的worker处理器线程编号对应染色体中每个基因的取值,子任务的数目对应染色体中基因的数目;染色体表示子任务总体调度的排序方案;

根据量子云混合任务中的初始任务顺序进行编码,当任务顺序相同时,则再按初始子任务排序进行编码,得到每个子任务的序号;

根据子任务的序号和子任务的worker处理器线程编号对子任务进行分组,得到子任务分组;

根据子任务分组中的子任务的复杂度计算出每个worker处理器线程中完成其上所有子任务的所需的时间期望值,得到时间矩阵。

在其中一个实施例中,任务完成时间计算模块306还用于时间矩阵中的元素表示子任务在对应的worker处理器线程中完成任务所用时间的期望值;根据子任务分组和时间矩阵进行任务完成时间计算,得到量子云混合任务的总任务完成时间和单个任务的平均完成时间,包括:

对子任务分组和时间矩阵进行计算,得到量子云混合任务的总任务完成时间为

T

其中,h表示染色体编号,i表示worker处理器线程编号,n表示分配到第i个worker处理器线程的子任务总数,j表示第i个worker处理器线程上的第j个子任务,Tw(i,j)表示第i个worker处理器线程上执行第j个子任务的所用时间,K表示worker处理器线程总数;

对子任务分组和时间矩阵进行计算,得到量子云混合任务的单个任务的平均完成时间为

T

其中T(t)=max

在其中一个实施例中,适应度函数计算模块308还用于对总完成时间、平均完成时间和量子比特校准时效性进行适应度计算,得到总任务完成时间、单个任务的平均完成时间和量子比特校准时效性对应的适应度函数,包括:

对总完成时间进行适应度计算,得到总完成时间的适应度函数为

f

其中,H表示染色体总数;

对平均完成时间进行适应度计算,得到平均完成时间的适应度函数为

f

对量子比特校准时效性进行适应度计算,得到量子比特校准时效性的适应度函数为

f

其中,s表示量子比特校准任务数,Hd(t)表示判定染色体中第i个任务是否为量子比特校准任务,是为1,否则为0。

在其中一个实施例中,任务调度模块310还用于根据遗传算法和适应度函数对量子云混合任务和量子比特校准任务进行自适应演化,得到最终子任务调度序列,包括:

根据遗传算法将染色体的每个基因在取值范围[1,K]内进行随机初始化,将子任务随机分配到worker处理器线程中,生成多个初始染色体;

利用交叉算子和遗传算子对初始染色体进行交叉变异,得到候选染色体;

根据适应度函数计算候选染色体中每个染色体的被选几率,利用适应度比例选择法选择概率最高的被选几率作为选择算子进行染色体选择,得到最终染色体;最终染色体为最终子任务调度序列。

在其中一个实施例中,根据适应度函数计算所述候选染色体中每个染色体的被选几率的过程包括:

根据总完成时间的适应度函数计算候选染色体中每个染色体的第一被选几率为P

根据平均完成时间的适应度函数计算候选染色体中每个染色体的第二被选几率为P

根据量子比特校准时效性的适应度函数计算候选染色体中每个染色体的第三被选几率为P

在其中一个实施例中,任务调度模块310还用于根据量子云平台对最终子任务调度序列进行任务调度,包括:

将最终任务调度序列中的量子比特校准任务根据任务标记的worker处理器线程编号,发放到对应处理器的校准区域执行;

根据不同worker处理器的执行区域当前可用的量子比特数,将最终任务调度序列前段的多个任务合并成量子比特需求量低于但最大化接近当前可用的量子比特数的量子事务后发放到量子比特数对应的处理器的校准区域执行;

将最终任务调度序列中的经典计算任务,按照经典云计算分配方式,组合成经典事务并发放到经典处理器上执行。

关于基于多适应度遗传优化的量子云混合任务调度装置的具体限定可以参见上文中对于基于多适应度遗传优化的量子云混合任务调度方法的限定,在此不再赘述。上述基于多适应度遗传优化的量子云混合任务调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于多适应度遗传优化的量子云混合任务调度方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。

在一个实施例中,提供了一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号