一种任务调度方法及装置与流程
本发明涉及资源分配,尤其涉及一种任务调度方法及装置。
背景技术:
1、资源受限环境下,gpu需同时承载深度学习高优先级低延迟的推理任务和长周期高占用的训练任务,如何在保障推理实时响应的同时实现训练任务无损中断与恢复,提升gpu资源周转效率,成为关键技术需求。
2、当前gpu异构任务调度主要采用静态优先级队列和时间片轮转两种方案,前者为任务分配固定优先级,推理任务需等训练任务结束或终止后执行,后者将gpu计算时间划分为固定时间片,两类任务交替占用gpu,二者均仅从进程层面调度,未考虑深度学习任务的内部状态特性。
3、现有方案中静态调度缺乏中断能力导致推理延迟不可控,轮转调度的固定时间片也无法适配推理低延迟需求;并且现有技术仅能强制终止或简单暂停训练任务,无法感知框架内部状态,易造成关键数据丢失,无法实现训练无损中断恢复。
4、此外,现有的部分方案(如基于云原生环境的容器级调度)虽然能够在资源紧张时暂停训练任务并保存检查点(checkpoint),但存在明显缺陷:第一,暂停时机不可控,容器级暂停往往发生在计算中途(如参数更新过程中),导致恢复后权重与梯度状态不匹配,引发训练曲线抖动甚至损失函数(loss)无法收敛;第二,状态保存粒度粗,仅保存模型权重和日志,丢失了优化器动量、混合精度因子等框架内部状态,无法实现真正的无损续传;第三,未针对推理任务做显存隔离与加速,无法满足视觉ai应用对推理任务毫秒/秒级端到端延迟的严苛要求。
技术实现思路
1、本发明提供了一种任务调度方法及装置,解决了gpu算力资源下训练与推理任务并行运行时的资源冲突、训练任务中断后无法无损恢复、显存资源利用率低及硬件运行稳定性不足的技术问题。
2、根据本发明的一方面,提供了一种任务调度方法,该方法包括:
3、当新的推理任务到达时,确定推理任务的资源冲突情况;
4、当资源冲突情况为冲突时,生成抢占指令,基于抢占指令使训练任务在安全冻结点暂停,其中,安全冻结点为反向传播结束之后、优化器参数更新之前的时间窗口;
5、在安全冻结点通过嵌入深度学习框架执行引擎的钩子机制截获执行权,执行原子性状态采集生成状态包,状态包至少包括模型权重张量、优化器动量状态和混合精度训练的因子;
6、通过异步直接内存访问dma将状态包传输至主机内存,并释放训练任务占用的显存;
7、在预先为推理任务分配的显存预留区执行推理任务,并在推理任务完成后,直接基于状态包恢复训练任务至安全冻结点继续执行。
8、可选的,方法,还包括:获取任务请求,根据任务请求的调用接口确定任务类型,其中,任务类型包括推理任务和训练任务;为不同任务类型的任务定义属性并记录各任务的任务属性信息,形成任务属性表,其中,任务属性信息包括优先级、可中断性、峰值显存、预期算力占比和所属模型族,推理任务为高优先级、不可中断类型,训练任务为低优先级、安全可挂起类型。
9、可选的,确定推理任务的资源冲突情况,包括:基于任务属性表获取推理任务的峰值显存和预期算力占比,以确定推理任务的显存需求;获取当前图形处理器gpu的可用显存;判断可用显存是否满足显存需求,若是,确定资源冲突情况为不冲突;否则,确定资源冲突情况为冲突。
10、可选的,所述状态包还包括:梯度累积缓冲区、当前训练阶段、动态学习率曲线状态和随机数生成器状态。
11、可选的,在安全冻结点通过嵌入深度学习框架执行引擎的钩子机制截获执行权,执行原子性状态采集生成状态包,包括:在安全冻结点通过嵌入深度学习框架执行引擎的钩子机制截获执行权,执行原子性状态采集,以获取训练任务的状态快照,其中,状态快照包括模型权重张量、优化器动量状态、梯度累积缓冲区、当前训练阶段、动态学习率曲线状态、混合精度训练的因子和随机数生成器状态;基于状态快照生成状态包。
12、可选的,基于状态快照生成状态包,包括:确定状态快照的生成类型,其中,生成类型包括周期性强刷和常规中断;当生成类型为周期性强刷类型时,直接将状态快照序列化封装,生成训练任务的状态包;当生成类型为常规中断类型时,获取前序快照,基于前序快照和状态快照提取增量数据,将增量数据序列化封装成训练任务的状态包。
13、可选的,基于状态包恢复训练任务至安全冻结点继续执行,包括:对状态包进行反序列化解析,得到训练任务的还原状态,其中,还原状态为全量状态或增量状态;将还原状态加载至图形处理器,恢复训练任务至安全冻结点的运行现场,控制训练任务从安全冻结点继续执行。
14、可选的,方法,还包括:实时采集训练任务的运行监控指标,其中,监控指标包括gpu利用率、gpu核心温度、显存分配器碎片率和算力争抢延迟时间;预设多级响应阈值及对应分级响应等级;将实时采集的监控指标与预设多级响应阈值比对,确定当前分级响应等级;根据分级响应等级执行对应分级响应动作,实现训练任务的分级响应监控。
15、可选的,生成抢占指令,包括:查询任务属性表中各训练任务的峰值显存与优先级;选择峰值显存超过显存需求且优先级最低的训练任务作为抢占目标;基于抢占目标生成对应的抢占指令。
16、可选的,方法,还包括:根据任务属性表中各推理任务对应的所属模型族,将对应推理模型的权重数据加载至显存预留区;当新的同模型族推理任务到达时,直接复用显存预留区内已加载的权重数据执行推理计算。
17、根据本发明的另一方面,提供了一种任务调度装置,该装置包括:
18、资源冲突情况确定模块,用于当新的推理任务到达时,确定推理任务的资源冲突情况;
19、显存释放及状态包生成模块,用于当资源冲突情况为冲突时,生成抢占指令,基于抢占指令使训练任务在安全冻结点暂停,其中,安全冻结点为反向传播结束之后、优化器参数更新之前的时间窗口;在安全冻结点通过嵌入深度学习框架执行引擎的钩子机制截获执行权,执行原子性状态采集生成状态包,状态包至少包括模型权重张量、优化器动量状态和混合精度训练的因子;通过异步直接内存访问dma将状态包传输至主机内存,并释放训练任务占用的显存;
20、训练任务恢复模块,用于在预先为推理任务分配的显存预留区执行推理任务,并在推理任务完成后,直接基于状态包恢复训练任务至安全冻结点继续执行。
21、本发明实施例的技术方案,通过确定推理任务的资源冲突情况,能够判断资源分配状态,为后续是否执行抢占操作提供准确决策依据。通过在反向传播结束之后、优化器参数更新之前的特定计算语义节点(安全冻结点),利用嵌入框架底层的钩子机制截获执行权并进行原子性状态采集,从根本上保证了采集到的模型权重与梯度数据在数值和逻辑上的严格匹配,避免了容器级随机暂停导致的权重与梯度状态不匹配问题。同时,状态包强制包含优化器动量状态和混合精度训练的因子等微观框架内部状态,结合异步dma传输与显存预留区的物理隔离,构建了底层显存快速切换闭环。在推理结束后,通过剔除哈希校验和张量形状检查等冗余验证环节,大幅缩短了从推理结束到训练重启的逻辑,使资源切换延迟控制在秒级。本方案实现了从“避免从头训练”到“训练loss曲线零抖动、严格对齐”的微观质变,确保了系统响应的高实时性与训练轨迹的连续性,彻底解决了现有容器级调度方案状态保存粒度粗、无法实现真正无损续传的技术缺陷。
22、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com