一种基于多GPU异构计算的自适应视频流解析任务分配方法与流程
本发明涉及工业视觉解析与异构计算调度,特别是一种基于多gpu异构计算的自适应视频流解析任务分配方法。
背景技术:
1、在工业产线和仓储的分拣过程中,视频流解析节点通常接入多路相机视频,用于对工件、包裹、条码、字符、缺陷、姿态、尺寸或分拣状态进行解析,并将解析结果发送至上位系统、分拣设备或产线控制系统。随着相机数量和解析模型种类增加,视频流解析节点常配置多个gpu或多个异构计算单元,以承载不同类型的图像解析任务。
2、现有自适应视频流解析任务分配方法多依据视频流数量、平均帧率、推理请求队列长度或gpu利用率进行任务分配,并通过动态批处理、任务迁移、调整批量大小、降低帧率或跳帧处理等方式缓解负载压力。该类方法主要面向连续视频流或通用推理请求的负载均衡,在进行跨gpu分配时,通常依据目标gpu的空闲程度、当前利用率或队列长度确定执行位置。
3、在节拍触发型产线或仓储分拣工况中,视频流负载随工件到位、包裹入格、扫码触发、机械臂动作或业务系统消息集中出现。关键触发帧对应具体业务对象和具体控制节拍,其解析结果需要在业务对象处于对应工位、格口或抓取位置期间输出。若仅依据平均帧率、队列长度或gpu利用率分配任务,普通解析任务可能占用关键触发帧对应的执行窗口,使关键触发帧进入等待队列,导致分拣指令滞后、产线动作闭环超时,或者解析结果与业务对象的实际工位状态发生错位。
4、此外,不同解析任务依赖的解析模型和运行上下文存在差异。条码识别、字符识别、缺陷检测、尺寸判断、姿态判断和分拣状态判断任务可能对应不同解析模型。若跨gpu调度仅关注目标gpu是否空闲,关键解析任务可能被分配至未处于对应模型热驻留状态的gpu,产生模型加载或运行上下文切换等待,进一步压缩关键触发帧的可用执行时间。
5、因此,如何在多gpu异构计算环境中,结合节拍触发特征、关键解析任务的执行窗口需求以及gpu侧模型热驻留状态,对多路视频流解析任务进行自适应分配,成为需要解决的技术问题。
技术实现思路
1、本技术实施例提供了一种基于多gpu异构计算的自适应视频流解析任务分配方法,解决节拍触发解析任务窗口占用及热驻留匹配失准问题。
2、本发明实施例提供了一种基于多gpu异构计算的自适应视频流解析任务分配方法,其包括:
3、获取多路节拍触发型视频流的节拍触发信息和解析任务类型;
4、根据节拍触发信息和解析任务类型构建解析任务子图,将与关键触发帧以及关键触发区域中的至少一种关联的解析任务节点划分为预约解析任务,将其余解析任务节点划分为回填解析任务;
5、建立gpu资源画像和模型热驻留表;
6、在新的节拍触发信息到达时,根据节拍画像、预约解析任务所需解析模型、gpu资源画像和模型热驻留表,将相同或相邻历史触发相位且调用相同解析模型的预约解析任务划入相位任务组,确定处于对应模型热驻留状态且存在可用预约时段的候选gpu集合,并按候选gpu数量与相位任务组任务数量的比较结果生成预约执行窗口或保留等待状态,所述比较结果对应不同gpu分散分配、同一gpu错峰分配和等待状态保留中的一种;
7、在预约执行窗口之外生成回填执行窗口,将回填解析任务分配至回填执行窗口;
8、当检测到任务积压差异时,根据任务类别、模型热驻留状态和前置解析任务节点的完成状态确定满足迁移边界的解析任务节点为待重分配任务,依据状态胶囊执行跨gpu重分配,并将解析结果回写至对应解析任务子图;
9、根据解析任务节点完成状态、gpu资源画像变化和模型热驻留表变化更新任务分配结果。
10、在一些实施例中,所述节拍触发型视频流为随工件到位、包裹入格、扫码触发、机械臂动作或业务系统消息产生关键解析需求的视频流;所述节拍触发信息包括触发来源、触发时刻关联信息和业务对象关联信息;
11、所述触发时刻关联信息包括触发时刻、相机帧时刻或业务系统事件时刻中的至少一种;
12、所述解析任务类型包括目标定位、字符识别、条码识别、缺陷检测、姿态判断、尺寸判断或分拣状态判断中的至少一种;
13、多gpu异构计算资源组包括多个gpu以及与gpu协同执行解码、预处理、推理或结果回写的计算资源,
14、各gpu具有相互独立的模型热驻留状态、任务队列状态和运行上下文状态。
15、在一些实施例中,所述解析任务子图包括解析任务节点以及表示解析任务节点之间输入输出关系的依赖边;
16、同一业务对象产生的全帧图像、局部区域图像和结构化输出结果绑定至同一业务对象关联信息;
17、全帧解析任务的输出作为局部区域解析任务的输入依赖,局部区域解析任务的输出作为结果回写任务的输入依赖;
18、各解析任务节点携带解析模型标识和结果回写地址。
19、在一些实施例中,所述预约解析任务包括与业务对象的关键触发帧或关键触发区域关联、且在结果回写前需要保持执行顺序的解析任务节点;
20、所述回填解析任务包括常态监控任务、复核任务或结构化补全任务;
21、所述关键触发帧由触发时刻关联信息与相机帧时序匹配得到,所述关键触发区域由全帧解析任务输出的位置结果或外部触发位置得到;
22、划分所述预约解析任务和所述回填解析任务时,依据触发来源、触发时刻关联信息、业务对象关联信息以及解析任务子图中的依赖边确定解析任务节点的执行类别。
23、在一些实施例中,建立所述gpu资源画像和所述模型热驻留表包括:
24、在所述gpu资源画像中记录各gpu的任务队列状态、显存占用状态、运行上下文状态和可接收任务类型;
25、在所述模型热驻留表中记录各gpu中已加载的解析模型、模型实例状态和运行上下文保持状态;
26、将对应解析模型已加载且运行上下文处于保持状态的gpu标记为对该解析模型处于模型热驻留状态。
27、在一些实施例中,生成所述回填执行窗口包括:
28、在预约执行窗口之外确定各gpu的可用时间段;将回填解析任务加入所述可用时间段;
29、当同一gpu上的预约解析任务与回填解析任务发生占用冲突时,保持预约解析任务对应的预约执行窗口,并将发生占用冲突的回填解析任务移动至该gpu的后续回填执行窗口或其他gpu的回填执行窗口。
30、在一些实施例中,所述迁移边界包括任务类别边界、模型热驻留边界和依赖完成边界;
31、所述任务类别边界用于依据解析任务节点的执行类别和顺序锁定状态判断该解析任务节点是否允许跨gpu重分配,所述顺序锁定状态表示解析任务节点在结果回写前需要保持执行顺序;
32、所述模型热驻留边界用于依据目标gpu是否处于对应模型热驻留状态,或者是否具有可接收该任务类型的运行上下文,判断所述目标gpu是否能够承接待重分配任务;所述依赖完成边界用于依据解析任务子图中前置解析任务节点的完成状态判断待重分配任务是否具备执行输入。
33、在一些实施例中,进行跨gpu重分配时,依次判断任务类别边界、模型热驻留边界和依赖完成边界;
34、当解析任务节点属于预约解析任务且处于顺序锁定状态时,不将该解析任务节点确定为待重分配任务;
35、当待重分配任务属于回填解析任务,且目标gpu处于对应模型热驻留状态或具有可接收该任务类型的运行上下文时,将该待重分配任务加入所述目标gpu的回填执行窗口;当待重分配任务属于局部区域解析任务,且目标gpu处于对应模型热驻留状态时,将该待重分配任务加入所述目标gpu的回填执行窗口;
36、当待重分配任务存在未完成的前置依赖任务时,保留该待重分配任务在原解析任务子图中的等待状态;任一边界未满足时,不生成跨gpu重分配许可;无可用目标gpu时,对应解析任务节点保留在原解析任务子图中的等待状态。
37、在一些实施例中,所述状态胶囊包括视频流标识、业务对象关联信息、帧关联信息、局部区域关联信息、依赖任务标识、解析模型标识和结果回写地址;
38、对局部区域解析任务执行跨gpu重分配时,将局部区域图像或局部区域引用信息写入所述状态胶囊;
39、目标gpu完成被重分配任务后,根据所述状态胶囊确定对应解析任务子图和结果回写地址,并将解析结果写入对应解析任务节点。
40、在一些实施例中,更新所述任务分配结果包括:
41、在任一解析任务节点完成后,更新对应解析任务子图中该解析任务节点的完成状态;
42、在任一gpu的任务队列状态、显存占用状态、运行上下文状态或模型热驻留状态发生变化后,更新所述gpu资源画像和所述模型热驻留表;
43、在新的节拍触发信息到达后,基于更新后的解析任务子图、gpu资源画像和模型热驻留表重新确定预约执行窗口和回填执行窗口,并将占用所述预约执行窗口的回填解析任务调离;
44、对调离后的回填解析任务保留原解析任务子图中的依赖边和结果回写地址。
45、本发明通过上述技术方案,至少可以实现如下有益效果:
46、本发明通过将与关键触发帧以及关键触发区域中的至少一种关联的解析任务节点划分为预约解析任务,并在新的节拍触发信息到达时,依据节拍画像、解析模型、gpu资源画像和模型热驻留表形成相位任务组及候选gpu集合,使相同或相邻历史触发相位且调用相同解析模型的预约解析任务在候选gpu集合可用时获得不同gpu分散分配的预约执行窗口或同一gpu错峰分配的预约执行窗口,并在候选gpu集合为空时保留等待状态。由此,在生成预约执行窗口的情况下,回填解析任务被限制在预约执行窗口之外执行,关键触发帧对应的执行时段与普通解析任务的执行时段形成区分,解析结果能够在业务对象仍处于对应工位、格口或抓取位置状态期间写入。
47、通过解析任务子图记录解析任务节点及依赖边,并将同一业务对象产生的全帧图像、局部区域图像和结构化输出结果绑定至同一业务对象关联信息,使局部区域解析任务和结果回写任务沿同一解析任务子图承接,解析结果能够按照依赖关系写入对应解析任务节点。
48、通过gpu资源画像记录任务队列状态、显存占用状态、运行上下文状态和可接收任务类型,并通过模型热驻留表记录已加载解析模型、模型实例状态和运行上下文保持状态,使预约解析任务在分配时以模型调用条件和gpu当前状态为输入,减少模型加载等待和运行上下文切换等待对预约执行窗口的占用。
49、通过在预约执行窗口之外生成回填执行窗口,并在占用冲突时移动回填解析任务,使常态监控任务、复核任务和结构化补全任务沿回填执行窗口执行,预约解析任务对应的执行时段保持可用。
50、通过任务类别边界、模型热驻留边界和依赖完成边界确定待重分配任务,并通过状态胶囊携带视频流标识、业务对象关联信息、帧关联信息、局部区域关联信息、依赖任务标识、解析模型标识和结果回写地址,使跨gpu重分配后的解析结果仍写入原解析任务子图中的对应解析任务节点。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com