CN116436980A - 一种实时视频任务端网边协同调度方法及装置 - Google Patents
一种实时视频任务端网边协同调度方法及装置 Download PDFInfo
- Publication number
- CN116436980A CN116436980A CN202211642751.4A CN202211642751A CN116436980A CN 116436980 A CN116436980 A CN 116436980A CN 202211642751 A CN202211642751 A CN 202211642751A CN 116436980 A CN116436980 A CN 116436980A
- Authority
- CN
- China
- Prior art keywords
- edge
- energy consumption
- operator
- network
- constraints
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000005265 energy consumption Methods 0.000 claims abstract description 99
- 230000005540 biological transmission Effects 0.000 claims abstract description 79
- 238000010276 construction Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 66
- 238000004364 calculation method Methods 0.000 claims description 32
- 238000005070 sampling Methods 0.000 claims description 28
- 238000004458 analytical method Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000009960 carding Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 125000002015 acyclic group Chemical group 0.000 claims 1
- 238000003062 neural network model Methods 0.000 abstract 2
- 238000011176 pooling Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- KDYFGRWQOYBRFD-UHFFFAOYSA-N succinic acid Chemical compound OC(=O)CCC(O)=O KDYFGRWQOYBRFD-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
一种实时视频任务端网边协同调度方法,首先采集端侧/边缘侧平台框架信息、端侧设备能耗信息、各类深度神经网络模型的算子信息以及算子间的数据传输信息;其次,根据信息采集结果,构造算子间的拓扑网络关系和边的权重,依此建立深度神经网络模型的有向无环图;再者,基于数据采集和有向无环图构建的结果,对实时视频任务端网边协同的决策变量、目标函数和约束进行定义和数学化表达,进而构建端网边协同调度模型;最后,将数学化表示的决策变量、目标函数和约束在求解器环境中进行编译和求解,获得最优调度结果,并在实际物理环境中进行部署。
Description
技术领域
本发明涉及人工智能技术领域,尤其是涉及一种实时视频任务端网边协同调度方法及装置。
背景技术
近年来,随着智能机器人、移动手机、监控摄像头等大规模部署与应用,全球的视频数据呈现爆发式增长。据贝哲斯等对视频流市场的调研分析,2021年全球视频流市场规模达7517.54亿元人民币,其流量约占据互联网总流量的80%,并预计在2027年达到23231.44亿元人民币,预测期内的视频流市场年均复合增长率将会达到20.69%。同时,得益于人工智能技术的井喷式发展,基于深度神经网络的视频分析方法不断推陈出新,正在目标识别、目标追踪、异常检测等一系列方向中取得了突破性进展,在智能机器人、智能安防、智能交通等领域都有着巨大的应用价值。然而,由于深度神经网络的巨大计算量,需要配备专用的移动GPU硬件(如NVIDIA Jetson AGX Orin、Orin NX等)才能实现深度神经网络在机器人本体等端侧的高效推理,极大程度的增加了端侧的部署成本和续航压力,限制了深度神经网络在端侧设备上的广泛应用。因此,如何有效解决端侧算力、硬件成本和续航之间的矛盾,对于降低端侧生产价格、提升智能化程度、增强市场竞争力,具有至关重要的意义。
基于中心化云计算的端-云协同视频任务分析范式能够将端侧所产生的视频任务传输到网络中心的云服务器,利用云服务器强大的计算能力进行视频任务的推理分析,再将推理结果回传至端侧进行后续决策。包括IEEE CCBD《Cloud Resource Management forImage and Video Analysis of Big Data from Network Cameras》在内的相关研究对端-云视频任务分析系统的协同任务调度和云侧资源管理方法进行了探讨。然而,基于云计算架构的端-云协同存在网络带宽小、传输延迟高等问题,因此相关研究成果适用于离线视频任务分析,无法满足机器人等对视频任务处理实时性高的要求,限制了端-云协同在相关领域的应用。
基于边缘计算的端边协同视频任务分析范式能一定程度解决上述端侧设备和额外计算资源之间的网络带宽问题。边缘服务器与机器人等端侧设备物理位置相近,网络条件较为简单,边缘站点一般不涉及多租户服务,端边之间可以保持相对稳定的高带宽和低延迟通信。在端边协同视频任务分析中,主要涉及任务调度、资源分配、算法加速等方面的研究。其中,任务调度和资源分配是应用于端侧与边缘侧之间相互协作处理任务的技术,旨在通过合理卸载视频任务并有效分配端侧及边缘侧的计算资源,达到优化整个系统端到端的表现,例如ACM SenSys《Better Never Than Late:Timely Edge Video Analytics Overthe Air》提出了基于深度强化学习的端边视频分析反馈控制器,根据实际状态调节视频帧大小等视频分析流程参数。算法分布式加速则是从端侧设备层的角度出发,考虑算子(operators)、层(lays)等模型层面的端边配置与部署对影响系统时延等评价指标的影响,例如ACM ASPLOS《Neurosurgeon:Collaborative Intelligence Between the Cloud andMobile Edge》基于不同分割点处传输时延、计算时延和能耗的特点,提出了Neurosurgeon分割算法。任务调度、资源分配、算法加速是对同一类问题不同粒度、深度的考虑,但目前上述方法在实时视频分析过程中仍存在如下几个问题:
(1)网络带宽的影响:由于机器人移动所造成的网络波动以及高帧率视频所产生的较大传输量,会对端侧和边缘侧之间的网络产生较大负荷。然而,现有方法通常忽略网络对端边协同的影响,或将网络延迟简单的抽象为传输时延,忽视了不同卸载点选择所造成的数据传数量变化,这样会导致端边协同调度模型无法真实反映实际视频任务处理特点,从而使得端边协同调度的结果不佳;
(2)后到先服务的规则:由于机器人需要根据目标检测、识别和跟踪等视觉任务处理结果来完成相关决策、控制任务,因此机器人视频分析任务具有较高的实时性要求。机器人端侧通过机载摄像头不断获取视频帧并构建视频帧队列,以等待端侧视觉模块的分析处理。当存在视频帧队列堵塞时,由于实时性的要求,视觉模块更关注于最新视频帧(即最晚到达的视频帧)的信息而非队列中最早到达的视频帧的信息,因此该排队系统遵循后到先服务的规则,与现有离线视频分析方法中先到先服务规则有本质上的区别,导致过去基于先到先服务规则的端边协同调度技术难以应用于机器人实时视频分析的实际场景中;
(3)评价指标的变化:在现有端边协同调度方法中,绝大多数将任务处理的端到端时延作为调度方案的评价指标,以尽可能的减小端到端时延。然而,由于后到先服务的实时视频任务处理规则,导致端边视频分析系统在处理视频任务时存在“无效帧”的情形,致使在计算视频任务处理端到端时延时只能以视觉模块处理过的“有效帧”为准;其次,对于目标跟踪等具有时序特征的深度神经网络而言,视觉任务处理速率(即单位时间内处理的视频帧数量)也会对视觉算法的精度造成影响,同时计算能耗、传输能耗等端侧能耗也会因调度方案的变化而发生改变,因此在评价端边协同调度方案时需要进一步融合视觉任务处理速率、端侧能耗等因素的影响。
发明内容
为解决现有技术的不足,实现在端侧设备算力有限的场景下,基于端网边协同计算范式,结合实际网络带宽情况,合理利用边缘侧的额外计算资源对端侧视频任务进行高效处理,以达到降低端侧推理时延、提升任务处理速率和减少端侧能耗的目的,本发明提供一种实时视频任务端网边协同调度方法及装置。
本发明的一种实时视频任务端网边协同调度方法,包括如下步骤:
步骤S1,数据采集。采集平台框架信息,包括端侧与边缘侧的硬件和软件平台;采集端侧设备能耗信息,包括计算能耗、传输能耗和待机能耗等;采集各类DNN模型的算子信息,包括算子类型、计算时延信息等;采集各算子间的数据传输信息,包括数据传输方向、数据传输量大小等。
步骤S2,DNN模型的有向无环图(DAG)构建。DNN模型的DAG图由节点V和边E两类元素组成,根据各算子间的数据流动方向,建立算子间的拓扑网络关系;根据各算子间数据传输量的大小,对DAG图边的权重进行赋值。
步骤S3,端网边协同调度模型构建。根据步骤S1的数据采集结果和步骤S2的DAG图构建结果,基于整数规划建模方法,建立端网边协同调度模型。首先,对模型的决策变量进行定义和数学化表达,包括端侧分配决策、通讯决策和端侧采样帧率等;其次,对协同调度的优化目标进行定义和数学化表达,包含视频任务处理时延、视频任务处理速率和端侧能耗;最后,对各类约束进行定义和数学化表达,包含配置约束、不重叠约束、端侧计算时延约束、边缘侧计算时延约束、开始/结束时间约束、网络传输时延约束和端侧能耗约束等。
步骤S4,基于求解器的调度模型求解。根据步骤S3的端网边协同调度模型构建结果,基于CLPEX、Gurobi等求解器的编程语言,将数学化表示的决策变量、目标函数和约束在求解器环境中进行编译,并将具体DNN模型的DAG图网络结构输入到求解器中,求解并获得最优调度结果(若在设定的时间阈值内无法求得最优值,则输出次优解)。
步骤S5,调度方案实际部署。根据步骤S4中对决策变量的最终求解结果,在实际物理环境中对端侧设备和边缘侧服务器的DNN模型、摄像头采样率等进行部署。
进一步地,所述步骤S1的数据采集,包括如下步骤:
步骤S11:采集平台框架信息,包括端侧与边缘侧的硬件和软件平台信息。其中,硬件平台信息包括硬件名称、类型(如CPU、GPU、TPU、VPU)、硬件处理能力、内存带宽等,软件平台信息包含软件名称(如TensorRT、TFLite、Openvino、MNN、NCNN)、软件平台的设计特性和相关参数等;
步骤S12:采集端侧设备能耗信息,包括计算能耗、待机能耗和传输能耗等。其中,计算能耗表示端侧设备在DNN模型推理工况下的能耗,待机能耗表示表示端侧设备不执行DNN模型推理时的能耗,传输能耗表示端侧设备向边缘服务器传输数据时产生的能耗。
步骤S13:采集各类深度神经网络(DNN)模型的算子信息,包括算子类型、计算时延信息等。在DNN模型中,算子可以认为是最基本的计算单元,并由同一类算子或不同类算子组成更大的计算单元:层。在ResNet、YOLO v3等DNN模型中,通常包含卷积层、池化层、激活函数层等。其中,卷积层包含卷积算子、深度可分离卷积算子、空洞卷积算子等;池化层包含最大池化算子、最小池化算子、平均池化算子等;激活函数层包含Relu算子、Relu6算子、Sigmoid算子等。
步骤S14:采集各算子间的数据传输信息,包括数据传输方向、数据传输量大小等。在DNN模型中,各算子间存在数据的传输。如图1所示,在该网络中第一个add算子的计算结果输入到relu算子和conv1算子,方向为add算子→relu算子、add算子→conv1算子。与此同时,从同一算子中输出的数据量大小是固定的,并记录各算子的输入、输出数据量大小。
进一步地,所述步骤S2的DNN模型的DAG图构建,包括如下步骤:
步骤S21,建立算子间的拓扑网络关系。DNN模型的DAG图表示为G=(V,E),其中节点V表示算子,边E表示算子与算子之间的数据传输关系。如图2所示,节点V之间存在三种连接关系,分别为直接连接、多输出连接和多输入连接。根据节点V和边E之间的逻辑梳理结果,构建算子间的拓扑网络关系。
步骤S22,对DAG图边的权重进行赋值。根据步骤S14所确定的数据传数量大小,在DNN模型的DAG图拓扑网络的边权重进行赋值,权值大小为两个算子之间的数据传输量大小。
进一步地,所述步骤S3的端网边协同调度模型构建,包括如下步骤:
步骤S31,定义和描述端网边协同调度模型的决策变量。在端网边协同调度中,需要决策算子的放置位置、算子的数据传输路径、端部设备的采样帧率、算子的开始时间和结束时间,由此分别产生分配决策xin、通讯决策fi、端侧采样帧率决策fend、开始时间决策Si和结束时间决策Ci。其中,端侧分配决策xin为0/1变量,定义为算子i是否放置于设备n处(是为1,否为0);通讯决策fi为0/1变量,定义为算子i是否存在跨端边设备传输数据(是为1,否为0);端侧采样帧率决策fend为整数变量,定义为端部进行视频帧采样的帧率;开始时间决策Si和结束时间决策Ci为整数变量,定义为算子的开始时间和结束时间。
步骤S32,定义和描述端网边协同调度模型的优化目标。调度的优化目标包含视频任务处理时延、视频任务处理速率和端侧能耗。其中,视频任务处理时延Ttotal只计算“有效帧”的处理时延,可进一步表示为端侧计算时延Tend、传输时延Tnet和边缘侧计算时延Tedge之和,由式(1)所示;视频任务处理速率由端、网、边的处理速率瓶颈所决定,端、网、边处理速率μend、μnet、μedge和计算时延的关系由式(2)表示;端侧能耗Eend则包含计算能耗、待机能耗和通讯能耗;调度的优化目标最终表示为端侧计算时延、视频任务处理速率和端侧能耗的加权和,表示为式(3)。
Ttotal=Tend+Tnet+Tedge (1)
μend=1/Tend,μnet=1/Tnet,μedge=1/Tedge (2)
步骤S33,定义和描述端网边协同调度模型的约束。调度的约束包含配置约束、不重叠约束、端侧计算时延约束、边缘侧计算时延约束、开始/结束时间约束、网络传输时延约束和端侧能耗约束等,各约束具体描述和数学化表达式如下,其中涉及的参数和变量代表的含义见下表:
不重叠约束:当两个算子布置在同一设备上时,设备以串行的方式进行计算处理,因此其计算时间不能存在重叠,具体约束如约束(6-7)所示。其中,Ms和Ml分别为两个大数,即Ms>>0、Ml>>0。
端侧计算时延约束:端侧设备的计算时延为所有部署在端侧算子的计算时延之和,由等式(8)表示。
传输时延约束:传输时延表示为带宽和传输数据量的比值,由约束(9)表示;约束(10)表示决策变量之间的关系,只有当算子i部署于端侧,且存在直接紧后算子j部署于边缘侧时(即xi0=1,xj0=0,(i,j)∈E),才需要将算子i的输出结果从端侧传输到边缘侧(即fi=1),其他情况fi=0。
边缘侧计算时延约束:边缘侧计算时延表示为有效帧端到端时延减去端侧计算时延和端/边缘侧传输时延,由约束(11)所示。
开始/结束时间约束:开始/结束时间约束由约束(12-14)所示。其中,约束(12)表示算子i的任意的后序算子的开始时间不能早于算子i的结束时间;约束(13)表示若算子i和算子j存在数据传输,则任意算子/>的开始时间不能早于传输完成时间;约束(14)表示算子的开始时间、结束时间和计算时间之间的关系。
端侧能耗约束:端侧能耗包括处理能耗、待机能耗和传输能耗三部分。处理能耗表示端侧设备在处理视频帧时的能耗,又可以进一步分为有效帧处理能耗EC,1和无效帧处理能耗EC,2,由约束(15-16)表示;待机能耗EI则表示端侧设备不处理视频帧时正常待机所需的能耗,由约束(17)所示;传输能耗ET表示为端侧设备向边缘服务器传输数据时的能耗,由约束(18)所示;总体的端侧能耗则表示为三类能耗之和,表示为约束(19)。
EC,2=ecom·max{0,max{Tend,Tnet,Tedge}-1/fend} (16)
ET=enet·Tnet (18)
Eend=EP,1+EP,2+EI+ET (19)
进一步地,所述步骤S4的基于求解器的调度模型求解,包括如下步骤:
步骤S41,基于CLPEX、Gurobi等求解器,编译端网边协同调度模型的决策变量、目标函数和约束。
步骤S42,将DNN模型的相关参数输入求解器中,包括DAG图网络、算子端侧/边缘侧处理时延、算子输出数据量、网络带宽等。
步骤S43,运行求解器,输出最终运行结果。需要设置求解器相关参数,包括TimeLimit、MIPFocus等。最终,将求解结果进行输出。
进一步地,所述步骤S5的调度方案实际部署,包括如下步骤:
步骤S51,决策变量到实施方案的转化。根据步骤S4中对端侧分配决策xin、通讯决策fi和端侧采样帧率决策fend等的最终求解结果,将端侧分配决策xin中xi0=1对应的相关算子需要部署在端侧设备,其余算子需要部署在对应边缘服务器中;此外,端侧采样帧率决策fend的值表示端侧设备需要设置的视频采样帧率。
步骤S52,实施方案实际部署。根据S51的实施方案,在实际物理环境中对端侧设备和边缘侧服务器的DNN模型、摄像头采样率等进行部署。
一种实时视频任务端网边协同调度装置,包括:依次连接的数据采集模块、DAG图构建模块、端网边协同调度模型构建模块和模型求解模块;
所述数据采集模块,采集端侧与边缘侧的硬件/软件平台框架信息;采集计算能耗、传输能耗和待机能耗等端侧设备能耗信息;采集算子类型、计算时延等DNN模型的算子信息;采集数据传输方向、数据传输量大小等各算子间的数据传输信息。
所述DAG图构建模块,根据节点V和边E之间的逻辑梳理结果,构建算子间的拓扑网络关系。根据算子间的数据传数量大小,在DNN模型的DAG图拓扑网络的边权重进行赋值,权值大小为两个算子之间的数据传输量大小。
所述端网边协同调度模型构建模块,基于数据采集模块和DAG图构建模块的结果,首先对端侧分配决策xin、通讯决策fi和端侧采样帧率fend等模型的决策变量进行定义和数学化表达;其次,将视频任务处理时延、视频任务处理速率和端侧能耗的加权和作为调度模型的目标函数,即最后,对各类约束进行定义和数学化表达,包含配置约束、不重叠约束、端侧计算时延约束、边缘侧计算时延约束、开始/结束时间约束、网络传输时延约束和端侧能耗约束等。
所述模型求解模块,基于CLPEX、Gurobi等求解器,编译端网边协同调度模型的决策变量、目标函数和约束;将DNN模型的相关参数输入求解器中,包括DAG图网络、算子端侧/边缘侧处理时延、算子输出数据量、网络带宽等;设置TimeLimit、MIPFocus等求解器相关参数,运行求解器,输出最终运行结果。
本发明的优点和有益效果在于:
为了解决现有视频任务分析与处理技术中,在处理规则上遵循传统先到先服务规则而不符合实时视频任务处理后到先服务的特点,在问题假设中没有考虑不同分割点选择所造成的数据传输量变化,在模型构建中忽略了视觉任务处理速率对时序特征的影响,从而导致调度方案不佳的问题,本发明把网络带宽融入进实时视频任务处理框架中,将传统端边调度框架扩充至端网边调度框架,同时根据后到先服务规则的特点区分“无效帧”与“有效帧”,并提出以端侧计算时延、视频任务处理速率和端侧能耗为优化指标的端网边协同调度模型构建与求解方法,从而大大提升了调度方案在目标检测、跟踪等实时性要求高的视频任务处理场景下的适用性。
附图说明
图1是本发明的DNN模型数据传输方向示意图。
图2a是本发明的算子间直接连接拓扑关系示意图。
图2b是本发明的算子间多输出连接拓扑关系示意图。
图2c是本发明的算子间多输入连接拓扑关系示意图。
图3是本发明的方法流程图。
图4是本发明实施例中数据采集与DAG图构建的运行流程图。
图5是本发明实施例中YOLO v3残差块网络结构示意图。
图6是本发明实施例中端网边协同调度模型构建的运行流程图。
图7是本发明实施例中调度模型求解与实际部署的运行流程图。
图8是本发明的装置结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
一种实时视频任务端网边协同调度方法。机器人等端侧设备在执行目标检测、跟踪等实时视频任务时,如何在端侧计算资源有限的情况下高效运行DNN模型,以达到既定的视频处理时延、视频处理速率等指标。现有技术中通常会采用基于边缘计算的端边协同调度框架,通过在边缘侧部署额外的计算资源,将端侧任务卸载至边缘侧处理来减小端侧计算压力,提升整体端到端的指标性能。然而,目前现有的端边协同调度方法在任务处理规则上遵循先到先服务规则,不符合实时视频任务处理后到先服务的特点,同时没有考虑不同卸载点选择所造成的数据传数量变化,也忽略了视觉任务处理速率对时序特征的影响,从而导致所建调度模型不符合实际场景特征、所得部署方案效果不佳等问题。因此,本发明把网络融入进实时视频任务处理框架中,将传统端边调度框架扩充至端-网-边调度框架,同时在建模过程中充分融合后到先服务规则的特点和计算时延、处理速率、端侧能耗等指标的综合优化需求,从而大大提升了调度模型的合理性,加强了调度方案在实时视频任务处理场景中的适用性。
具体地,如图3所示,该方法包括如下步骤:
步骤S1,数据采集。采集平台框架信息,包括端侧与边缘侧的硬件和软件平台;采集端侧设备能耗信息,包括计算能耗、传输能耗和待机能耗等;采集各类深度神经网络(DNN)模型的分层算子信息,根据算子信息的特性确定多种分层类型,将算子信息划分到各分层类型中;采集各算子间的数据传输信息,包括数据传输方向、数据传输量大小等。可以通过计算机打印出来。
本实施例中,步骤S1和步骤S2的流程如图4所示。其中,步骤S1数据采集包括如下步骤:
步骤S11:采集平台框架信息,包括端侧与边缘侧的硬件和软件平台。其中,硬件平台信息包括硬件名称、类型(如CPU、GPU、TPU、VPU)、硬件处理能力、内存带宽等,软件平台信息包含软件名称(如TensorRT、TFLite、Openvino、MNN、NCNN)、软件平台的设计特性和相关参数等。详细可见下表。
步骤S12:采集端侧设备能耗信息,包括计算能耗、待机能耗和传输能耗等。其中,计算能耗表示端侧设备在DNN模型推理工况下的能耗,待机能耗表示表示端侧设备不执行DNN模型推理时的能耗,传输能耗表示端侧设备向边缘服务器传输数据时产生的能耗。
步骤S13:采集各类深度神经网络(DNN)模型的算子信息,包括算子类型和计算时延。YOLO v3为经典的目标检测算法,因此本实例以YOLO v3为例,其包含卷积算子、平均池化算子、SILU算子、全连接算子、批标准化算子等。
步骤S14:采集各算子间的数据传输信息,包括分析数据传输方向,并记录各算子的输入、输出数据量大小。
步骤S2,DNN模型的DAG图构建。根据各算子间的数据流动方向,建立算子间的拓扑网络关系;根据各算子间数据传输量的大小,对DAG图边的权重进行赋值。
本实施例中,步骤S2 DNN模型的DAG图构建包括如下步骤:
步骤S21,建立算子间的拓扑网络关系。DAG图包含节点V和边E双元组,分别表述算子及算子与算子之间的数据传输关系。根据YOLO v3中节点V和边E之间的逻辑梳理结果,构建算子间的拓扑网络关系的DAG图。由于篇幅关系,仅展示YOLO v3中残差块(residualblock)的网络结构,如图5。可以看到,残差块中卷积算子、批标准化算子为直接连接方式,表现为卷积算子→批标准化算子。
步骤S22,对DAG图边的权重进行赋值。根据步骤S14所确定的数据传数量大小,在DNN模型的DAG图拓扑网络的边权重进行赋值,权值大小为两个算子之间的数据传输量大小。
步骤S3,端网边协同调度模型构建。根据步骤S1的数据采集结果和步骤S2的DAG图构建结果,首先对模型的决策变量进行定义,其次对协同调度的优化目标进行定义和数学化表达,最后对配置约束、不重叠约束、端侧计算时延约束、边缘侧计算时延约束、开始/结束时间约束等各类约束进行定义和数学化表达。
本实施例中,如图6所示,步骤S3端网边协同调度模型构建包括如下步骤:
S31,定义和描述端网边协同调度模型的决策变量。在端网边协同调度中包含端侧分配决策xin、通讯决策f、端侧采样帧率决策fend、开始时间决策Si和结束时间决策Ci等变量,变量的定义结果如下表所示。
变量 | 含义 |
xin | 端侧分配决策,0/1变量。算子i放于设备n为1,否则为0; |
fi | 通讯决策,0/1变量。算子i存在跨端边设备传输数据为1,否则为0; |
fend | 端部采样帧率决策,整数变量。为端部进行视频帧采样的帧率; |
Si | 开始时间决策,整数变量。为算子i的开始时间; |
Ci | 结束时间决策,整数变量。为算子i的结束时间。 |
步骤S32,定义和描述端网边协同调度模型的优化目标。根据下列式子,构建视频任务处理时延、视频任务处理速率和端侧能耗加权和的端网边协同调度问题的优化目标。其中,由于处理时延、处理速率和端侧能耗的度量方式不同,因此权重系数需要决策者根据历史经验和调度方案的部署效果来动态调整。
步骤S33,定义和描述端网边协同调度模型的约束。根据下列约束,建立该模型的配置约束、不重叠约束、端侧计算时延约束、边缘侧计算时延约束、开始/结束时间约束、网络传输时延约束和端侧能耗约束等。其中,通过遍历各算子的直接紧后算子,利用算子间的连接关系,可以构建任意算子i的间接紧后算子集合Succ(i)。约束的定义结果如下表所示:
步骤S4,基于求解器的调度模型求解。将上述调度问题模型的决策变量、目标函数和约束利用CLPEX、Gurobi等求解器的编程语言进行编译,并将YOLO v3的DAG图网络结构、算子时延等参数输入到求解器中,运行求解器并获得最终调度结果。
本实施例中,步骤S4和步骤S5的流程如图7所示。其中,步骤S4基于求解器的调度模型求解包括如下步骤:
步骤S41,基于python3.9环境下CLPEX、Gurobi等求解器的编译语言,对S3中端网边协同调度模型的决策变量、目标函数和约束进行编译。
步骤S42,将YOLO v3模型的相关参数输入求解器中,包括DAG图网络、算子端侧/边缘侧处理时延、算子输出数据量等。
步骤S43,运行求解器,输出最终运行结果。在运行求解器之前,需要设置求解器相关参数,包括TimeLimit、MIPFocus等。MIPFocus通过尝试0-3不同参数下的求解速度来确定,本专利设置为1;TimeLimit设置为7200秒。最终,将端侧分配决策xin、通讯决策fi和端侧采样帧率决策fend的求解结果进行输出。
步骤S5,调度方案实际部署。根据步骤S4中对端侧分配决策xin、通讯决策fi和端侧采样帧率fend等决策的最终求解结果,在实际物理环境中对端侧设备和边缘侧服务器的DNN模型、摄像头采样率等进行部署。
本实施例中,步骤S5调度方案实际部署包括如下步骤:
步骤S51,决策变量到实施方案的转化。根据步骤S4中对端侧分配决策xin、通讯决策fi和端侧采样帧率决策fend等的最终求解结果,将端侧分配决策xin中xi0=1对应的相关算子需要部署在端侧设备,其余算子根据xin=1(n≠0)的情况将算子i部署在对应第n台边缘服务器中;此外,端侧采样帧率决策fend的值表示端侧设备需要设置的视频采样帧率。
步骤S52,实施方案实际部署。根据S51的实施方案,在实际物理环境中对端侧设备和边缘侧服务器的DNN模型、摄像头采样率等进行部署。
如图8所示,一种实时视频任务端网边协同调度装置,包括依次连接的数据采集模块、DAG图构建模块、端网边协同调度模型构建模块和模型求解模块。
数据采集模块,负责采集端侧与边缘侧的硬件/软件平台框架信息、计算能耗/传输能耗/待机能耗等端侧设备能耗信息、DNN模型的算子信息、数据传输方向/数据传输量大小等各算子间的数据传输信息并记录,作为后序模块的输入。
DAG图构建模块,根据DNN网络节点与边的逻辑梳理结果,构建算子间的拓扑网络关系。根据算子间的数据传数量大小,在DNN模型的DAG图拓扑网络的边权重进行赋值,权值大小为两个算子之间的数据传输量大小。
端网边协同调度模型构建模块,基于数据采集模块和DAG图构建模块的结果,对调度问题的决策变量进行定义和数学化表达;其次,以视频任务处理时延、视频任务处理速率和端侧能耗的加权和为指标构建调度问题目标函数;再者,数学化表述配置约束、不重叠约束、端侧计算时延约束、边缘侧计算时延约束、开始/结束时间约束、网络传输时延约束和端侧能耗约束等调度问题约束;最后,整合决策变量、目标函数和约束,完成端网边协同调度问题模型构建。
模型求解模块,编译DAG图网络、算子端侧/边缘侧处理时延、算子输出数据量等DNN模型相关参数,编译端网边协同调度模型的决策变量、目标函数和约束,将编译结果输入求解器;设置TimeLimit、MIPFocus等求解器相关参数,运行求解器,输出最终运行结果。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (10)
1.一种实时视频任务端网边协同调度方法,其特征在于包括如下步骤:
步骤S1,数据采集。采集平台框架信息、端侧设备能耗信息、视频分析深度神经网络(DNN)模型的算子信息、各算子间的数据传输信息。
步骤S2,DNN模型的有向无环(DAG)图构建。DNN模型的DAG图由节点V和边E两类元素组成,表示为G=(V,E)。根据各算子间的数据流动方向,建立算子间的拓扑网络关系;根据各算子间数据传输量的大小,对DAG图边的权重进行赋值。
步骤S3,端网边协同调度模型构建。根据上述步骤的数据采集结果和DAG图构建结果,基于整数规划建模方法建立端网边协同调度模型,对模型的决策变量、优化目标和约束进行定义和数学化表达。
步骤S4,基于求解器的调度模型求解。基于求解器的编程语言,将端网边协同调度模型的决策变量、目标函数和约束在求解器环境中进行编译,并将具体DNN模型的DAG图网络结构输入到求解器中,求解并获得最优调度结果。
步骤S5,调度方案实际部署。根据调度模型求解结果,在实际物理环境中对端侧设备和边缘侧服务器进行部署。
2.根据权利要求1所述的一种实时视频任务端网边协同调度方法,其特征在于所述的S1的数据采集,包括如下步骤:
步骤S11,采集平台框架信息,包括端侧与边缘侧的硬件和软件平台信息;
步骤S12,采集端侧设备能耗信息,包括计算能耗、传输能耗和待机能耗信息;
步骤S13,采集DNN模型的算子信息,包括算子类型、计算时延信息;
步骤S14,采集各算子间的数据传输信息,包括数据传输方向、数据传输量大小信息。
3.根据权利要求1所述的一种实时视频任务端网边协同调度方法,其特征在于所述的S2的DNN模型的DAG图构建,包括如下步骤:
步骤S21,建立算子间的拓扑网络关系;
步骤S22,对DAG图边的权重进行赋值。
4.根据权利要求1所述的一种实时视频任务端网边协同调度方法,其特征在于所述的S3的端网边协同调度模型构建,包括如下步骤:
步骤S31,定义和描述端网边协同调度模型的决策变量;
步骤S32,定义和描述端网边协同调度模型的优化目标;
步骤S33,定义和描述端网边协同调度模型的约束。
5.根据权利要求4所述的一种实时视频任务端网边协同调度方法,其特征在于所述S31中需要决策算子的放置位置、算子的数据传输路径、端部设备的采样帧率、算子的开始时间和结束时间,由此分别产生端侧分配决策xin、通讯决策fi、端侧采样帧率决策fend、开始时间决策Si和结束时间决策Ci。其中,端侧分配决策xin为0/1变量,定义为算子i是否放置于设备n处(是为1,否为0);通讯决策fi为0/1变量,定义为算子i是否存在跨端边设备传输数据(是为1,否为0);端侧采样帧率决策fend为整数变量,定义为端部进行视频帧采样的帧率;开始时间决策Si和结束时间决策Ci为整数变量,定义为算子的开始时间和结束时间。
6.根据权利要求4所述的一种实时视频任务端网边协同调度方法,其特征在于所述S32中调度的优化目标包含视频任务处理时延、视频任务处理速率和端侧能耗。其中,视频任务处理时延Ttotal只计算有效帧的处理时延,可进一步表示为端侧计算时延Tend、传输时延Tnet和边缘侧计算时延Tedge之和,由式(1)所示;视频任务处理速率由端、网、边的处理速率瓶颈所决定,端、网、边处理速率μend、μnet、μedge和计算时延的关系由式(2)表示;端侧能耗Eend则包含计算能耗、待机能耗和通讯能耗;调度的优化目标最终表示为端侧计算时延、视频任务处理速率和端侧能耗的加权和,表示为式(3)。
Ttotal=Tend+Tnet+Tedge (1)
μend=1/Tend,μnet=1/Tnet,μedge=1/Tedge (2)
7.根据权利要求4所述的一种实时视频任务端网边协同调度方法,其特征在于所述S33中端网边协同调度包含以下各类约束,具体由式(4-19)表述:
不重叠约束:包含约束(6-7),表示当两个算子布置在同一设备上时,设备以串行的方式进行计算处理。其中,Ms和Ml分别为两个大数,即Ms>>0、Ml>>0。
端侧计算时延约束:包含约束(8),表示端侧设备的计算时延为所有部署在端侧算子的计算时延之和。
传输时延约束:包含约束(9-10),其中约束(9)表示传输时延为带宽和传输数据量的比值;约束(10)表示决策变量之间的关系。
边缘侧计算时延约束:包含约束(11),表示边缘侧计算时延为有效帧端到端时延减去端侧计算时延和端/边缘侧传输时延。
开始/结束时间约束:包含约束(12-14),其中约束(12)表示算子i的任意的后序算子的开始时间不能早于算子i的结束时间;约束(13)表示若算子i和算子j存在数据传输,则任意算子/>的开始时间不能早于传输完成时间;约束(14)表示算子的开始时间、结束时间和计算时间之间的关系。
端侧能耗约束:包含约束(15-19),其中约束(15-16)表示处理能耗;约束(17)表示待机能耗;约束(18)表示传输能耗;总体的端侧能耗则表示为三类能耗之和,表示为约束(19)。
EC,2=ecom·max{0,max{Tend,Tnet,Tedge}-1/fend} (16)
ET=enet·Tnet (18)
Eend=EP,1+EP,2+EI+ET (19)
8.根据权利要求1所述的一种实时视频任务端网边协同调度方法,其特征在于所述的S4的基于求解器的调度模型求解,包括如下步骤:
步骤S41,基于CLPEX、Gurobi等求解器,编译端网边协同调度模型的决策变量、目标函数和约束;
步骤S42,将DNN模型的相关参数输入求解器中;
步骤S43,设置求解器相关参数,运行求解器,输出最终运行结果。
9.根据权利要求1所述的一种实时视频任务端网边协同调度方法,其特征在于所述的S5的调度方案实际部署,包括如下步骤:
步骤S51,决策变量到实施方案的转化;根据端侧分配决策xin、通讯决策fi和端侧采样帧率决策fend等的最终求解结果,将端侧分配决策xin中xi0=1对应的相关算子需要部署在端侧设备,其余算子需要部署在对应边缘服务器中;此外,端侧采样帧率决策fend的值表示端侧设备需要设置的视频采样帧率;
步骤S52,实施方案实际部署;根据S51的实施方案,在实际物理环境中对端侧设备和边缘侧服务器的DNN模型、摄像头采样率等进行部署。
10.一种实时视频任务端网边协同调度装置,包括:依次连接的数据采集模块、DAG图构建模块、端网边协同调度模型构建模块和模型求解模块,其特征在于:
所述的数据采集模块,负责采集端侧与边缘侧的硬件/软件平台框架信息、计算能耗/传输能耗/待机能耗等端侧设备能耗信息、DNN模型的算子信息、数据传输方向/数据传输量大小等各算子间的数据传输信息并记录,作为后序模块的输入。
所述的DAG图构建模块,根据DNN网络节点与边的逻辑梳理结果,构建算子间的拓扑网络关系。根据算子间的数据传数量大小,在DNN模型的DAG图拓扑网络的边权重进行赋值,权值大小为两个算子之间的数据传输量大小。
所述的端网边协同调度模型构建模块,基于数据采集模块和DAG图构建模块的结果,对调度问题的决策变量进行定义和数学化表达;其次,以视频任务处理时延、视频任务处理速率和端侧能耗的加权和为指标构建调度问题目标函数;再者,数学化表述配置约束、不重叠约束、端侧计算时延约束、边缘侧计算时延约束、开始/结束时间约束、网络传输时延约束和端侧能耗约束等调度问题约束;最后,整合决策变量、目标函数和约束,完成端网边协同调度问题模型构建。所述的模型求解模块,编译DAG图网络、算子端侧/边缘侧处理时延、算子输出数据量等DNN模型相关参数,编译端网边协同调度模型的决策变量、目标函数和约束,将编译结果输入求解器;设置TimeLimit、MIPFocus等求解器相关参数,运行求解器,输出最终运行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211642751.4A CN116436980A (zh) | 2022-12-20 | 2022-12-20 | 一种实时视频任务端网边协同调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211642751.4A CN116436980A (zh) | 2022-12-20 | 2022-12-20 | 一种实时视频任务端网边协同调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116436980A true CN116436980A (zh) | 2023-07-14 |
Family
ID=87086085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211642751.4A Pending CN116436980A (zh) | 2022-12-20 | 2022-12-20 | 一种实时视频任务端网边协同调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116436980A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662283A (zh) * | 2023-07-28 | 2023-08-29 | 北京孔皆数智科技有限公司 | 一种端边协同的数据共享和计算方法 |
-
2022
- 2022-12-20 CN CN202211642751.4A patent/CN116436980A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662283A (zh) * | 2023-07-28 | 2023-08-29 | 北京孔皆数智科技有限公司 | 一种端边协同的数据共享和计算方法 |
CN116662283B (zh) * | 2023-07-28 | 2023-12-12 | 北京孔皆数智科技有限公司 | 一种端边协同的数据共享和计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zeng et al. | Boomerang: On-demand cooperative deep neural network inference for edge intelligence on the industrial Internet of Things | |
Ghobaei-Arani et al. | A cost-efficient IoT service placement approach using whale optimization algorithm in fog computing environment | |
CN107871164B (zh) | 一种雾计算环境个性化深度学习方法 | |
CN110347500A (zh) | 用于边缘计算环境中面向深度学习应用的任务卸载方法 | |
Tang et al. | Survey on digital twin edge networks (DITEN) toward 6G | |
CN107657316A (zh) | 通用处理器与神经网络处理器的协同系统设计 | |
CN109491790A (zh) | 基于容器的工业物联网边缘计算资源分配方法及系统 | |
Leng et al. | Cloud-edge orchestration-based bi-level autonomous process control for mass individualization of rapid printed circuit boards prototyping services | |
CN115037749B (zh) | 一种大规模微服务智能多资源协同调度方法及系统 | |
Heidari et al. | A QoS-aware technique for computation offloading in IoT-edge platforms using a convolutional neural network and Markov decision process | |
CN113642700A (zh) | 基于联邦学习和边缘计算的跨平台多模态舆情分析方法 | |
CN116436980A (zh) | 一种实时视频任务端网边协同调度方法及装置 | |
Ajitha et al. | Neural network model for software size estimation using use case point approach | |
Ebrahim et al. | A deep learning approach for task offloading in multi-UAV aided mobile edge computing | |
CN116743635A (zh) | 一种网络预测与调控方法及网络调控系统 | |
Wang et al. | Deep Reinforcement Learning-based scheduling for optimizing system load and response time in edge and fog computing environments | |
Tekiyehband et al. | An efficient dynamic service provisioning mechanism in fog computing environment: A learning automata approach | |
CN109062677A (zh) | 一种无人机系统计算迁移方法 | |
CN117156492A (zh) | 一种基于深度强化学习的联合服务缓存、通信与计算的双时间尺度资源分配方法 | |
CN116109058A (zh) | 一种基于深度强化学习的变电站巡视管理方法和装置 | |
CN116684472A (zh) | 一种面向端侧算力网络的服务部署系统及其服务部署方法 | |
CN115277789A (zh) | 一种梯级水电站安全防护系统及方法 | |
EP4315166A1 (en) | Method and system for predicting and classifying event sequences embedded in a knowledge graph | |
CN113285823A (zh) | 基于容器的业务功能链编排方法 | |
CN113485718B (zh) | 面向边云协同系统中的上下文感知AIoT应用程序部署方法 |
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 |