CN114217930A - 一种基于混合任务调度的加速器系统资源优化管理方法 - Google Patents
一种基于混合任务调度的加速器系统资源优化管理方法 Download PDFInfo
- Publication number
- CN114217930A CN114217930A CN202111553548.5A CN202111553548A CN114217930A CN 114217930 A CN114217930 A CN 114217930A CN 202111553548 A CN202111553548 A CN 202111553548A CN 114217930 A CN114217930 A CN 114217930A
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- resource
- accelerator
- scheduling
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 25
- 238000005457 optimization Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 28
- 230000003068 static effect Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 8
- 238000013145 classification model Methods 0.000 claims description 7
- 230000008713 feedback mechanism Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 230000001174 ascending effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000002699 waste material Substances 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
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
技术领域
本发明涉及任务调度领域,尤其涉及一种基于混合任务调度的加速器系统资源优化管理方法。
背景技术
随着大数据分析,人工智能,科学计算等领域的快速发展,学术界和工业界对算力的需求也日益增长。以GPU(Graphics Processing Unit)等为代表的加速器(Accelerator)正在逐步得到广泛的应用,并驱动计算机系统朝着异构并行的方向快速发展。加速器具有高并发,低能耗的特性,因而在移动端、桌面和数据中心等更为多样的场景下得到了广泛的使用。然而,尽管有计算和访存方面的优化设计,加速器在资源管理上依旧面临着巨大的挑战。单一的任务往往无法充分利用加速器的所有资源,这会带来资源浪费的问题。
发明内容
为了解决上述技术问题,本发明的目的是提供一种基于混合任务调度的加速器系统资源优化管理方法,实现加速器资源的充分利用,并保证任务的服务质量。
本发明所采用的第一技术方案是:一种基于混合任务调度的加速器系统资源优化管理方法,包括以下步骤:
获取应用的运行特征并根据运行特征进行任务分类,得到分类后的任务;
根据优先级策略设置多任务共同运行规则;
采集加速器资源的使用信息;
根据加速器资源的使用信息和多任务共同运行规则,对分类后的任务进行调度。
进一步,所述获取应用的运行特征并根据运行特征进行任务分类,得到分类后的任务这一步骤,其具体包括:
进入子模块并获取应用程序代码;
基于编译器,根据应用程序代码,生成可执行文件和采集静态资源使用信息;
根据可执行文件执行应用并采集动态资源使用信息;
根据静态资源使用信息和动态资源使用信息对该应用进行分类,得到分类后的任务。
进一步,所述任务分类的类型包括:
计算型任务,对计算资源需求大;
访存型任务,对带宽和内存资源需求大;
延迟型任务,等待各种访存的返回,指令执行延迟严重。
进一步,所述根据静态资源使用信息和动态资源使用信息对该应用进行分类,得到分类后的任务这一步骤,其具体包括:
构建自适应分类模型;
基于自适应分类模型,计算任务特征的特征向量与各种任务类型的中心点的高斯距离,选取距离最近的中心点所代表的任务类型作为该任务的类型,得到分类结果;
所述任务特征包括静态资源使用信息和动态资源使用信息。
进一步,还包括:
根据分类结果更新刚加入新任务的任务类型的中心;
基于质心计算公式更新每种任务类型的中心,并计算该类别中的每个任务与该中心的高斯距离,得到距离权重。
进一步,所述根据优先级策略设置多任务共同运行规则这一步骤,其具体包括:
通过细粒度控制,将流分配给不同的任务,基于流执行任务;
判断到任务之间存在先后关系,基于流的同步机制和事件。
进一步,所述采集加速器资源的使用信息这一步骤,其具体包括:
进入子模块;
根据当前正在运行的任务,分别采集对应任务的静态资源信息和动态资源信息;
将对应任务的静态资源信息和动态资源信息进行线性叠加并更新当前加速器资源的使用信息。
进一步,还包括:
执行反馈机制,根据预设的时间间隔进行在线性能剖析,更正采集到的加速器资源的使用信息。
进一步,所述根据加速器资源的使用信息和多任务共同运行规则,对分类后的任务进行调度这一步骤,其具体包括:
进入子模块;
判断到全局资源剩余情况在预设区间内,启动新的任务;
判断到当前计算资源剩余情况在预设区间内,启动计算型的任务;
判断到当前访存资源剩余情况在预设区间内,带宽占用少,启动访存型任务;
判断到当前计算资源和访存资源剩余情况均超出预设区间,启动延迟型任务;
基于空闲流执行启动的任务并更新资源情况。
进一步,还包括:
根据距离权重,对所选任务类型的所有任务进行升序排序;
根据加速器资源的使用信息,按照距离权重从小至大的调度对应任务执行。
本发明所采用的第二技术方案是:一种基于混合任务调度的加速器系统资源优化管理系统,包括:
分类模块,用于获取应用的运行特征并根据运行特征进行任务分类,得到分类后的任务;
规则模块,用于根据优先级策略设置多任务共同运行规则;
采集模块,用于采集加速器资源的使用信息;
调度模块,用于根据加速器资源的使用信息和多任务共同运行规则,对分类后的任务进行调度。
本发明所采用的第三技术方案是:一种基于混合任务调度的加速器系统资源优化管理装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如上所述一种基于混合任务调度的加速器系统资源优化管理方法。
本发明所采用的第四技术方案是:一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于实现如上所述一种基于混合任务调度的加速器系统资源优化管理方法。
本发明方法、系统、装置及存储介质的有益效果是:本发明基于应用的行为特征和性能特点,利用流的特性,充分发挥加速器的并发性能,并基于软硬件监测机制跟踪加速器资源使用情况,动态调整任务规模和混合策略,实现多个任务公平、高效地共享加速器资源。
附图说明
图1是本发明一种基于混合任务调度的加速器系统资源优化管理方法的步骤流程图;
图2是本发明具体实施例任务分类的流程示意图;
图3是本发明具体实施例基于流实现多任务共同运行示意图;
图4是本发明具体实施例收集加速器资源使用信息的流程示意图;
图5是本发明具体实施例混合任务调度的流程示意图;
图6是本发明具体实施例选择合适任务的流程示意图;
图7是本发明具体实施例执行任务的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
如图1所示,本发明提供了一种基于混合任务调度的加速器系统资源优化管理方法,该方法包括以下步骤:
S1、获取应用的运行特征并根据运行特征进行任务分类,得到分类后的任务;
该步骤用于获得应用的运行特征并进行分析,主要的流程图如图2所示。
A)进入子模块。
B)应用程序代码:基于程序代码可以使用的情况。
C-D)编译器:对于静态的资源需求信息,如寄存器数量,共享内存数目,核函数启动的网格数目和块大小,我们可以通过在编译时添加‘--resource-usage’或者‘--ptxas-options=-v’等编译选项来获得。通过这些编译时的输出信息,我们可以分析应用对于硬件资源的需求,在硬件资源的限制下,尽可能地让更多的应用同时地,保证效率地运行。
E)可执行文件:编译完成之后得到可执行文件。
F-G)完整/部分程序性能剖析:对于程序执行过程中的动态信息,如访存情况,带宽使用率,指令执行效率等。我们可以借助现有的加速器profile性能分析工具,如NVIDIA的nvprof和AMD的ROCm profiler,通过对应用进行完整或者部分运行周期的profiling来收集和分析运行时的行为特征。这些特征可以转换为各种指标的表示,如衡量计算性能的的ipc(instructions executedper cycle),双精度/半精度核心使用率double_precision_fu_utilization/half_precision_fu_utilization以及衡量访存情况的dram_utilization等。通过对这些行为特征的全面分析,我们不仅可以对任务类型进行划分,还可以充分利用计算、访存、带宽等细粒度信息来丰富收集的运行时信息,进而引导设计更加高效的任务并行策略。
H)任务分类:通过对任务计算特性,访存特性和指令执行特性的考虑,我们将任务分为以下三类。
计算型任务:应用执行瓶颈在于计算核心数量的不足,对计算资源需求大。
访存型任务:应用执行瓶颈在于访存的负担,对带宽,内存资源需求大。
延迟型任务:应用的计算需求和内存需求都不大,执行的瓶颈在于等待各种访存的返回,指令执行延迟严重。
另外,我们通过一个自适应的分类模型来决定任务的类型,模型的输入是一个n维的向量F(n表示挑选的特征向量数目,每个维度分别代表着一种特征值),模型的输出是分类的结果(计算密集型,访存密集型或者延迟型)。这些特征(也就是指标)的选取可以基于实际情况进行调整,只要可以完备地描述任务的特性就可以。这里可以进一步泛化为:以ipc,double/single_precision_fu_utilization为代表的计算指标,以dram_utilization等为代表的访存相关指标,以stall_memory_dependency,stall_pipe_busy等为代表的延迟类型指标,不需要专门指定有多少个指标。
模型初始化的时候,只有三个极端的点,分别代表三种极端的任务类型:计算密集型任务的初始点(10,10,…,10,0,0,0,…),其中和计算相关的特征值都是最大值10,其余都是0。类型地,访存密集型任务的初始点(0,0,0,…,10,10,…,10,0,0,…),其中和访存相关的特征值都是最大值10,其余是0。延迟型任务也是类型,这里不再赘述。此时各种任务类型的中心就是这些初始点。
对于任何一个未分类的任务特征,我们将计算其特征向量和各种任务类型的中心点的高斯距离,选取距离最近的中心点所代表的任务类型作为该任务的类型,并且更新此种任务类型的中心点。这种更新方式的好处是可以充分考虑任务之间的相关性,将少人为主观的任务类型划分所带来的代价。对于难以分类的任务,可以交给自适应分类模型处理。
在所有任务完成分类之后,我们会重新根据分类结果计算每种任务类型的中心,并且计算每种任务和中心的距离,该距离代表了任务和这种类型的相关程度,距离越小,表示该任务离该任务类型的中心越近,越符合这种任务的特点。这个距离将作为一个权重,在后续调度的任务选择中会被使用。
S2、根据优先级策略设置多任务共同运行规则;
该部分将围绕实现多任务的共同运行展开。多任务同时共享加速器资源有多种实现方案,以NVIDIA的GPU为例,Hyper-Q作为一种硬件实现,对于开发人员来说是透明的,我们难以进行控制。MPS采用客户端和服务端的形式提交任务,但没有进一步考虑不同任务之间计算过程和数据复制过程的重叠。MIG提前将加速器资源静态地划分为固定的实例,实例之间的资源竞争现象依旧存在。鉴于此,我们拟采用更加灵活的流技术,通过细粒度的控制,将流分配给不同的任务,流与流之间的执行是相互独立的,但底层的硬件资源是共享的。如图2所示展示了3个流,其中每个流里面可以包含多个任务的各种操作,H2D(Host toDevice)表示将数据从host端(也即CPU端)复制到device端(也即GPU端),D2H(Device toHost)则相反,而K表示的是核函数(Kernel function)。
通过流的方法,我们可以实现多任务共享加速器资源,还可以实现计算过程和数据复制过程的覆盖。如图3中所示,在任务A执行过程中,可以进行任务D的数据复制和核函数计算。任务B和任务C也可以基于不同的流共同运行。对于任务之间存在先后依赖关系的情况,我们还需要利用流的同步机制(Stream synchronize)和事件机制(Event)进行流之间的通信和同步,确保任务的执行顺序满足依赖要求,如图3中任务B和任务C需要等待同步信号,再开始执行。除此之外,对于优先级高或者执行时间敏感型任务,我们也设计了相应的优先级策略以确保优先的资源分配。
S3、采集加速器资源的使用信息;
该部分用于实现加速器资源使用的监测。在前面两个技术方案的基础上,我们可以在知晓每个应用的执行特性的前提下,基于通过流控制任务启动的时机,实现多任务并行。在任务启动之后,我们需要实时跟踪加速器目前的资源利用情况,用于指导混合调度。对此,可以有软硬件两种实现方式,其中软件层面实现如图4所示。
A)进入:进入子模块。
B)获取静态和动态资源信息:我们可以根据当前正在运行的任务及其特征,近似地收集各种资源的使用情况。在第一部分技术方案中,任务对于资源的需求或者计算访存特征会以具体的数据需求(静态信息)和指标(动态信息)来呈现。
C)线性叠加:为了获得多任务共同执行时加速器的资源使用情况,我们可以做一个近似的收集,将多个任务共同执行的资源负担进行线性叠加。
D)更新加速器资源使用信息:根据当前任务执行情况更新当前资源使用信息。
E-F)执行反馈机制:同时,为了避免我们收集到的误差随着任务的进行不断扩大,我们还设计一个反馈机制,每间隔一段时间进行在线性能剖析,更正我们收集到的资源使用情况。这种近似收集和反馈机制的组合,可以降低运行时在线剖析任务的次数以及所带来的性能下降,同时保证收集信息的有效性。相比只单纯依赖静态信息或者不考虑任务特性地进行随机资源分配,我们的策略具有更好的指引作用。
G)判断是否完成所有任务:若没有任务执行,则退出,否则继续循环。
H)退出:退出子模块。
对于硬件层面的实现,我们将避开软件层面的性能和指标收集,通过增加寄存器和内存资源,直接统计加速器当前资源的使用情况和剩余量,包括计算单元的使用量,带宽的占用率,访存的效率等,获得更加精确地运行时信息,并且避免过多的性能损失。硬件设计的实现可以通过使用现场可程序化逻辑门阵列(Filed-programmable gate array,FPGA)或者模拟器(如,gem5,GPGPU-sim)等实现。
S4、根据加速器资源的使用信息和多任务共同运行规则,对分类后的任务进行调度。
该部分用于实现混合任务调度。我们紧密结合前面提到的三种技术方案,利用任务特性和收集到的加速器资源使用信息来设计高效的混合调度方案,其整体流程图如图5所示。
A)进入:进入程序。
B)初始化:包括初始化流创建,申请调度所需的变量资源。
C)收集当前资源使用情况:在所有任务被执行完之前,我们会基于上述提到的技术方法,持续地收集当前加速器的资源使用情况(图3)。根据当前加速器资源剩余量,来对接下来启动的任务类型进行筛选。
D)选择合适的任务:具体流程图如图6所示。
D1)进入子模块。
D2-D3)判断资源是否紧张:首先判断全局资源是否紧张,如果现在全局资源使用较多,会先等待其他任务完成之后释放资源,再决定启动新的任务。若当前资源剩余情况良好,则可以启动新的任务。
D4-D5)启动计算型任务:若当前资源有更多的计算核心空闲,那么我们将尝试启动一个计算密集型的任务。
D6-D7)启动访存型任务:若当前访存资源剩余情况良好,带宽占用很少,那么我们将选择启动一个访存密集型任务。
D8)启动延迟性任务:若当前计算资源和访存资源都使用较多,我们将启动一个延迟型任务
D9)判断是否有相应类型的任务:如果相应类型的任务已经都执行完毕,那么直接退出。
D10)计算合适的核函数规模:根据现存资源使用情况,尽可能地利用剩余的资源。不同的核函数的网格数目(grid)和线程块数目(threadblock)对应不同的资源使用情况(可以通过技术1中的应用特征分析获得)。通过设置不同的数值来来实现启动不同的核函数规模。
D11)退出子模块。
E)执行任务:在确定了任务类型和任务规模之后,我们需要执行任务。具体流程如图7所示。
E1)进入子模块。
E2-E4)判断是否有空闲的流:为了使得多任务可以并发执行,我们需要让每个任务在执行过程中独占一个流,流是一个操作队列,可以包含数据的复制和计算过程。我们会判断此时是否有空闲的流可以使用,如果没有,则会等待其他任务执行完成释放流。若有空闲的流,则选择并占用。
E5)更新资源使用情况:根据前面步骤D得到的任务类型和任务规模,更新相应的资源使用情况。
E6)执行:执行任务的复制和计算逻辑。
E7-E8)动态扩大核函数规模:每当在一个iteration中执行完一次核函数之后,若还没有完成任务,可以根据当前资源情况动态缩放核函数规模。尽可能降低资源竞争。
E9)释放流:在任务结束之后,需要释放任务占用的流,让其他任务可以使用。
E10)退出子模块。
在图5混合任务调度流程图中,D是“选择合适的任务”。图6是选择合适任务子流程的进一步描述。在D5,D7,D8之前,会先根据权重,对所选任务类型的所有任务进行升序排序,希望尽可能地选择贴合相应类型的任务。例如,假如此时有足够的计算资源,可以启动计算密集型任务,那么我们会对所有计算密集型的任务根据上文提到的权重进行升序排序,优先选择权重小的任务。如果权重最小的任务已经都执行完成,那么会选择权重次小的任务,依次类推。这部分的工作将包含在“D9.有相应的任务?”中,之后再选择合适的核函数规模。
这种自适应任务分类模型可以使我们每次都尽可能选择最贴合的所需类型的任务,同时避免了人为主观分类所带来的误差和工作量。随着任务种类的增加,分类效果会更加准确。
一种基于混合任务调度的加速器系统资源优化管理系统,包括:
分类模块,用于获取应用的运行特征并根据运行特征进行任务分类,得到分类后的任务;
规则模块,用于根据优先级策略设置多任务共同运行规则;
采集模块,用于采集加速器资源的使用信息;
调度模块,用于根据加速器资源的使用信息和多任务共同运行规则,对分类后的任务进行调度。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
一种基于混合任务调度的加速器系统资源优化管理装置:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如上所述一种基于混合任务调度的加速器系统资源优化管理方法。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于实现如上所述一种基于混合任务调度的加速器系统资源优化管理方法。
上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,包括以下步骤:
获取应用的运行特征并根据运行特征进行任务分类,得到分类后的任务;
根据优先级策略设置多任务共同运行规则;
采集加速器资源的使用信息;
根据加速器资源的使用信息和多任务共同运行规则,对分类后的任务进行调度。
2.根据权利要求1所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,所述获取应用的运行特征并根据运行特征进行任务分类,得到分类后的任务这一步骤,其具体包括:
进入子模块并获取应用程序代码;
基于编译器,根据应用程序代码,生成可执行文件和采集静态资源使用信息;
根据可执行文件执行应用并采集动态资源使用信息;
根据静态资源使用信息和动态资源使用信息对该应用进行分类,得到分类后的任务。
3.根据权利要求2所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,所述任务分类的类型包括:
计算型任务,对计算资源需求大;
访存型任务,对带宽和内存资源需求大;
延迟型任务,等待各种访存的返回,指令执行延迟严重。
4.根据权利要求3所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,所述根据静态资源使用信息和动态资源使用信息对该应用进行分类,得到分类后的任务这一步骤,其具体包括:
构建自适应分类模型;
基于自适应分类模型,计算任务特征的特征向量与各种任务类型的中心点的高斯距离,选取距离最近的中心点所代表的任务类型作为该任务的类型,得到分类结果;
所述任务特征包括静态资源使用信息和动态资源使用信息。
5.根据权利要求4所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,还包括:
根据分类结果更新刚加入新任务的任务类型的中心;
基于质心计算公式更新每种任务类型的中心,并计算该类别中的每个任务与该中心的高斯距离,得到距离权重。
6.根据权利要求5所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,所述根据优先级策略设置多任务共同运行规则这一步骤,其具体包括:
通过细粒度控制,将流分配给不同的任务,基于流执行任务;
判断到任务之间存在先后关系,基于流的同步机制和事件。
7.根据权利要求6所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,所述采集加速器资源的使用信息这一步骤,其具体包括:
进入子模块;
根据当前正在运行的任务,分别采集对应任务的静态资源信息和动态资源信息;
将对应任务的静态资源信息和动态资源信息进行线性叠加并更新当前加速器资源的使用信息。
8.根据权利要求7所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,还包括:
执行反馈机制,根据预设的时间间隔进行在线性能剖析,更正采集到的加速器资源的使用信息。
9.根据权利要求8所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,所述根据加速器资源的使用信息和多任务共同运行规则,对分类后的任务进行调度这一步骤,其具体包括:
进入子模块;
判断到全局资源剩余情况在预设区间内,启动新的任务;
判断到当前计算资源剩余情况在预设区间内,启动计算型的任务;
判断到当前访存资源剩余情况在预设区间内,带宽占用少,启动访存型任务;
判断到当前计算资源和访存资源剩余情况均超出预设区间,启动延迟型任务;
基于空闲流执行启动的任务并更新资源情况。
10.根据权利要求9所述一种基于混合任务调度的加速器系统资源优化管理方法,其特征在于,还包括:
根据距离权重,对所选任务类型的所有任务进行升序排序;
根据加速器资源的使用信息,按照距离权重从小至大的调度对应任务执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111553548.5A CN114217930A (zh) | 2021-12-17 | 2021-12-17 | 一种基于混合任务调度的加速器系统资源优化管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111553548.5A CN114217930A (zh) | 2021-12-17 | 2021-12-17 | 一种基于混合任务调度的加速器系统资源优化管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114217930A true CN114217930A (zh) | 2022-03-22 |
Family
ID=80703704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111553548.5A Pending CN114217930A (zh) | 2021-12-17 | 2021-12-17 | 一种基于混合任务调度的加速器系统资源优化管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114217930A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860417A (zh) * | 2022-06-15 | 2022-08-05 | 中科物栖(北京)科技有限责任公司 | 多核神经网络处理器及用于该处理器多任务分配调度方法 |
CN116932226A (zh) * | 2023-09-14 | 2023-10-24 | 中诚华隆计算机技术有限公司 | 一种基于Chiplet的硬件加速方法和硬件加速器 |
-
2021
- 2021-12-17 CN CN202111553548.5A patent/CN114217930A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860417A (zh) * | 2022-06-15 | 2022-08-05 | 中科物栖(北京)科技有限责任公司 | 多核神经网络处理器及用于该处理器多任务分配调度方法 |
CN116932226A (zh) * | 2023-09-14 | 2023-10-24 | 中诚华隆计算机技术有限公司 | 一种基于Chiplet的硬件加速方法和硬件加速器 |
CN116932226B (zh) * | 2023-09-14 | 2023-12-19 | 中诚华隆计算机技术有限公司 | 一种基于Chiplet的硬件加速方法和硬件加速器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
KR20200087078A (ko) | 태스크 병렬 처리 방법, 장치, 시스템, 기억 매체 및 컴퓨터 기기 | |
US7689773B2 (en) | Methods and apparatus for estimating fair cache miss rates on a chip multiprocessor | |
Lim et al. | Zico: Efficient {GPU} memory sharing for concurrent {DNN} training | |
Kang et al. | Lalarand: Flexible layer-by-layer cpu/gpu scheduling for real-time dnn tasks | |
CN114217930A (zh) | 一种基于混合任务调度的加速器系统资源优化管理方法 | |
CN109710372B (zh) | 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法 | |
CN114327829A (zh) | 一种多核实时任务调度分析与仿真系统及方法 | |
CN114217966A (zh) | 基于资源调整的深度学习模型动态批处理调度方法和系统 | |
Li et al. | Efficient algorithms for task mapping on heterogeneous CPU/GPU platforms for fast completion time | |
Zahaf et al. | A C-DAG task model for scheduling complex real-time tasks on heterogeneous platforms: preemption matters | |
Yue et al. | Parameter estimation for a generalized parallel loop scheduling algorithm | |
Lin et al. | An energy-efficient task scheduler for multi-core platforms with per-core dvfs based on task characteristics | |
CN111930485A (zh) | 一种基于性能表现的作业调度方法 | |
Sen et al. | Predictive price-performance optimization for serverless query processing | |
Lumpp et al. | Task mapping and scheduling for OpenVX applications on heterogeneous multi/many-core architectures | |
Kumar | Scheduling of dense linear algebra kernels on heterogeneous resources | |
Anderson et al. | Value-maximizing deadline scheduling and its application to animation rendering | |
CN115168011A (zh) | 模糊边云协同环境下的多工作流应用调度方法 | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
Capannini et al. | A job scheduling framework for large computing farms | |
Bensaleh et al. | Optimal task scheduling for distributed cluster with active storage devices and accelerated nodes | |
Niknam et al. | Resource optimization for real-time streaming applications using task replication | |
Okamura et al. | DAG scheduling considering parallel execution for high-load processing on clustered many-core processors | |
CN111124691A (zh) | 多进程共享的gpu调度方法、系统及电子设备 |
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 |