CN110874270B - 用于车联网的深度学习离线推理负载均衡方法 - Google Patents
用于车联网的深度学习离线推理负载均衡方法 Download PDFInfo
- Publication number
- CN110874270B CN110874270B CN201911124249.2A CN201911124249A CN110874270B CN 110874270 B CN110874270 B CN 110874270B CN 201911124249 A CN201911124249 A CN 201911124249A CN 110874270 B CN110874270 B CN 110874270B
- Authority
- CN
- China
- Prior art keywords
- sequence
- neural network
- memory
- task
- layer
- 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.)
- Active
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013528 artificial neural network Methods 0.000 claims abstract description 83
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 238000009499 grossing Methods 0.000 claims abstract description 4
- 210000002569 neuron Anatomy 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- 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
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种用于车联网的深度学习离线推理负载均衡方法。包括:确定车联网中的主车;计算深度学习神经网络各层网络的内存占用,得到内存消耗序列;对内存消耗序列作平滑处理;计算神经网络层波动特征序列;对深度学习神经网络进行任务划分,得到初始任务序列;获取车联网中每个节点设备的计算性能;以最低计算性能为基准,获取所有车联网节点计算性能的冗余倍数序列,对初始任务序列进行校正;获得校正的任务序列中任务与车辆节点之间的最优匹配,将任务分配至各个车辆节点。利用本发明,可以在车联网场景中,实现跨设备协作完成任务,设计成本低,实用性高。
Description
技术领域
本发明涉及车联网负载均衡技术领域,具体涉及一种用于车联网的深度学习离线推理负载均衡方法。
背景技术
随着智能驾驶技术的高速发展,车载系统的图像数据处理能力越来越强,所得处理结果越来越丰富。然而,单个车载系统的计算能力仍然无法与快速增长的交通场景数据匹配。
车联网系统可以将网络中车辆节点的任务分配给其他车辆节点,以提高数据处理效率。目前的车联网系统可以满足短时间的高速传输,但是内容大多限于音视频、传感器数据等,而非大规模的张量数据。基于车联网的车队系统,例如矿车车队、卡车车队等,可以完成极丰富的任务。然而,对于大规模的图像数据,仍然缺少合适的负载均衡策略,提高车联网中数据节点的设备利用率。以大批量高分辨率的图像内容结构化为例,一张4K的图像通过网络提取特征的前端若干层内的内存占用量高达几十GB,而车载系统的内存容量通常为个位数GB,通常这样的任务只能通过云端数据中心完成,而一些场景中因为时延的要求或因信息安全的要求,却只能通过本地设备完成。目前的车队系统的深度学习推理系统无法跨设备协作完成推理任务。深度学习推理负载均衡与设备性能、稳定性、热设计等多种因素相关,平衡难度很大,设计能够运行严苛的负载的系统难度更是极难的一件事。此外,专用的负载均衡系统成本极高、试验次数少、实用性非常低。
因此,现有深度学习负载均衡技术存在无法跨设备协作完成以及负载均衡系统设计成本高、实用性低等问题。
发明内容
本发明提供了一种用于车联网的深度学习离线推理负载均衡方法,该方法实现了深度学习离线推理任务负载均衡,实现跨设备协作完成推理任务,设计成本低,实用性高。
一种用于车联网的深度学习离线推理负载均衡方法,该方法包括:
步骤一,确定车联网中提出离线推理负载均衡请求的车辆为主车;
步骤二,计算深度学习神经网络各层网络的内存占用,得到深度学习神经网络的内存消耗序列;
步骤三,采用滑动窗口,对内存消耗序列作平滑处理,得到平滑内存消耗序列;
步骤四,将深度学习神经网络的输入端及其相邻层、输出端及其相邻层分配给主车,根据内存消耗序列与平滑内存消耗序列,计算神经网络层波动特征序列;
步骤五,根据神经网络层波动特征序列以及内存消耗序列,对深度学习神经网络进行任务划分,得到初始任务序列;
步骤六,采用基准测试方式对车联网各节点硬件组态进行识别,获取每个车辆节点的计算性能;
步骤七,以最低计算性能为基准,获取车联网所有车辆节点计算性能的冗余倍数序列,根据冗余倍数序列对初始任务序列进行校正;
步骤八,采用任务匹配衡量算式衡量任务匹配度,根据任务匹配度获得任务与车辆节点之间的最优匹配,将校正后的任务序列中的任务分配至各个车辆节点。
步骤二包括:
根据神经网络层的内存占用以及神经网络层的输入输出流量,得到深度学习神经网络的内存消耗L:
L=D+F
其中,D是神经网络l层的内存占用,F是神经网络l层的输入输出流量;
计算深度学习神经网络每一层网络的内存占用,得到深度学习神经网络的内存消耗序列。
神经网络l层的内存占用的计算方法具体为:
D=∑Dp
其中,Dp是神经网络l层支路p的内存占用,D是神经网络l层的内存占用。
神经网络l层支路p的内存占用的计算方法具体为:
Dp=∑d
其中,d为一个神经元的内存占用,∑d为神经网络l层支路p的所有神经元的内存占用的和,Dp是神经网络l层支路p的内存占用。
一个神经元的内存占用的计算方法具体为:
d=(Tin+∑∑Kn,g+∑P+Tout)*Dtype
其中,Tin是神经元输入端的各通道张量大小的内存占用;
Tout是神经元输出端的各通道张量大小的内存占用;
Kn,g是神经元中在分组g的组内某通道n的卷积核大小,∑∑Kn,g是内部卷积核参数的内存占用;
∑P是激活函数、批归一化操作的参数的内存占用;
Dtype是一个数值在指定精度存储时的字节占用数。
滑动窗口为均值窗口。
神经网络层波动特征序列的计算方法具体为:
计算神经网络层波动特征序列S,其中Si有:
其中,Ni′表示去掉首部两层和尾部两层的平滑内存消耗序列的第i个数值,M′i表示去掉首部两层和尾部两层的内存消耗序列中第i个数值。
步骤五具体为:将神经网络层波动特征序列中连续大于1的数值组成区间,分别以每个区间的最大值作为锚点,向序列两边扩张,同时根据内存消耗序列计算该区间对应任务的内存占用,当内存占用超出最低硬件内存配置时停止扩张,得到初始任务序列。
步骤七中的校正方法具体包括:
若冗余倍数序列中数值个数大于初始任务序列的任务个数,则在任务与车辆节点的匹配过程中可忽略性能差的设备;若冗余倍数序列中数值个数小于初始任务序列的任务个数,则对初始任务序列的任务进行合并。
步骤八具体为:
采用任务匹配衡量算式衡量任务匹配度:
其中,PFa为车辆节点的计算性能,a为车辆节点编号,Lb为任务b所包含的神经网络层数,b为任务编号,DBLEPSILON是计算机所能识别的最小精度,DBLINF是计算机所能识别的最大精度;
采用KM算法,根据任务匹配度获得任务与车辆节点之间的最优匹配;
根据匹配关系,将校正后的任务序列中的任务分配至各个车辆节点。
本发明的有益效果在于:
1、本发明分析网络各级的输入输出带宽及内存占用来将任务分块,通过合理的顺序进行流式推理,设计了一种普适性较强的负载均衡方法,实现跨设备协作完成深度学习负载均衡;
2、本发明能够合理利用车队内的硬件资源,对任务进行负载均衡,使车队中不同性能的硬件可以得到最合适的任务分配,最大化利用车队的硬件性能,实现本地化离线处理,能够使用多元化的硬件在多种云端无法连接的场景中使用,设计成本低,实用性高。
附图说明
图1为用于车联网的深度学习离线推理负载均衡方法流程图;
图2为车联网车队示意图;
图3为任务指派表示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种用于车联网的深度学习离线推理负载均衡方法。图1为本发明方法流程图。下面通过具体实施例来进行说明。
实施例一:
用于车联网的深度学习离线推理负载均衡方法包括:
步骤一,确定车联网中提出离线推理负载均衡请求的车辆为主车。
车联网是多个车辆通过网络互联组成的局域网络,每一个车辆节点都可以在该网络中共享、下载数据。一方面,由于图像本身包含的信息非常多,另一方面,驾驶过程中道路交通场景持续变换,每一秒的图像都是新数据。因此,在单车智能驾驶、实时共享道路交通场景的车队组队等应用中,单个数据节点即车辆节点需要处理的数据量非常大。而且,在上述应用场景中,都要求对获取的交通场景数据进行实时处理。这不仅对单个数据节点的计算能力提出了更高要求,还对单个数据节点的存储容量提出了更高要求。道路交通场景中,处理的数据大多都是图像数据,对图像数据进行分析最常用的一种方法便是神经网络。深度学习神经网络不仅可以进行图像压缩、图像分割,而且可以用于图像分类。然而,深度神经网络计算数据模型繁多,结构复杂,主流模型含几十个隐含层,每层都在上千上万级的神经元,整个网络更多,其计算量巨大。单个数据节点往往无法完成如此庞大的数据量的处理。因此,本发明提出一种用于局域车联网的深度学习神经网络数据分配方法,以提高车联网中数据处理效率,提高各个车辆节点的设备利用率。
本发明中的车联网是一种车对车局域网的某种应用形式,是一种具有普遍性的技术,本发明不对具体的链路、协议等内容做限定。首先确定车队中的主车,对于主车的定义是:在推理请求中第一个输入信息的车辆,即发出离线推理负载均衡请求的车辆节点。如图2所示是一种车联网车队状态,车队中主车V0对临近的车辆V1、V2、V3、V4、V5进行评估并分发任务。
步骤二,计算深度学习神经网络各层网络的内存占用,得到深度学习神经网络的内存消耗序列。
主车V0需要遵循以下方式分析网络的拓扑结构。一般的网络的拓扑结构是典型的神经网络形式,即数据从一端输入,从另一端输出的端到端形式。对于端到端形式,有以下量化信息以便后续任务分配的方式:
对于卷积神经网络中神经元的内存占用有:
d=(Tin+∑∑Kn,g+∑P+Tout)*Dtype
其中,Tin是神经元输入端的各通道张量大小的内存占用;
Tout是神经元输出端的各通道张量大小的内存占用;
Kn,g是神经元中在分组g的组内某通道n的卷积核大小,∑∑Kn,g是内部卷积核参数的内存占用;
∑P是激活函数、批归一化操作的参数的内存占用;
Dtype是一个数值在指定精度存储时的字节占用数,例如FP16是半精度浮点数,Dtype=2。
根据神经元内存占用分析,有神经网络l层支路p的内存占用:
Dp=∑d
其中,∑d为神经网络l层支路p的所有神经元的内存占用的和,Dp是神经网络l层支路p的内存占用。
根据神经网络l层支路p的内存占用,可以得到神经网络l层的内存占用:
D=∑Dp
其中,Dp是神经网络l层支路p的内存占用,D是神经网络l层的内存占用。
网络的输入输出流量:
F=(∑Tin+∑Tout)*Dtype
∑Tin是该段网络的输入端的所有神经元的各通道张量的内存占用;
∑Tout是该段网络的输出端的所有神经元的各通道张量的内存占用;
因此,对于一段网络,有损失函数L:
L=F+D
其中,F是网络的输入输出流量,D是神经网络l层的内存占用。
计算深度学习神经网络每一层网络的内存占用,得到一维的内存占用数组M,即深度学习神经网络的内存消耗序列。
步骤三,采用滑动窗口,对内存消耗序列作平滑处理,得到平滑内存消耗序列。
将内存消耗数组M视为序列,做窗口大小为5的滑动窗口处理,此处窗口大小可根据实际部署的情况而定。
滑动窗口为均值窗口,即:[0.20.20.20.20.2]。利用均值滑动窗口对神经网络层内存消耗序列进行处理,如此,得到平滑内存消耗序列N。
步骤四,将深度学习神经网络的输入端及其相邻层、输出端及其相邻层分配给主车,根据内存消耗序列与平滑内存消耗序列,计算神经网络层波动特征序列。
由于主车是提出数据处理请求的节点,将头部2层和尾部2层,即深度学习神经网络的输入端及其相邻层、输出端及其相邻层,分配给主车,其余的子序列继续处理。鉴于分配情况,将M首部2层和尾部2层移除,得到序列M′。
计算神经网络层波动特征序列S,其中Si有:
其中,Ni′表示去掉首部两层和尾部两层的平滑内存消耗序列的第i个数值,M′i表示去掉首部两层和尾部两层的内存消耗序列中第i个数值。神经网络层波动特征序列S此时代表了计算量随网络层数变化的波动性,大于1的区域为可分段区域,此外的区域为可自由分配的区域。
步骤五,根据神经网络层波动特征序列以及内存消耗序列,对深度学习神经网络进行任务划分,得到初始任务序列。
将神经网络层波动特征序列中连续大于1的数值组成区间,分别以每个区间的最大值作为锚点,向序列两边扩张,边扩张边计算任务的内存占用,当内存占用超出最低硬件内存配置时停止扩张,得到初始任务序列。
扫描神经网络层波动特征序列S中大于1的所有数值。将神经网络层波动特征序列中连续大于1的数值组成区间,分别以每个区间的最大值作为锚点,向序列两边扩张。例如,波动特征序列为[1.2,1.3,0.9,0.8,1.1,1.5,0.7,1.3],则组成的区间分别为[1.2,1.3]、[1.1,1.5]、[1.3]。以区间中最大值作为锚点,边扩张,边计算任务的内存占用。以第一个区间为例,则1.3为锚点,向两边扩张。具体地,可以规定扩张方向顺序,例如先向前扩张后向后扩张。在扩张的过程中,同时计算扩张序列对应的任务的内存占用。当内存占用超出车队中最低硬件内存配置时,停止搜索扩张。分别对各区间中最大波动特征值执行上述操作,得到初始任务序列。若包含支路,则以整条支路为最小段长。
步骤六,采用基准测试方式对车联网各节点硬件组态进行识别,获取每个车辆节点的计算性能。
进一步地,通过发送测试数据包获得车队硬件组态并规划最终方案,此处的硬件组态和车辆队列顺序无关,而是根据硬件性能进行评分。
测试数据包的内容为一个测试张量。通过测试数据包得到张量的计算时间Tn,测试张量的加运算次数A、加运算的基准吞吐量f已知,则每个设备的计算性能值RAMn为设备内存容量。至此,可以得到车辆节点设备的计算性能。
步骤七,以最低计算性能为基准,获取车联网所有车辆节点计算性能的冗余倍数序列,根据冗余倍数序列对初始任务序列进行校正。
以最低的硬件计算性能为基准,将其他车辆节点的硬件计算性能与最低硬件计算性能比较,得到车联网节点计算性能的冗余倍数的序列R。冗余倍数的获得方法为将车辆节点硬件配置与最低硬件配置相除,得到的商即为冗余倍数。冗余倍数序列可以提供给实施者,方便实施者了解车联网所有车辆节点的相对计算性能,在任务分配结束、各个车辆节点执行任务过程中,对各个车辆节点的任务执行效率进行监控和把握。
校正方法如下:若冗余倍数序列R中数值个数大于初始任务序列的任务个数,则在任务与节点的匹配过程中可忽略性能差的设备;若冗余倍数序列R中数值个数小于初始任务序列的任务个数,则对初始任务序列中的任务进行合并。若冗余倍数序列R中数值个数与初始任务个数相等,则无需进行校正。另一种实施方式是直接采用车辆节点个数来判断是否需要对初始任务序列进行校正。
合并方法如下:由于车辆节点有内存限制,以最低硬件内存大小为阈值。合并初始任务序列中内存占用最小两个任务,当超过阈值,则不允许再扩张当前任务,同时,将内存限制提升至更大一级的内存限制。例如:触及到倒数第一小的硬件内存限制后,内存限制提升到倒数第二大的内存。如此,直至冗余倍数序列与校正的任务序列任务个数相等。其中,由于合并前的初始任务序列中的任务都可以被分配至内存资源最少的硬件中,因此,上述操作结束后,合并任务时有两种结果:第一,超出最大内存限制;第二,与其他任务产生连接。
若无法使冗余倍数序列与校正的任务序列任务个数相等,即车队的所有硬件能力无法满足当前推理任务,则不再进行下面的流式推理步骤。
至此,主车V0得到了校正的任务序列。
步骤八,采用任务匹配衡量算式衡量任务匹配度,根据任务匹配度获得任务与车辆节点之间的最优匹配,将校正后的任务序列中的任务分配至各个车辆节点。
任务分配方法采用KM算法。定义任务匹配衡量算式来衡量任务匹配程度,其中min函数和参照值DBLINF-DBLEPSILON是防止KM算法内部出现非法浮点计算的情况,PFa为车辆节点的计算性能,a为车辆节点编号,Lb为任务b所包含的神经网络层数,b为任务编号,DBLEPSILON是计算机所能识别的最小精度,DBLINF是计算机所能识别的最大精度。
首先,计算任务b的内存占用,若b任务内存占用超出车辆节点a的内存,则Ca,b=0,否则,根据上述任务匹配衡量算式得到任务b与车辆节点a之间的任务匹配程度。如此,得到车辆节点集合与任务集合之间的任务匹配程度。根据任务匹配程度,采用KM算法,得到车辆节点集合与任务集合之间的最优匹配。根据最优匹配,设置任务指派表,将任务指派表发送至主车。
至此,完成了深度学习神经网络任务的细化和分配,任务指派表示意图如图3所示。其中,T1、T2、T3、T4、T5为分配至其它车辆节点的任务的编号,T为分配至主车的任务。根据指派表,各车载入所对应的神经网络权重。主车V0计算网络最前部分的输入层及其相邻层,然后将输出传递至指派表的下一辆车辆节点。以此类推顺序传递,直到主车接收到上一辆车的输入。最终主车V0计算网络的最后部分,得到输出。
本发明使用车联网为载体,对于车队而言,经常需要处理高分辨率的大型输入数据的信息,目前单台设备的内存或高速缓存容量有限,无法直接处理此类输入,因此需要利用车队的其它硬件通过合理的流式处理的方式来解决此类问题。本发明提出的负载均衡方法能够有效地保证负载分配的科学性和鲁棒性。
以上实施例仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种用于车联网的深度学习离线推理负载均衡方法,其特征在于,该方法包括:
步骤一,确定车联网中提出离线推理负载均衡请求的车辆为主车;
步骤二,计算深度学习神经网络各层网络的内存占用,得到深度学习神经网络的内存消耗序列;
步骤三,采用滑动窗口,对内存消耗序列作平滑处理,得到平滑内存消耗序列;
步骤四,将深度学习神经网络的输入端及其相邻层、输出端及其相邻层分配给主车,根据内存消耗序列与平滑内存消耗序列,计算神经网络层波动特征序列;
步骤五,根据神经网络层波动特征序列以及内存消耗序列,对深度学习神经网络进行任务划分,得到初始任务序列;
步骤六,采用基准测试方式对车联网各节点硬件组态进行识别,获取每个车辆节点的计算性能;
步骤七,以最低计算性能为基准,获取车联网所有车辆节点计算性能的冗余倍数序列,根据冗余倍数序列对初始任务序列进行校正;
步骤八,采用任务匹配衡量算式衡量任务匹配度,根据任务匹配度获得任务与车辆节点之间的最优匹配,将校正后的任务序列中的任务分配至各个车辆节点;
所述神经网络层波动特征序列的计算方法具体为:
将神经网络层波动特征序列中连续大于1的数值组成区间,分别以每个区间的最大值作为锚点,向序列两边扩张,同时根据内存消耗序列计算该区间对应任务的内存占用,当内存占用超出最低硬件内存配置时停止扩张,得到初始任务序列;
通过发送测试数据包获得车队硬件组态并规划最终方案,测试数据包的内容为一个测试张量;通过测试数据包得到张量的计算时间,测试张量的加运算次数、加运算的基准吞吐量已知,则每个设备的计算性能值,为设备内存容量;至此,可以得到车辆节点设备的计算性能;
所述步骤七中的校正方法具体包括:
若冗余倍数序列中数值个数大于初始任务序列的任务个数,则在任务与车辆节点的匹配过程中可忽略性能差的设备;若冗余倍数序列中数值个数小于初始任务序列的任务个数,则对初始任务序列的任务进行合并;
所述步骤八具体为:
采用任务匹配衡量算式衡量任务匹配度:
采用KM算法,根据任务匹配度获得任务与车辆节点之间的最优匹配;
根据匹配关系,将校正后的任务序列中的任务分配至各个车辆节点。
6.如权利要求1所述的用于车联网的深度学习离线推理负载均衡方法,其特征在于,所述滑动窗口为均值窗口。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124249.2A CN110874270B (zh) | 2019-11-18 | 2019-11-18 | 用于车联网的深度学习离线推理负载均衡方法 |
LU102064A LU102064B1 (en) | 2019-11-18 | 2020-09-14 | Deep learning offline inference load balancing method for Internet of Vehicles |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124249.2A CN110874270B (zh) | 2019-11-18 | 2019-11-18 | 用于车联网的深度学习离线推理负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874270A CN110874270A (zh) | 2020-03-10 |
CN110874270B true CN110874270B (zh) | 2022-03-11 |
Family
ID=69718089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911124249.2A Active CN110874270B (zh) | 2019-11-18 | 2019-11-18 | 用于车联网的深度学习离线推理负载均衡方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110874270B (zh) |
LU (1) | LU102064B1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107705557A (zh) * | 2017-09-04 | 2018-02-16 | 清华大学 | 基于深度增强网络的路网信号控制方法及装置 |
CN107886073A (zh) * | 2017-11-10 | 2018-04-06 | 重庆邮电大学 | 一种基于卷积神经网络的细粒度车辆多属性识别方法 |
CN107909147A (zh) * | 2017-11-16 | 2018-04-13 | 深圳市华尊科技股份有限公司 | 一种数据处理方法及装置 |
CN110176054A (zh) * | 2018-02-14 | 2019-08-27 | 辉达公司 | 用于训练神经网络模型的合成图像的生成 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11221872B2 (en) * | 2015-10-08 | 2022-01-11 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Neural network unit that interrupts processing core upon condition |
-
2019
- 2019-11-18 CN CN201911124249.2A patent/CN110874270B/zh active Active
-
2020
- 2020-09-14 LU LU102064A patent/LU102064B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107705557A (zh) * | 2017-09-04 | 2018-02-16 | 清华大学 | 基于深度增强网络的路网信号控制方法及装置 |
CN107886073A (zh) * | 2017-11-10 | 2018-04-06 | 重庆邮电大学 | 一种基于卷积神经网络的细粒度车辆多属性识别方法 |
CN107909147A (zh) * | 2017-11-16 | 2018-04-13 | 深圳市华尊科技股份有限公司 | 一种数据处理方法及装置 |
CN110176054A (zh) * | 2018-02-14 | 2019-08-27 | 辉达公司 | 用于训练神经网络模型的合成图像的生成 |
Non-Patent Citations (2)
Title |
---|
High volume geospatial mapping for internet-of-vehicle solutions with in-memory map-reduce processing;Tao Zhong 等;《2014 IEEE International Conference on Big Data (Big Data)》;20150131;第802-807页 * |
基于动态特征提取和神经网络的数据流分类研究;汪成亮 等;《计算机应用》;20100601;第30卷(第6期);第1539-1542+1567页 * |
Also Published As
Publication number | Publication date |
---|---|
LU102064B1 (en) | 2021-03-17 |
CN110874270A (zh) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104952248B (zh) | 一种基于欧氏空间的车辆汇聚预测方法 | |
CN112464784A (zh) | 一种基于混合并行的分布式训练方法 | |
CN111918245A (zh) | 基于多智能体的车速感知的计算任务卸载和资源分配方法 | |
CN111079921A (zh) | 一种基于异构分布式系统的高效神经网络训练调度方法 | |
CN115186821B (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
DE102012216029A1 (de) | Ein skalierbares anpassungsfähiges map-reduce-rahmenwerk mit verteilten daten | |
CN114492770B (zh) | 一种面向循环脉冲神经网络的类脑计算芯片映射方法 | |
CN113037800B (zh) | 作业调度方法以及作业调度装置 | |
CN112995289A (zh) | 一种基于非支配排序遗传策略的车联网多目标计算任务卸载调度方法 | |
CN108647802A (zh) | 基于双层交通网络模型抗拥塞方法 | |
WO2024037393A1 (zh) | 拓扑识别模型的压缩方法、装置、电子设备及介质 | |
CN111246320B (zh) | 一种云-雾弹性光网络中的深度强化学习流量疏导方法 | |
CN105677447A (zh) | 分布式云中基于聚类的时延带宽极小化虚拟机部署方法 | |
CN116916464B (zh) | 基于ZigBee的室内环境数据优化监测采集方法 | |
WO2023201938A1 (zh) | 缺失轨迹填补方法及系统 | |
CN104635709B (zh) | 考虑费用和时间双目标的柔性综合调度方法 | |
CN113726894B (zh) | 一种基于深度强化学习的多车应用计算卸载方法及终端 | |
CN110874270B (zh) | 用于车联网的深度学习离线推理负载均衡方法 | |
CN116302481A (zh) | 基于稀疏知识图谱链接预测的资源分配方法及系统 | |
CN112862083B (zh) | 一种边缘环境下的深度神经网络推断方法及装置 | |
CN102546286A (zh) | 一种在线检测网络共享拥塞路径的方法 | |
CN116663639B (zh) | 一种梯度数据同步方法、系统、装置及介质 | |
CN113781817A (zh) | 一种基于共用计算的城市路网多源最短路径获取方法 | |
CN116166444B (zh) | 一种面向深度学习分层模型的协同推理方法 | |
CN116468990B (zh) | 一种基于集中判图的任务随机派发智能管理系统及方法 |
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 |