CN112506640A - 一种用于加密运算芯片的多处理器架构及调配方法 - Google Patents

一种用于加密运算芯片的多处理器架构及调配方法 Download PDF

Info

Publication number
CN112506640A
CN112506640A CN202110168997.1A CN202110168997A CN112506640A CN 112506640 A CN112506640 A CN 112506640A CN 202110168997 A CN202110168997 A CN 202110168997A CN 112506640 A CN112506640 A CN 112506640A
Authority
CN
China
Prior art keywords
task
processor
tasks
priority
low
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
Application number
CN202110168997.1A
Other languages
English (en)
Other versions
CN112506640B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Geoforcechip Technology Co Ltd
Original Assignee
Zhejiang Geoforcechip Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Geoforcechip Technology Co Ltd filed Critical Zhejiang Geoforcechip Technology Co Ltd
Priority to CN202110168997.1A priority Critical patent/CN112506640B/zh
Publication of CN112506640A publication Critical patent/CN112506640A/zh
Application granted granted Critical
Publication of CN112506640B publication Critical patent/CN112506640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种用于加密运算芯片的多处理器架构及调配方法,包括下列步骤;将待运算的所有任务进行优先级标注,所述优先级包括高优先级和低优先级,将每个任务分配到相应层级,并且按照层级逐一调配并运算,直至完成所有任务;然后将第一任务组中任务分别调度到多个处理器的等待序列,并等待运算;处理器开始运算等待序列中的任务,处理器处于低优先级模式;当处理器运算其中一个任务的实际运算时间超过估计时间的而未发出运算完成信号时,处理器由低优先级模式向高优先级模式切换。本发明更好地平衡不同处理器之间在各个运行时资源利用率,以更为充分、有效地利用处理器运算资源,提升加密芯片的任务处理能力和效率。

Description

