基于neh算法的三值光学计算机任务调度方法及系统

文档序号:1741538 发布日期:2019-11-26 浏览:17次 >En<

阅读说明:本技术 基于neh算法的三值光学计算机任务调度方法及系统 (Three value optical computer method for scheduling task and system based on NEH algorithm ) 是由 王先超 庞昆 张�杰 王先传 刘争艳 于 2019-08-20 设计创作,主要内容包括:本发明公开了一种基于NEH算法的三值光学计算机任务调度方法及系统。所述方法首先获取三值光学计算机等待处理的多个任务的任务时间矩阵;根据所述任务时间矩阵确定任务Δ(i)的总加工响应时间;根据所述任务Δ(i)的总加工响应时间确定初始排列Δ′;根据所述初始排列Δ′确定最优任务调度序列;最后根据所述最优任务调度序列对所述三值光学计算机等待处理的多个任务进行有序处理。本发明方法以平均响应时间为性能指标,采用流水线技术,基于NEH算法进行任务调度优化,从而使三值光学计算机的任务处理效率得到提高,整体性能得以进一步优化。(The invention discloses a kind of three value optical computer method for scheduling task and system based on NEH algorithm.The method obtains the task time matrix of the multiple tasks to be processed such as three value optical computers first;Total processing response time of task Δ (i) is determined according to the task time matrix;According to total processing response time of the task Δ (i) determine initial arrangement Δ &#39;;According to the initial arrangement Δ &#39; determine optimal task schedule sequence;Finally the multiple tasks to be processed such as the three values optical computer are orderly handled according to the optimal task schedule sequence.The method of the present invention is using average response time as performance indicator, using pipelining, carries out task schedule optimization based on NEH algorithm, so that the task treatment effeciency of three value optical computers be made to be improved, overall performance is advanced optimized.)

基于NEH算法的三值光学计算机任务调度方法及系统

技术领域

本发明涉及三值光学计算机的任务调度技术领域,特别是涉及一种基于NEH算法的三值光学计算机任务调度方法及系统。

背景技术

20世纪以来,电子技术经历了从电子管、晶体管到超大规模集成电路的发展,电子计算机也从早期体积庞大的初代计算机发展到现在的微型计算机。随着大数据时代的到来,电子计算机由于制作工艺而产生的能耗和带宽等问题制约其进一步发展,而光计算机用光代替电子来实现计算,可以突破电子计算机的瓶颈。近些年光学计算机的研究取得了一系列可喜的进展,如光学稳定多谐振荡器的发展、完全可重构的光子集成信号处理系统的发明与研究等等。三值光学计算机(ternary optical computer,TOC)由有光态时的两个互相垂直的偏振光和无光态表示三值信息,因其处理器具有按位可重构性、按位可分配性和并行性等优点,引起诸多研究者关注。

然而,三值光学计算机的任务调度目前仍存在一些问题,有待于优化。以加法计算为例,在三值光学计算机服务模型中,采用先到先服务(first come first served,FCFS)的策略进行任务调度,导致系统平均响应时间得不到优化,从而造成对任务数据处理效率低的问题。

发明内容

本发明的目的是提供一种基于NEH算法的三值光学计算机任务调度方法及系统,以解决现有三值光学计算机的任务调度策略导致平均响应时间得不到优化,任务数据处理效率低的问题。

为实现上述目的,本发明提供了如下方案:

一种基于NEH算法的三值光学计算机任务调度方法,所述方法包括:

获取所述三值光学计算机等待处理的多个任务的任务时间矩阵;所述任务时间矩阵中包括任务Δ(i)对应机器Mj的工序加工时间pj,Δ(i)

根据所述任务时间矩阵确定所述任务Δ(i)的总加工响应时间;

根据所述任务Δ(i)的总加工响应时间确定初始排列Δ′;

根据所述初始排列Δ′确定最优任务调度序列;

根据所述最优任务调度序列对所述三值光学计算机等待处理的多个任务进行有序处理。

可选的,所述根据所述任务时间矩阵确定所述任务Δ(i)的总加工响应时间,具体包括:

根据所述任务Δ(i)对应机器Mj的工序加工时间pj,Δ(i),采用公式确定所述任务Δ(i)的总加工响应时间Ti;其中N为总任务数量。

可选的,所述根据所述任务Δ(i)的总加工响应时间确定初始排列Δ′,具体包括:

按照所述任务Δ(i)对应的总加工响应时间Ti从大到小的顺序对N个任务进行降序排列,生成所述初始排列Δ′。

可选的,所述根据所述初始排列Δ′确定最优任务调度序列,具体包括:

步骤(1):将所述初始排列Δ′的前k-1个任务构成部分排列Δp,将所述初始排列Δ′的第k个任务***到所述部分排列Δp的k个可能的空档,产生k个临时排列;取所述k个临时排列中平均响应时间最小的所述临时排列为所述k个任务构成的部分排列Δp

步骤(2):令k=k+1,重复所述步骤(2)的过程,直到所有N个任务都完成排序,并使得∑F(Δp)=minΔ∈Ω∑F(Δ),此时得到的部分排列Δp即为所述最优任务调度序列Δopt;其中∑F(Δp)为部分排列Δp对应的总流水响应时间;∑F(Δ)为可行解Δ对应的总流水响应时间;Ω为可行解Δ的可行域;minΔ∈Ω∑F(Δ)为可行解Δ对应的总流水响应时间的最小值。

可选的,所述根据所述最优任务调度序列对所述三值光学计算机等待处理的多个任务进行有序处理,具体包括:

将所述最优任务调度序列Δopt中的第i个任务Δopt(i)中的数据分为n组;

将所述n组数据输入所述三值光学计算机的流水作业模型中,依序对所述n组数据进行处理;所述流水作业模型中包括T和W变换器、T′和W′变换器以及T变换器。

一种基于NEH算法的三值光学计算机任务调度系统,所述系统包括:

任务时间矩阵获取模块,用于获取所述三值光学计算机等待处理的多个任务的任务时间矩阵;所述任务时间矩阵中包括任务Δ(i)对应机器Mj的工序加工时间pj,Δ(i)

总加工响应时间确定模块,用于根据所述任务时间矩阵确定所述任务Δ(i)的总加工响应时间;

初始排列确定模块,用于根据所述任务Δ(i)的总加工响应时间确定初始排列Δ′;

最优任务调度序列确定模块,用于根据所述初始排列Δ′确定最优任务调度序列;

任务调度处理模块,用于根据所述最优任务调度序列对所述三值光学计算机等待处理的多个任务进行有序处理。

可选的,所述总加工响应时间确定模块具体包括:

总加工响应时间确定单元,用于根据所述任务Δ(i)对应机器Mj的工序加工时间pj,Δ(i),采用公式确定所述任务Δ(i)的总加工响应时间Ti;其中N为总任务数量。

可选的,所述初始排列确定模块具体包括:

初始排列确定单元,用于按照所述任务Δ(i)对应的总加工响应时间Ti从大到小的顺序对N个任务进行降序排列,生成所述初始排列Δ′。

可选的,所述最优任务调度序列确定模块具体包括:

迭代处理单元,用于将所述初始排列Δ′的前k-1个任务构成部分排列Δp,将所述初始排列Δ′的第k个任务***到所述部分排列Δp的k个可能的空档,产生k个临时排列;取所述k个临时排列中平均响应时间最小的所述临时排列为所述k个任务构成的部分排列Δp

最优任务调度序列确定单元,用于令k=k+1,返回所述迭代处理单元,直到所有N个任务都完成排序,并使得∑F(Δp)=minΔ∈Ω∑F(Δ),此时得到的部分排列Δp即为所述最优任务调度序列Δopt;其中∑F(Δp)为部分排列Δp对应的总流水响应时间;∑F(Δ)为可行解Δ对应的总流水响应时间;Ω为可行解Δ的可行域;minΔ∈Ω∑F(Δ)为可行解Δ对应的总流水响应时间的最小值。

可选的,所述任务调度处理模块具体包括:

任务数据分组单元,用于将所述最优任务调度序列Δopt中的第i个任务Δopt(i)中的数据分为n组;

流水作业模型处理单元,用于将所述n组数据输入所述三值光学计算机的流水作业模型中,依序对所述n组数据进行处理;所述流水作业模型中包括T和W变换器、T′和W′变换器以及T变换器。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供一种基于NEH算法的三值光学计算机任务调度方法及系统,所述方法首先获取三值光学计算机等待处理的多个任务的任务时间矩阵;根据所述任务时间矩阵确定任务Δ(i)的总加工响应时间;根据所述任务Δ(i)的总加工响应时间确定初始排列Δ′;根据所述初始排列Δ′确定最优任务调度序列;最后根据所述最优任务调度序列对所述三值光学计算机等待处理的多个任务进行有序处理。本发明方法以平均响应时间为性能指标,采用流水线技术,基于NEH算法进行任务调度优化,从而使三值光学计算机的任务处理效率得到提高,整体性能得以进一步优化。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的基于NEH算法的三值光学计算机任务调度方法的流程图;

图2为本发明实施例提供的三值光学计算机处理器进行合理分配并重构后的MSD加法器部件示意图;

图3为本发明实施例提供的所述三值光学计算机的流水作业模型的流水作业时空图;

图4为本发明提供的基于NEH算法的三值光学计算机任务调度系统的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于NEH算法的三值光学计算机任务调度方法及系统,以解决现有三值光学计算机的任务调度策略导致平均响应时间得不到优化,任务数据处理效率低的问题。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

流水线调度(flow-shop scheduling,FSS)问题是一类值得研究的工程问题,其主要任务就是在有限的资源约束情况下,确定每个任务的加工顺序、加工时间,以达到最优化的生产目标,即平均响应时间达到最小。机器一次只能处理一个子任务,子任务一旦开始必须继续进行直到完成。假设机器j上的作业i所需的处理时间为tij。只有在机器1上的处理完成后,才能由机器2处理作业。流程调度问题是确定作业的处理顺序,使得平均响应时间达到最小,其中n为作业任务数量,响应时间是指任务的等待时间与处理时间之和。同顺序流水作业是著名的调度问题之一,其中两台机器的同顺序流水问题可使用Johnson算法求得最优解,但仍是NP(non-deterministic polynomial)完全问题。

NP完全问题的解空间涉及到组合***,所以有效解决NP完全问题的方法目前不存在。针对此类问题,现代科学主要采用启发式算法。启发性算法主要包括禁忌搜索算法、遗传算法、模拟退火算法、人工神经网络等等。由Nawaz等三人提出的NEH(Nawaz-Enscore-Ham)算法被认为是最优的。该NEH算法的核心思想主要是将给定的任务时间矩阵中的任务,按任务的平均响应时间进行降序排列,再取序列中的前两个任务,找到其中最小的平均响应时间对应的序列结果。对于第k个任务k=3,...,n,在k个可能的位置中,将其***到使得部分序列的平均响应时间最小的位置,由此得到整个任务集的最小平均响应时间对应的任务序列。然而,NEH算法目前主要应用在车间调度以及流水线调度中,本发明拟以MSD(modified signed digit)加法运算器为例,使用NEH算法对三值光学计算机任务调度进行优化。

图1为本发明提供的基于NEH算法的三值光学计算机任务调度方法的流程图。参见图1,本发明提供的基于NEH算法的三值光学计算机任务调度方法具体包括:

步骤101:获取所述三值光学计算机等待处理的多个任务的任务时间矩阵。

本发明所述NEH算法的输入为任务时间矩阵,算法输出为最优任务调度序列。算法中的任务指的是未进入三值光学计算机处理器的处于积攒状态的等待处理的任务。而本发明NEH算法是使用N个任务的任务时间矩阵作为输入,即已经根据实际计算出每个任务的具体处理时间,从而得到任务时间矩阵(现有技术),作为整个算法的输入。

算法输入的所述任务时间矩阵中包括任务Δ(i)对应机器Mj的工序加工时间pj,Δ(i)。工序的加工时间可以根据等待处理的任务量结合机器固有的属性参数计算得到。其中任务Δ(i)也是调度的一个可行解。Mj指的是NEH算法中的机器,在三值光学计算机中是将处理器分成的三个部分(T和W变换器、T′和W′变换器以及T变换器)作为三台机器,从而求解该三台机器的最优任务调度序列。

步骤102:根据所述任务时间矩阵确定所述任务Δ(i)的总加工响应时间。

对N个任务对应机器Mj的工序加工时间pj,Δ(i)进行求和计算得到任务Δ(i)的总加工响应时间Ti,总加工响应时间Ti的计算公式如下:

其中N为总任务数量,任务Δ(i)可以认为是N个任务中的第i个任务,机器Mj可以认为是M台机器中的第j台机器。本发明中M=3。

步骤103:根据所述任务Δ(i)的总加工响应时间确定初始排列Δ′。

按照所述任务Δ(i)对应的总加工响应时间Ti从大到小的顺序对N个任务进行降序排列,生成所述初始排列Δ′。即所述初始排列Δ′中包括N个任务,所述初始排列Δ′中的第1个任务至第N个任务分别对应的总加工响应时间Ti依次减小。

步骤104:根据所述初始排列Δ′确定最优任务调度序列。

确定所述最优任务调度序列的过程是一个迭代计算过程,具体包括:

步骤(1):令k=1,此时将所述初始排列Δ′的前k-1个任务构成部分排列Δp,将所述初始排列Δ′的第k个任务***到所述部分排列Δp的k个可能的空档中,产生k个临时排列;取所述k个临时排列中平均响应时间最小的所述临时排列为所述k个任务构成的部分排列Δp;(其中当k为1的意思是对一个任务进行排序,k为2代表对第二个任务进行排序,以此类推)。

步骤(2):令k=k+1,重复所述步骤(2)的过程,直到所有N个任务都完成排序,并使得∑F(Δp)=minΔ∈Ω∑F(Δ),此时得到的部分排列Δp即为所述最优任务调度序列Δopt

其中∑F(Δp)为部分排列Δp对应的总流水响应时间。Δ=(Δ(1),Δ(2),…,Δ(n))∈Ω为调度的一个可行解,n为可行解Δ中包含的解的数量,Ω为可行解Δ的可行域。∑F(Δ)为可行解Δ对应的总流水响应时间;minΔ∈Ω∑F(Δ)为可行解Δ对应的总流水响应时间的最小值。

输出所述最优任务调度序列Δopt,本发明NEH算法结束。

步骤105:根据所述最优任务调度序列对所述三值光学计算机等待处理的多个任务进行有序处理。

传统的电子计算机计算时加法器被完全占用,因此无法采用流水作业。而本发明实施例提供的MSD(modified signed digit)加法分3步:第1步,同时进行T和W变换;第2步,同时进行T′和W′变换;第3步,进行T变换。该3步变换在4种逻辑运算器上完成,所以三值光学计算机的MSD加法可采用流水线技术。为此,首先将三值光学计算机处理器进行合理分配并重构成图2所示的五个独立的逻辑运算部件——T和W变换器、T′和W′变换器以及T变换器。

当所述最优任务调度序列Δopt中的某个任务Δopt(i)到达时,根据处理器位数和任务Δopt(i)中数据的位数将任务Δopt(i)中的数据分为许多组,例如分为n组。假设完成1次重构时间tre=100ns,光学处理器位数为80 000,处理速度v即进行逻辑变换的速度v=50GB/s,任务的计算量为100GB。将任务分组后每组数据d2为0.8kB,任务被分为g2=1.31×108组。

将所述n组数据输入所述三值光学计算机的流水作业模型中,依序对所述n组数据进行处理。所述流水作业模型中包括T和W变换器、T′和W′变换器以及T变换器。

图3为本发明实施例提供的所述三值光学计算机的流水作业模型的流水作业时空图。图3中包含两个任务,任务1和任务2。如图3所示,本发明MSD加法器流水作业模型的作业过程如下:

首先所述T和W变换器对第一组数据D1 0进行T和W变换得到D1 1;所述T′和W′变换器对D1 1进行T′和W′变换得到D1 2的同时,所述T和W变换器对第二组数据D2 0进行T变换和W变换得到D2 1;所述T变换器对D1 2进行T变换得到运算结果R1的同时,所述T′和W′变换器对D2 1进行T′和W′变换得到D2 2,所述T和W变换器对第三组数据D3 0进行T变换和W变换得到D3 1......以此类推,直到该任务Δopt(i)的所有数据计算完毕,再处理下一个任务Δopt(i+1)......简化流程如图3所示。

本发明以MSD加法运算为例,以平均响应时间为性能指标,采用流水线技术,基于NEH算法进行三值光学计算机的任务调度优化,从而使三值光学计算机处理器的任务处理效率得到提高,整体性能得以进一步优化。

基于本发明提供的基于NEH算法的三值光学计算机任务调度方法,本发明还提供一种基于NEH算法的三值光学计算机任务调度系统,如图4所示,所述系统包括:

任务时间矩阵获取模块401,用于获取所述三值光学计算机等待处理的多个任务的任务时间矩阵;所述任务时间矩阵中包括任务Δ(i)对应机器Mj的工序加工时间pj,Δ(i)

总加工响应时间确定模块402,用于根据所述任务时间矩阵确定所述任务Δ(i)的总加工响应时间;

初始排列确定模块403,用于根据所述任务Δ(i)的总加工响应时间确定初始排列Δ′;

最优任务调度序列确定模块404,用于根据所述初始排列Δ′确定最优任务调度序列;

任务调度处理模块405,用于根据所述最优任务调度序列对所述三值光学计算机等待处理的多个任务进行有序处理。

其中,所述总加工响应时间确定模块402具体包括:

总加工响应时间确定单元,用于根据所述任务Δ(i)对应机器Mj的工序加工时间pj,Δ(i),采用公式确定所述任务Δ(i)的总加工响应时间Ti;其中N为总任务数量。

所述初始排列确定模块403具体包括:

初始排列确定单元,用于按照所述任务Δ(i)对应的总加工响应时间Ti从大到小的顺序对N个任务进行降序排列,生成所述初始排列Δ′。

所述最优任务调度序列确定模块404具体包括:

迭代处理单元,用于将所述初始排列Δ′的前k-1个任务构成部分排列Δp,将所述初始排列Δ′的第k个任务***到所述部分排列Δp的k个可能的空档,产生k个临时排列;取所述k个临时排列中平均响应时间最小的所述临时排列为所述k个任务构成的部分排列Δp

最优任务调度序列确定单元,用于令k=k+1,返回所述迭代处理单元,直到所有N个任务都完成排序,并使得∑F(Δp)=minΔ∈Ω∑F(Δ),此时得到的部分排列Δp即为所述最优任务调度序列Δopt;其中∑F(Δp)为部分排列Δp对应的总流水响应时间;∑F(Δ)为可行解Δ对应的总流水响应时间;Ω为可行解Δ的可行域;minΔ∈Ω∑F(Δ)为可行解Δ对应的总流水响应时间的最小值。

所述任务调度处理模块405具体包括:

任务数据分组单元,用于将所述最优任务调度序列Δopt中的第i个任务Δopt(i)中的数据分为n组;

流水作业模型处理单元,用于将所述n组数据输入所述三值光学计算机的流水作业模型中,依序对所述n组数据进行处理;所述流水作业模型中包括T和W变换器、T′和W′变换器以及T变换器。

本发明通过利用三值光学计算机的巨位性以及多任务并行性等特性提出三值光学计算机的流水作业模型。由于实际作业下任务集都包含多个任务,因此提出基于NEH算法的三值光学计算机任务调度方法及系统。所述方法及系统对传统TOC服务模型进行优化,将其改进为流水作业模型的处理策略,并在此基础上对任务处理顺序运用NEH算法进行进一步的优化,得到最优任务调度序列,从而使用最优任务调度序列进入流水作业模型,达到最小化平均响应时间的目的,从而使得整个模型性能得到很大的提升,并且对于模型处理结果具有一定的可靠性。有效缩短了任务处理的平均响应时间,提高了三值光学计算机的任务处理效率。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:时钟管理电路及时钟管理方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!