一种用于加密运算芯片的多处理器架构及调配方法
技术领域
本申请涉及加密芯片技术领域,特别涉及一种用于加密运算芯片的多处理器架构及调配方法。
背景技术
随着信息技术日新月异的发展,现代加密芯片的规模和复杂性也呈现爆炸式增长的趋势.例如,当今人脸识别、云数据系统中,对于信息加密也越来越重要,为了适应未来日益复杂、庞大的系统功能需求,对加密芯片也提出越来越高的要求,特别是加密芯片处理器中,关于任务调度问题一直是提升加密芯片性能的重点问题,任务调度是指计算机系统为执行一系列的任务所采取的调度策略,调度问题的目标是要在满足一定的性能指标和优先约束关系的前提下,将可并行执行的任务集按照适当分配策略确定一种分派和执行顺序,合理分配到各处理机上有序地执行,以达到减少总的执行时间的目的。
发明内容
基于此,本发明提出的一种用于加密运算芯片的多处理器架构及调配方法能够有效的提升处理器的运行效率,同时通过赋予任务高低优先级,从而保证高优先级任务的顺利运算。
本申请公开了以下技术方案:一种用于加密运算芯片的多处理器架构的调配方法,包括下列步骤;
S100、将待运算的所有任务
Figure 830622DEST_PATH_IMAGE001
进行优先级标注,所述优先级包括高优先级和低优先级,将每个任务
Figure 521497DEST_PATH_IMAGE002
分配到相应层级,每层为一个任务组,并且按照层级逐一调配并运算;
S200、将第一任务组中任务
Figure 199603DEST_PATH_IMAGE003
分别调度到多个处理器的等待序列,并等待运算;
S300、处理器开始运算等待序列中的任务,每个处理器最开始运算等待序列中的任务
Figure 227602DEST_PATH_IMAGE002
时,处理器处于低优先级模式;当处理器处于低优先级模式时,所有低优先级任务和高优先级任务均按照等待序列的位置顺序进行运算,当处理器运算其中一个任务的实际运算时间超过估计时间的而未发出运算完成信号时,处理器由低优先级模式向高优先级模式切换,且所有低优先级任务直接终止运算,并被移除出等待序列,而高优先级任务
Figure 566442DEST_PATH_IMAGE004
按照等待序列的位置顺序逐一进行运算,被移除的低优先级任务,将按照步骤S200调度规则插入正处于低优先级模式的处理器;
S400:第一任务组完成运算,则继续运算第二任务组,直至所有任务组完成运算。
进一步的,所述步骤S100具体步骤为;
S101、对待处理的所有任务
Figure 287273DEST_PATH_IMAGE005
进行优先级标注;
S102、所有任务
Figure 452675DEST_PATH_IMAGE006
满足约束条件,所述约束条件通过有向无环图
Figure 284365DEST_PATH_IMAGE007
来表达,其中
Figure 461400DEST_PATH_IMAGE008
表示图中有向弧的集合,元素
Figure 618712DEST_PATH_IMAGE009
表示
Figure 271410DEST_PATH_IMAGE010
Figure 765845DEST_PATH_IMAGE011
的直接前驱,即
Figure 453178DEST_PATH_IMAGE012
Figure 515812DEST_PATH_IMAGE013
的直接后继,没有前驱的任务为入节点,没有后继的任务为出节点;
S103、计算所述任务中所有顶点的入度值;所述入度值表示进入这个顶点的有向边数量;出度值表示从这个顶点出发的有向边数量;
S104、找出所有顶点的入度值为0的任务,放入第一层;
S105、除去第一层的顶点,其他剩下的顶点所组成的子图,在子图中寻找所有入度值为0的顶点,放入第二层;
S106、得到第K层,除去放入0~K层顶点外,其他剩下的顶点所组成的子图,在所述子图中找到所有入度值为0的顶点,放入K+1层,
S107、令K=k+1,重复执行步骤S106,直到所有顶点都被放入分层中。
进一步的将任务组中的任务调度到加密芯片的处理器上,从编号低的层到编号高的层串行执行,同一层中的任务是相互独立的,同一层中的任务并行执行。
进一步的,步骤S200具体为,
S201、将同一任务组内所有任务按照任务的估计运行时间非升序排列好,且无须考虑任务的优先级;
S202、取任务组中耗时最大的任务调度给尚未调度任务的计算速度最快的处理器,接着取第二耗时任务,计算当第二耗时任务调度给该处理器时处理器的总耗时,如果处理器的总耗时未达到A i 值,则调度第二耗时任务给该处理器,且继续考虑下一个任务,直到找到使处理器总耗时刚好小于等于A i 值的任务为止,且将小于等于A i 值的这个任务也调度给该处理器,将调度给该处理器的所有任务从任务组中删除;
其中
Figure 265594DEST_PATH_IMAGE014
表示在进行任务组调度时,是否将任务调度到该处理器上的参考值;
Figure 704665DEST_PATH_IMAGE015
其中
Figure 980926DEST_PATH_IMAGE016
为任务的估计完成时间的下界值,
Figure 106139DEST_PATH_IMAGE017
Figure 467850DEST_PATH_IMAGE018
每个任务
Figure 179454DEST_PATH_IMAGE019
的估计运行时间,即任务
Figure 716746DEST_PATH_IMAGE020
在不同处理器上运行时间的平均值,
Figure 121182DEST_PATH_IMAGE021
表示处理器,
Figure 970190DEST_PATH_IMAGE022
表示处理器的运行速度;
S203、重复执行步骤S202直到同一组任务都被调度完,调度后的任务都处于等待序列中,调度完成的处理器开始运算。
进一步的,所述步骤S300具体步骤为,
S301、处理器最开始运算等待序列中的任务
Figure 485485DEST_PATH_IMAGE023
时,将所有任务按照上述任务调度顺序调度到各处理器中,且处理器处于低优先级模式;
S302、当处理器处于低优先级模式时,所有低优先级任务和高优先级任务均按照等待序列进行运算;
S303、当处理器发生低优先级模式向高优先级模式切换时,所有低优先级任务将被终止执行并被清除出等待序列,同时,从原有等待序列中移除低优先级任务,被移除的低优先级任务,将按照步骤S200调度规则插入正处于低优先级模式的处理器;当所有被移除的低优先级任务被调度完成后,所述处理器完成高优先级模式切换,所述高优先级任务按照等待序列的位置顺序逐一进行运算;
S304、当处理器完成高优先级任务的运算后,切换进入低优先级模式。
进一步的,所述处理器运行时包括三种时期,高优先级模式时期、低优先级模式时期和模式切换时期,所述高优先级模式时期为处理器持续运行于高优先级模式的一段时间间隔;
所述低优先级模式时期为处理器持续运行于低优先级模式的一段时间间隔;
所述模式切换时期为从处理器监测到当前优先级模式下的过度执行开始,到完成模式切换进入到下一个优先级模式的调度为止的一段连续时间间隔。
进一步的,当处理器刚启动时处于模式切换时期,完成在低优先级模式下运行的准备工作,处理器在模式切换时期和低优先级模式时期,允许对任务进行处理器间迁移操作;
处理器在高优先级模式时期不允许任何任务在处理器间迁移操作,当在高优先级模式的任务只能在该模式下的处理器中运算。
本申请公开的一种加密运算芯片的多处理器架构,包括,多个处理器、任务分层模块和任务调度模块,所述多个处理器与所述任务调度模块和任务分层模块连接,所述多个处理器用于处理运算任务,所述任务分层模块用于对任务进行分层,将任务集按照约束关系分为多层级任务组,所述任务组按照层级逐一调配串行运算,所述任务调度模块用于将任务组通过估计运算时间和预期运算时间调配到相应的处理上,且当处理器在优先级模式切换时,对任务进行再次调度。
进一步的,所述任务分层模块内置优先级标注单元,所述优先级标注单元用于对任务进行优先级标注,以区分不同任务运算的优先级别。
进一步的,所述处理器内置运算监测单元,所述运算监测单元用于监测任务运行时的实际运行时间,并且反馈给处理器,所述处理器接收反馈,并根据反馈结果进行模式切换。
本申请具有如下有益效果:
本发明提出的一种用于加密运算芯片的多处理器架构及调配方法,器在多处理器划分调度中,结合任务的高低优先级,从而保证了高优先级任务的顺利运行,同时能够有效利用高低优先级任务的运行时特征,更好地平衡不同处理器之间在各个运行时资源利用率,以更为充分、有效地利用处理器运算资源,提升加密芯片的任务处理能力和效率。
附图说明
以下参考附图描述的实施例是示例性的,旨在用于解释和说明本申请,而不能理解为对本申请的保护范围的限制。
图1是本申请公开的主要步骤流程图;
图2是本申请公开的任务分层示意图;
图3是本申请公开的任务调度示意图;
图4是本申请公开的低优先级任务迁移示意图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图1-4,对本申请实施例中的技术方案进行更加详细的描述。
本申请公开的一种用于加密运算芯片的多处理器架构的调配方法,如图1所示包括下列步骤;
S100、将待运算的所有任务
Figure 860971DEST_PATH_IMAGE001
进行优先级标注,所述优先级包括高优先级和低优先级,将每个任务
Figure 701888DEST_PATH_IMAGE002
分配到相应层级,每层为一个任务组,并且按照层级逐一调配并运算;
所述步骤S100具体步骤为;
S101、对待处理的所有任务
Figure 38192DEST_PATH_IMAGE005
进行优先级标注;通过对任务进行优先级标注,其主要目的在于,每个高优先级任务是程序需要优先运行的程序,且具有紧迫性,需要优先保证该任务的完成,当实时任务系统的资源利用率充足时,高优先级任务能按时完成,但是当处理器有负载的情况,运行任务时会出现实际运行时间比估计运行时间慢时,则需要优先保证高优先级任务的完成,而将低优先级任务迁移到其他处理器上进行处理。
S102、所有任务
Figure 232544DEST_PATH_IMAGE024
满足约束条件,所述约束条件通过有向无环图
Figure 603482DEST_PATH_IMAGE007
来表达,其中
Figure 349721DEST_PATH_IMAGE025
表示图中有向弧的集合,元素
Figure 533840DEST_PATH_IMAGE026
表示
Figure 656517DEST_PATH_IMAGE027
Figure 616383DEST_PATH_IMAGE028
的直接前驱,即
Figure 533523DEST_PATH_IMAGE029
Figure 985364DEST_PATH_IMAGE030
的直接后继,没有前驱的任务为入节点,没有后继的任务为出节点;如图2所示,其中左边为约束任务集合,其中圈内代表任务,圈内冒号左边数字代表任务标号,右边表示任务的入度值,右边为完成分层的任务集。加密芯片的多个处理器能更好的处理多任务的应用程序,比如,快速复杂的处理器可以执行串行代码部分,而较简单的处理器则能并行处理数字,这样不仅能提高处理器系统的性能,而且能节省能耗。
S103、计算所述任务中所有顶点的入度值;所述入度值表示进入这个顶点的有向边数量;出度值表示从这个顶点出发的有向边数量;
S104、找出所有顶点的入度值为0的任务,放入第一层;
S105、除去第一层的顶点,其他剩下的顶点所组成的子图,在子图中寻找所有入度值为0的顶点,放入第二层;
S106、得到第K层,除去放入0~K层顶点外,其他剩下的顶点所组成的子图,在所述子图中找到所有入度值为0的顶点,放入K+1层,
S107、令K=k+1,重复执行步骤S106,直到所有顶点都被放入分层中。通过约束关系进行分层,因为任务与任务之间,有着前置和后置的关系,只有运算完成前置任务后,才能进行后置任务的运算,图中箭头关系,表示任务运行走向,该分层能够实现区分任务与任务之间的节点连接关系,从而将任务的前置任务和后置任务分割出来,实现了同一层任务可以并行处理,从而提高加密芯片处理的运行速率。
进一步的将任务组中的任务调度到加密芯片的处理器上,从编号低的层到编号高的层串行执行,同一层中的任务是相互独立的,同一层中的任务并行执行。
S200、将第一任务组中任务
Figure 646153DEST_PATH_IMAGE003
分别调度到多个处理器的等待序列,并等待运算;
步骤S200如图3所示Pi为处理器,按照运算速度依次排列,其中tn为任务,S201、将同一任务组内所有任务按照任务的估计运行时间非升序排列好,且无须考虑任务的优先级;
S202、取任务组中耗时最大的任务调度给尚未调度任务的计算速度最快的处理器,接着取第二耗时任务,计算当第二耗时任务调度给该处理器时处理器的总耗时,如果处理器的总耗时未达到A i 值,则调度第二耗时任务给该处理器,且继续考虑下一个任务,直到找到使处理器总耗时刚好小于等于A i 值的任务为止,且将小于等于A i 值的这个任务也调度给该处理器,将调度给该处理器的所有任务从任务组中删除;
其中
Figure 460525DEST_PATH_IMAGE014
表示在进行任务组调度时,是否将任务调度到该处理器上的参考值;
Figure 938780DEST_PATH_IMAGE015
其中
Figure 736971DEST_PATH_IMAGE031
为任务的估计完成时间的下界值,
Figure 935872DEST_PATH_IMAGE032
Figure 745696DEST_PATH_IMAGE033
每个任务
Figure 270218DEST_PATH_IMAGE019
的估计运行时间,即任务
Figure 24547DEST_PATH_IMAGE034
在不同处理器上运行时间的平均值,
Figure 184396DEST_PATH_IMAGE035
表示处理器,
Figure 973360DEST_PATH_IMAGE036
表示处理器的运行速度;通过该方法能够保证每个处理器的运算效率都接近最大值,使得加密芯片提升整体效能,通过任务调度使处理器间的负载均衡。负载均衡是指对系统中的负载情况进行动态调整,以尽量消除或减少系统中各处理器核负载不均衡的情况。负载均衡的实现策略是将那些过载处理器核上的任务转移一些到那些轻载的处理器核上,尽量满足处理器间的负载均衡,从而提高多核处理器系统的性能。负载均衡对统筹管理异构多核处理器系统中的各种计算资源也非常有利,方便充分利用服务机制和共享信息扩大多核处理器系统局部的处理能力。
S203、重复执行步骤S202直到同一组任务都被调度完,调度后的任务都处于等待序列中,调度完成的处理器开始运算。
S300、处理器开始运算等待序列中的任务,每个处理器最开始运算等待序列中的任务
Figure 403204DEST_PATH_IMAGE023
时,处理器处于低优先级模式;当处理器处于低优先级模式时,所有低优先级任务和高优先级任务均按照等待序列的位置顺序进行运算,当处理器运算其中一个任务的实际运算时间超过估计时间的而未发出运算完成信号时,处理器由低优先级模式向高优先级模式切换,且所有低优先级任务直接终止运算,并被移除出等待序列,而高优先级任务
Figure 910409DEST_PATH_IMAGE023
按照等待序列的位置顺序逐一进行运算,被移除的低优先级任务,将按照步骤S200调度规则插入正处于低优先级模式的处理器;当用户将高优先级提交给加密芯片处理的时候,由于任务是随机到达加密芯片的,所以很容易引起某些处理器出现过载的情况,而某些处理单元则出现轻载或空闲的情况。每个高优先级任务是程序需要优先运行的程序,且具有紧迫性,且具有时限性,所以需要优先保证该任务的完成。通过高低优先级任务的调配,保证所有处理器处于最高效率。
进一步的,所述步骤S300具体步骤为,
S301、处理器最开始运算等待序列中的任务
Figure 857636DEST_PATH_IMAGE023
时,将所有任务按照上述任务调度顺序调度到各处理器中,且处理器处于低优先级模式;
S302、当处理器处于低优先级模式时,所有低优先级任务和高优先级任务均按照等待序列进行运算;
S303、如图4所示,左边框为处于高优先级模式的处理器,有边框为低优先级模式下的处理器,图中所表示的为高优先级模式下的处理器中,低优先级任务an向低优先级模式下的处理器中的转移,插入原本队列bn中,当处理器发生低优先级模式向高优先级模式切换时,所有低优先级任务将被终止执行并被清除出等待序列,同时,从原有等待序列中移除低优先级任务,被移除的低优先级任务,将按照步骤S200调度规则插入正处于低优先级模式的处理器;当所有被移除的低优先级任务被调度完成后,所述处理器完成高优先级模式切换,所述高优先级任务按照等待序列的位置顺序逐一进行运算;
S304、当处理器完成高优先级任务的运算后,切换进入低优先级模式。
进一步的,所述处理器运行时包括三种时期,高优先级模式时期、低优先级模式时期和模式切换时期,所述高优先级模式时期为处理器持续运行于高优先级模式的一段时间间隔;
所述低优先级模式时期为处理器持续运行于低优先级模式的一段时间间隔;处理器未进行任务运算时,处于低优先级模式。
所述模式切换时期为从处理器监测到当前优先级模式下的过度执行开始,到完成模式切换进入到下一个优先级模式的调度为止的一段连续时间间隔。
进一步的,当处理器刚启动时处于模式切换时期,完成在低优先级模式下运行的准备工作,处理器在模式切换时期和低优先级模式时期,允许对任务进行处理器间迁移操作;
处理器在高优先级模式时期不允许任何任务在处理器间迁移操作,当在高优先级模式的任务只能在该模式下的处理器中运算。
S400:第一任务组完成运算,则继续运算第二任务组,直至所有任务组完成运算。
本申请公开的一种加密运算芯片的多处理器架构,包括,多个处理器、任务分层模块和任务调度模块,所述多个处理器与所述任务调度模块和任务分层模块连接,所述多个处理器用于处理运算任务,所述任务分层模块用于对任务进行分层,将任务集按照约束关系分为多层级任务组,所述任务组按照层级逐一调配串行运算,所述任务调度模块用于将任务组通过估计运算时间和预期运算时间调配到相应的处理上,且当处理器在优先级模式切换时,对任务进行再次调度。
进一步的,所述任务分层模块内置优先级标注单元,所述优先级标注单元用于对任务进行优先级标注,以区分不同任务运算的优先级别。
进一步的,所述处理器内置运算监测单元,所述运算监测单元用于监测任务运行时的实际运行时间,并且反馈给处理器,所述处理器接收反馈,并根据反馈结果进行模式切换。
本文中的模块、单元或组件的划分仅仅是一种逻辑功能的划分,在实际实现时可以有其他的划分方式,例如多个模块和/或单元可以结合或集成于另一个处理器中。作为分离部件说明的模块、单元、组件在物理上可以是分开的,也可以是不分开的。作为单元显示的部件可以是物理单元,也可以不是物理单元,即可以位于一个具体地方,也可以分布到网格单元中。因此可以根据实际需要选择其中的部分或全部的单元来实现实施例的方案。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种用于加密运算芯片的多处理器架构的调配方法,其特征在于,包括下列步骤:
S100、将待运算的所有任务
Figure 767802DEST_PATH_IMAGE001
进行优先级标注,所述优先级包括高优先级和低优先级,将每个任务
Figure 557903DEST_PATH_IMAGE002
分配到相应层级,每层为一个任务组,并且按照层级逐一调配并运算;
S200、将第一任务组中任务
Figure 577812DEST_PATH_IMAGE002
分别调度到多个处理器的等待序列,并等待运算;
S300、处理器开始运算等待序列中的任务,每个处理器最开始运算等待序列中的任务
Figure 970616DEST_PATH_IMAGE003
时,处理器处于低优先级模式,当处理器处于低优先级模式时,所有低优先级任务和高优先级任务均按照等待序列的位置顺序进行运算,当处理器运算其中一个任务的实际运算时间超过估计时间的而未发出运算完成信号时,处理器由低优先级模式向高优先级模式切换,且所有低优先级任务直接终止运算,并被移除出等待序列,而高优先级任务
Figure 759581DEST_PATH_IMAGE003
按照等待序列的位置顺序逐一进行运算,被移除的低优先级任务,将按照步骤S200调度规则插入正处于低优先级模式的处理器;
S400、第一任务组完成运算,则继续运算第二任务组,直至所有任务组完成运算。
2.根据权利要求1所述的一种用于加密运算芯片的多处理器架构的调配方法,其特征在于,所述步骤S100具体步骤为:
S101、对待处理的所有任务
Figure 455004DEST_PATH_IMAGE004
进行优先级标注;
S102、所有任务
Figure 571996DEST_PATH_IMAGE005
满足约束条件,所述约束条件通过有向无环图
Figure 643857DEST_PATH_IMAGE006
来表达,其中
Figure 552907DEST_PATH_IMAGE007
表示图中有向弧的集合,元素
Figure 779751DEST_PATH_IMAGE008
表示
Figure 774252DEST_PATH_IMAGE009
Figure 118646DEST_PATH_IMAGE010
的直接前驱,即
Figure 23148DEST_PATH_IMAGE011
Figure 794795DEST_PATH_IMAGE012
的直接后继,没有前驱的任务为入节点,没有后继的任务为出节点;
S103、计算所述任务中所有顶点的入度值,所述入度值表示进入这个顶点的有向边数量,出度值表示从这个顶点出发的有向边数量;
S104、找出所有顶点的入度值为0的任务,放入第一层;
S105、除去第一层的顶点,其他剩下的顶点所组成的子图,在子图中寻找所有入度值为0的顶点,放入第二层;
S106、得到第K层,除去放入0~K层顶点外,其他剩下的顶点所组成的子图,在所述子图中找到所有入度值为0的顶点,放入K+1层;
S107、令K=k+1,重复执行步骤S106,直到所有顶点都被放入分层中。
3.根据权利要求2所述的一种用于加密运算芯片的多处理器架构的调配方法,其特征在于,将任务组中的任务调度到加密芯片的处理器上,从编号低的层到编号高的层串行执行,同一层中的任务是相互独立的,同一层中的任务并行执行。
4.根据权利要求1所述的一种用于加密运算芯片的多处理器架构的调配方法,其特征在于,步骤S200具体为:
S201、将同一任务组内所有任务按照任务的估计运行时间非升序排列好,且无须考虑任务的优先级;
S202、取任务组中耗时最大的任务调度给尚未调度任务的计算速度最快的处理器,接着取第二耗时任务,计算当第二耗时任务调度给该处理器时处理器的总耗时,如果处理器的总耗时未达到A i 值,则调度第二耗时任务给该处理器,且继续考虑下一个任务,直到找到使处理器总耗时刚好小于等于A i 值的任务为止,且将小于等于A i 值的这个任务也调度给该处理器,将调度给该处理器的所有任务从任务组中删除,其中
Figure 276592DEST_PATH_IMAGE013
表示在进行任务组调度时,是否将任务调度到该处理器上的参考值:
Figure 424676DEST_PATH_IMAGE014
其中
Figure 167373DEST_PATH_IMAGE015
为任务的估计完成时间的下界值,
Figure 641080DEST_PATH_IMAGE016
Figure 344594DEST_PATH_IMAGE017
每个任务
Figure 906156DEST_PATH_IMAGE018
的估计运行时间,即任务
Figure 644305DEST_PATH_IMAGE019
在不同处理器上运行时间的平均值,
Figure 757755DEST_PATH_IMAGE020
表示处理器,
Figure 948565DEST_PATH_IMAGE021
表示处理器的运行速度;
S203、重复执行步骤S202直到同一组任务都被调度完,调度后的任务都处于等待序列中,调度完成的处理器开始运算。
5.根据权利要求1所述的一种用于加密运算芯片的多处理器架构的调配方法,其特征在于,所述步骤S300具体步骤为:
S301、处理器最开始运算等待序列中的任务
Figure 318411DEST_PATH_IMAGE022
时,将所有任务按照上述任务调度顺序调度到各处理器中,且处理器处于低优先级模式;
S302、当处理器处于低优先级模式时,所有低优先级任务和高优先级任务均按照等待序列进行运算;
S303、当处理器发生低优先级模式向高优先级模式切换时,所有低优先级任务将被终止执行并被清除出等待序列,同时,从原有等待序列中移除低优先级任务,被移除的低优先级任务,将按照步骤S200调度规则插入正处于低优先级模式的处理器,当所有被移除的低优先级任务被调度完成后,所述处理器完成高优先级模式切换,所述高优先级任务按照等待序列的位置顺序逐一进行运算;
S304、当处理器完成高优先级任务的运算后,切换进入低优先级模式。
6.根据权利要求5所述的一种用于加密运算芯片的多处理器架构的调配方法,其特征在于,所述处理器运行时包括三种时期:高优先级模式时期、低优先级模式时期和模式切换时期,所述高优先级模式时期为处理器持续运行于高优先级模式的一段时间间隔;
所述低优先级模式时期为处理器持续运行于低优先级模式的一段时间间隔;
所述模式切换时期为从处理器监测到当前优先级模式下的过度执行开始,到完成模式切换进入到下一个优先级模式的调度为止的一段连续时间间隔。
7.根据权利要求6所述的一种用于加密运算芯片的多处理器架构的调配方法,其特征在于,当处理器刚启动时处于模式切换时期,完成在低优先级模式下运行的准备工作,处理器在模式切换时期和低优先级模式时期,允许对任务进行处理器间迁移操作,处理器在高优先级模式时期不允许任何任务在处理器间迁移操作,当在高优先级模式的任务只能在该模式下的处理器中运算。
8.一种加密运算芯片的多处理器架构,其特征在于,包括,多个处理器、任务分层模块和任务调度模块,所述多个处理器与所述任务调度模块和任务分层模块连接,所述多个处理器用于处理运算任务,所述任务分层模块用于对任务进行分层,将任务集按照约束关系分为多层级任务组,所述任务组按照层级逐一调配串行运算,所述任务调度模块用于将任务组通过估计运算时间和预期运算时间调配到相应的处理上,且当处理器在优先级模式切换时,对任务进行再次调度。
9.根据权利要求8所述的一种加密运算芯片的多处理器架构,其特征在于,所述任务分层模块内置优先级标注单元,所述优先级标注单元用于对任务进行优先级标注,以区分不同任务运算的优先级别。
10.根据权利要求9所述的一种加密运算芯片的多处理器架构,其特征在于, 所述处理器内置运算监测单元,所述运算监测单元用于监测任务运行时的实际运行时间,并且反馈给处理器,所述处理器接收反馈,并根据反馈结果进行模式切换。
CN202110168997.1A 2021-02-07 2021-02-07 一种用于加密运算芯片的多处理器架构及调配方法 Active CN112506640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110168997.1A CN112506640B (zh) 2021-02-07 2021-02-07 一种用于加密运算芯片的多处理器架构及调配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110168997.1A CN112506640B (zh) 2021-02-07 2021-02-07 一种用于加密运算芯片的多处理器架构及调配方法

Publications (2)

Publication Number Publication Date
CN112506640A true CN112506640A (zh) 2021-03-16
CN112506640B CN112506640B (zh) 2021-05-18

Family

ID=74952723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110168997.1A Active CN112506640B (zh) 2021-02-07 2021-02-07 一种用于加密运算芯片的多处理器架构及调配方法

Country Status (1)

Country Link
CN (1) CN112506640B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535367A (zh) * 2021-09-07 2021-10-22 北京达佳互联信息技术有限公司 任务调度方法及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131657A (zh) * 2006-08-25 2008-02-27 华为技术有限公司 一种辅助cpu对芯片进行驱动的系统及方法
CN101458634A (zh) * 2008-01-22 2009-06-17 中兴通讯股份有限公司 负载均衡调度方法和装置
WO2015171594A1 (en) * 2014-05-07 2015-11-12 Igneous Systems, Inc. Prioritized repair of data storage failures
CN105320571A (zh) * 2015-11-27 2016-02-10 浪潮(北京)电子信息产业有限公司 一种进程调度方法
CN110333942A (zh) * 2019-07-05 2019-10-15 中国工商银行股份有限公司 电子设备以及由电子设备执行的任务处理方法
CN112306653A (zh) * 2020-10-22 2021-02-02 西北工业大学 截止期约束下的工作流能耗和可靠性调度方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131657A (zh) * 2006-08-25 2008-02-27 华为技术有限公司 一种辅助cpu对芯片进行驱动的系统及方法
CN101458634A (zh) * 2008-01-22 2009-06-17 中兴通讯股份有限公司 负载均衡调度方法和装置
WO2015171594A1 (en) * 2014-05-07 2015-11-12 Igneous Systems, Inc. Prioritized repair of data storage failures
CN105320571A (zh) * 2015-11-27 2016-02-10 浪潮(北京)电子信息产业有限公司 一种进程调度方法
CN110333942A (zh) * 2019-07-05 2019-10-15 中国工商银行股份有限公司 电子设备以及由电子设备执行的任务处理方法
CN112306653A (zh) * 2020-10-22 2021-02-02 西北工业大学 截止期约束下的工作流能耗和可靠性调度方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535367A (zh) * 2021-09-07 2021-10-22 北京达佳互联信息技术有限公司 任务调度方法及相关装置
CN113535367B (zh) * 2021-09-07 2022-01-25 北京达佳互联信息技术有限公司 任务调度方法及相关装置

Also Published As

Publication number Publication date
CN112506640B (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
US7650601B2 (en) Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
Hui et al. Improved strategies for dynamic load balancing
KR101626378B1 (ko) 병렬도를 고려한 병렬 처리 장치 및 방법
CN105487930A (zh) 一种基于Hadoop的任务优化调度方法
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
CN110362407A (zh) 计算资源调度方法及装置
Chen et al. Adaptive multiple-workflow scheduling with task rearrangement
WO2015106533A1 (zh) 基于协处理器的作业调度处理方法及装置
CN109408215A (zh) 一种计算节点的任务调度方法和装置
Tang et al. Combining hard periodic and soft aperiodic real-time task scheduling on heterogeneous compute resources
CN112506640B (zh) 一种用于加密运算芯片的多处理器架构及调配方法
CN112925616A (zh) 任务分配方法、装置、存储介质及电子设备
CN109144691B (zh) 一种面向多核处理器的任务调度分配方法
CN114371933A (zh) 一种动态调度多核融合计算处理器的方法及其系统
CN113672391A (zh) 一种基于Kubernetes的并行计算任务调度方法与系统
Dubey et al. QoS driven task scheduling in cloud computing
EP4300305A1 (en) Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices
CN112783651B (zh) 一种云平台vGPU负载均衡调度方法、介质及装置
Chen et al. Throughput enhancement through selective time sharing and dynamic grouping
Huang et al. EDF-Adaptive: A New Semipartitioned Scheduling Algorithm for Multiprocessor Real-Time
Singla et al. Task Scheduling Algorithms for Grid Computing with Static Jobs: A Review
CN114816720B (zh) 多任务共享物理处理器的调度方法、装置及终端设备
CN113448705B (zh) 一种不平衡作业调度算法
CN114860417B (zh) 多核神经网络处理器及用于该处理器多任务分配调度方法
Patil et al. Review on a comparative study of various task scheduling algorithm in cloud computing environment

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210316

Assignee: Hangzhou Weiming Information Technology Co.,Ltd.

Assignor: Zhejiang core Gravity Technology Co.,Ltd.

Contract record no.: X2021330000325

Denomination of invention: A multiprocessor architecture and deployment method for encryption operation chip

Granted publication date: 20210518

License type: Common License

Record date: 20210927

EE01 Entry into force of recordation of patent licensing contract