一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向边缘无线网络中UDL任务的在线调度系统及方法与流程

2022-02-19 00:04:19 来源:中国专利 TAG:

一种面向边缘无线网络中udl任务的在线调度系统及方法
技术领域
1.本发明属于机器学习技术领域,涉及一种在线调度系统及方法,具体涉及一种面向边缘无线网络中无偏分布式机器学习(udl)任务的在线调度系统及方法。


背景技术:

2.5g和边缘计算的发展与突破,推动了诸如智能视频监控、智慧城市、自动驾驶等智能物联网应用的发展。传统的机器学习(ml)任务的训练数据集通过到达时输入并在远程云中进行集中训练,与之不同的是,上述物联网服务为了减少响应延迟和保护隐私,在网络边缘进行任务训练,以支持实时推理和响应。此外,为了保证服务质量,训练一个无偏模型(即一个具有高适用性的模型,可以在所有站点中使用以提供有效的推理)是至关重要的,该模型的训练数据是从每个跨区域站点中选择的足够数量的数据,以表示边缘无线网络中的数据源。我们将上述需求的物联网应用服务任务定义为无偏分布式机器学习(udl)任务。例如,为了支持智能交通管理系统,安装在每个十字路口的摄像头会收集实时道路交通数据,然后上传到一个边缘云进行处理。
3.udl任务的训练通常在边缘进行,采用数据并行的方式和参数服务器(parameter server,ps)框架。然而,udl任务在边缘训练是非常不凡的。响应延迟和带宽消耗之间存在折衷。为了减少响应延迟,大多研究倾向于将所有数据集中到一个地方进行训练。这样的方式,虽然可以通过消除计算节点和参数服务器节点之间的通信时间来加快训练过程,但是这种集中训练的方式会消耗大量的跨站点无线带宽。而在边缘网络中,无线带宽是昂贵且稀缺的。考虑到不同任务对响应延迟的不同敏感性,存在一个问题:如何确定任务分配部署计算节点和参数服务节点(资源分配)的顺序,以实现响应延迟最小化。考虑到不同边缘站点中资源和数据的异构性,存在一个挑战性问题:如何确定每个站点中的训练数据量,并安排部署与之匹配的计算节点的数量,从而使带宽成本(用于训练数据传输以及计算节点和参数服务器系节点之间的参数交换)最小化。
4.当今云系统中普遍采用的调度算法遵循简单的策略,例如先进先出(fifo)或优势资源公平调度(drf),并要求任务所有者提供准确的计算节点/参数服务器节点的数量和训练时间,并且忽略带宽成本和任务对响应延迟的异构敏感性。边缘网络的相关工作主要是研究其他问题,如卸载问题或开发新的训练算法。由于udl任务在边缘训练的独特特性,需要确定udl任务每一时隙的执行时间窗口、训练数据量、计算节点和参数服务器节点的部署数量和位置以及数据传输,以实现响应延迟和带宽成本最小化。
5.但即使实在离线的情况下(即所有信息已知),总训练成本最小化问题也是一个属于np

hard的混合整数非线性问题。当udl任务在线到达时,挑战进一步升级,并且需要在不提供任何未来任务信息的情况下确定当前调度决策。


技术实现要素:

6.为了解决上述问题,本发明提供了一种有效的启发式无偏分布式机器学习任务调
度系统及方法。udl任务到达后在每个时隙计算确定该时隙执行时间窗口、训练数据量、计算节点和参数服务器节点的部署数量和位置以及数据传输。首先对问题进行建模(建模为混合整数非线性问题),然后基于经典的贪心算法框架来决定任务的部署和数据传输。
7.本发明的系统所采用的技术方案是:一种面向边缘无线网络中udl任务的在线调度系统,包括边缘分布式机器学习子系统、站点、udl任务;
8.所述边缘分布式机器学习子系统,由r个跨区域分布的站点组成;
9.所述站点,为一个边缘服务器或一个小型边缘云;每个站点r能够提供数量的k类资源,并通过无线网络与其它站点连接通信,站点r与站点r

之间的单位带宽成本为q
rr

;每个站点r收集并为udl任务i提供训练数据块,每一数据块的大小为θ
i
mb;其中,资源类型的数量记为k,每一资源类型k∈[k];表示站点r为任务i收集的训练数据块的数量,即初始的训练数据块数量;
[0010]
所述udl任务,每个udl任务i在a
i
时隙到达并请求训练;该任务申请一个计算节点或参数服务器节点需要占用或单位的k类资源;每个计算节点的处理能力为p
i
;每个数据块需要训练e
i
个轮次;每时隙一个计算节点与一个参数服务器节点参数交换的大小为λ
i
mb;其中,表示任务申请一个计算节点需要占用的k类资源数量;表示任务申请一个计算参数服务器节点需要占用的k类资源数量。
[0011]
本发明的方法所采用的技术方案是:一种面向边缘无线网络中udl任务的在线调度方法,首先将响应延迟转化为一个非减成本函数表示udl任务i的完成时间,a
i
表示任务i的到达时间;并将udl任务i的训练总带宽成本定义为其数据传输成本和参数交换成本之和b
i
,将总训练成本最小化问题建模为混合整数非线性问题然后,udl任务到达后在每个时隙计算确定该时隙执行时间窗口、训练数据量、计算节点和参数服务器节点的部署数量和位置以及数据传输;
[0012]
其中,
[0013]
上式中,t为系统中时隙数量,每一时隙t∈[t];r为系统中站点数量,每一站点r∈[r];q
rr

为站点r与站点r

之间的单位带宽成本;θ
i
为任务i单个数据块的大小;为在时隙t,任务i从站点r传输到站点r

的数据块的数量;λ
i
为任务i每时隙一个计算节点与一个参数服务器节点参数交换的大小;为在时隙t,任务i在站点r部署计算节点的数量;为在时隙t,任务i是否在站点r部署参数服务器节点;
[0014]
的约束条件为:
[0015][0016][0017][0018]
[0019][0020][0021][0022]
上式中,i为系统中任务数量,每一任务i∈[i];为站点r为任务i收集的训练数据块的数量;p
i
为任务i单个计算节点的处理能力;表示任务申请一个计算节点需要占用的k类资源数量;表示任务申请一个计算参数服务器节点需要占用的k类资源数量;为站点r中k类资源的容量;k为站点资源类型的数量,每一资源类型k∈[k]。
[0023]
相对于现有技术,本发明的有益效果是:在对问题进行建模时,关注于udl任务在边缘训练的独特特征(训练数据分布在所有跨区域站点上,计算节点和参数服务器节点之间频繁发生通信),通过调度部署设计实现了在udl任务在线到达的情况下(不知道任何未来任务信息),最小化响应延迟(训练时间)的同时降低边缘无线网络中跨区域分布站点间昂贵的带宽成本。边缘机器学习系统可根据本发明确定udl任务的部署和数据传输,以谋得最小化总训练成本。本发明结合了线性规划建模,经典的贪心算法等,从理论上证明了其正确性和多项式运行时间。本发明的方法较于功能相同的算法更高效。
附图说明
[0024]
图1为本发明实施例的流程图。
[0025]
图2为本发明实施例的竞争比实验结果图,其中2(a)为本发明实施例在不同的站点数量和任务数量下所得的竞争比图;2(b)为本发明实施例和其他现有算法在不同的站点数量和任务数量下所得的竞争比对比图;
[0026]
图3为本发明实施例的总成本实验结果图,其中3(a)和3(b)分别为本发明实施例和其他现有算法在不同的站点数量和任务数量下训练所有任务需要的总成本对比图;3(c)为本发明实施例和其他现有算法在不同响应延迟成本函数类型下训练所有任务需要的总成本对比图;
[0027]
图4为本发明实施例的运行时间实验结果图,4(a)和4(b)分别为本发明实施例在不同的站点数量和任务数量下计算系统中所有任务训练所花费的时间图。
具体实施方式
[0028]
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0029]
本发明提供的一种面向边缘无线网络中udl任务的在线调度系统,包括边缘分布式机器学习子系统、站点、udl任务;
[0030]
本实施例的边缘分布式机器学习子系统:由r个跨区域分布的“站点”组成,一个“站点”可以是一个边缘服务器或一个小型边缘云。
[0031]
本实施例的站点(r):每个站点r能够提供数量的k类资源,并通过无线网络与其它站点连接通信,站点r与站点r

之间的单位带宽成本为q
rr

;每个站点r收集并为udl任务i
提供训练数据块,每一数据块的大小为θ
i
mb。k表示资源类型的数量。[x]表示整数集合{1,2,

,x}。
[0032]
本实施例的udl任务(i):每个任务i在a
i
时隙到达并请求训练;该任务申请一个计算节点(参数服务器节点)需要占用单位的k类资源;每个计算节点的处理能力为p
i
;每个数据块需要训练e
i
个轮次;每时隙一个计算节点与一个参数服务器节点参数交换的大小为λ
i
mb。
[0033]
本实施例的在一个较长时间范围[t]内,i个udl任务在线随机到达并请求进行训练。中央调度程序需要调度确定udl任务的部署和数据传输来平衡响应延迟和带宽消耗,以最小化总训练成本。
[0034]
在本实施例中,设置了系统中有50个站点,100个任务随机在150个时隙内到达。站点之间的单位带宽成分布在[2,8]每100mb。每个计算节点的资源需求配置如下:0

4个gpu,1

10个vcpu,2

32gb的ram,以及5

10gb的hdd。每个参数服务器节点的资源需求配置如下:1

10个vcpu,2

32gb的ram,以及5

10gb的hdd。此外,每个站点的初始训练数据块数量、单个计算节点的处理能力和参数交换大小的选择范围分别为[10,20],[5,15],[30,375]mb。
[0035]
请见图1,本发明提供的一种面向边缘无线网络中udl任务的在线调度方法,首先将响应延迟转化为一个非减成本函数表示udl任务i的完成时间,a
i
表示任务i到达时间;并将udl任务i训练总带宽成本定义为其数据传输成本和参数交换成本之和b
i
,将总训练成本最小化问题建模为混合整数非线性问题然后,udl任务到达后在每个时隙计算确定该时隙执行时间窗口、训练数据量、计算节点和参数服务器节点的部署数量和位置以及数据传输;
[0036]
在本实施例中,成本函数函数式为设置为以下三种类型:
[0037]

s型函数(默认):f(t)=τe
0.25t

[0038]

线性函数:f(t)=τt b;
[0039]

分段函数:
[0040]
上式中,f
i
=f,τ,b,τ1,τ2,c是相关函数与延迟相关的常数参数。
[0041]
具有线性成本函数的任务通常对延迟敏感,其成本随着响应延迟的增加而线性增加。与硬期限相关联的任务可以用分段函数来表示响应延迟成本:如果在硬期限c内完成,则所需成本较低(τ1),反之需要一个较高的成本(τ2)。s型成本函数可以被视为线性函数和分段函数的混合,是为实际中最常见的类型。
[0042][0043]
上式中,t为系统中时隙数量,每一时隙t∈[t];r为系统中站点数量,每一站点r∈[r];q
rr

为站点r与站点r

之间的单位带宽成本;θ
i
为任务i单个数据块的大小;为在时隙t,任务i从站点r传输到站点r

的数据块的数量;λ
i
为任务i每时隙一个计算节点与一个参数服务器节点参数交换的大小;为在时隙t,任务i在站点r部署计算节点的数量;为在时隙t,任务i是否在站点r部署参数服务器节点;
[0044]
在本实施例中,的约束条件为:
[0045][0046][0047][0048][0049][0050][0051][0052]
上式中,i为系统中任务数量,每一任务i∈[i];为站点r为任务i收集的训练数据块的数量;p
i
为任务i单个计算节点的处理能力;表示任务申请一个计算节点需要占用的k类资源数量;表示任务申请一个计算参数服务器节点需要占用的k类资源数量;为站点r中k类资源的容量;k为站点资源类型的数量,每一资源类型k∈[k]。[x]表示整数集合{1,2,

,x}。
[0053]
本发明的目的是,确定任务的运行窗口、部署(和)和数据传输(),以最小化总训练成本。约束条件(2a)保证任务i总传输的数据量等于其需要训练数据块的数量,特别的,数据表示时隙t在站点r的本地训练数据块的数量,即调度后时隙t在站点r进行训练,无需进行传输的数据块数量。约束条件(2b)保证时隙t中任务i部署在站点r

的计算节点能够对分配给该站点的数据进行e
i
轮次的处理。约束条件(2c)表示每个任务仅分配部署一个参数服务器节点。约束条件(2d)保证每时隙部署的计算节点和参数服务器节点所占用资源总量不超过系统资源容量。约束条件(2e)定义了任务i的完成时间。约束条件(2f)表示变量和的取值为整数。约束条件(2g)保障变量的取值只能为0和1。
[0054]
在本实施例中,udl任务i在时隙a
i
到达后,中央调度程序每一时隙所做的决策包括:

一个二值变量,表示在时隙t,任务i是否在站点r部署参数服务器节点,部署时取值为1,否则为0;

表示在时隙t,任务i在站点r部署计算节点的数量;

表示在时隙t,任务i从站点r传输到站点r

的数据块数量。
[0055]
在本实施例中,udl任务到达后在每个时隙计算确定该时隙执行时间窗口、训练数据量、计算节点和参数服务器节点的部署数量和位置以及数据传输;
[0056]
具体实现包括以下子步骤:
[0057]
步骤1:从t=0,系统开始进行任务训练;
[0058]
步骤2:udl任务在线到达;
[0059]
步骤3:收集当前时隙新到达的任务,将其加入未完成任务集合[j
a
];
[0060]
步骤4:对集合[j
a
]中的每一任务进行预处理,不考虑其余任务的情况下得到成本最小的暂定调度方案;
[0061]
在本实施例中,收集当前时隙新到达的任务,将其加入未完成任务集合[j
a
]并对该集合中的每一任务进行预处理,即不考虑其余任务枚举该任务每个时隙分配部署计算节点的数量,以处理定义任务完成时间的非常规约束(2e)限制并将通过一系列单时隙问题得到该计算节点部署数量下的最小成本。随后比较不同部署数量下的成本并选择最小的作为暂定调度方案。
[0062]
具体实现包括以下子步骤:
[0063]
步骤4.1:枚举该任务每个时隙分配部署计算节点的数量;
[0064]
步骤4.2:对于已确定计算节点部署总数量的单时隙问题,将任务计算节点和参数服务器节点部署问题建模为整数线性规划问题(ilp);
[0065]
在本实施例中,整数线性规划问题为:
[0066][0067]
约束条件为:
[0068][0069][0070][0071][0072][0073]
上式中,n
i
为任务i每一时隙部署的计算节点数量;当前时隙t任务i可用的k类资源的数量,即类资源的数量,即为在时隙t,任务i是否在站点r部署参数服务器节点。
[0074]
该问题在不超过资源容量的条件下,确定任务部署,以最小化参数交换的带宽成本。约束条件(5a)保证时隙t中任务i部署的计算节点数量不少于所要求的总数量。约束条件(5b)和(5c)分别等效于约束条件(2d)和(2c),约束条件(5b)中的变量表示当前时隙t任务i可用的k类资源的数量,即约束条件(5d)表示变量的取值为整数。约束条件(5e)保障变量的取值只能为0和1。此外,π(
·
)是一个指标函数,当满足输入的条件时为1,否则为0。
[0075]
为解决这一问题,枚举参数服务器节点可能部署的位置,并在确定参数服务器节点的部署后根据一个精心设计的部署指标以贪心的方式来选择部署计算节点的站点。
[0076]
步骤4.3:枚举参数服务器节点可能部署的位置并根据一个精心设计的部署指标贪心地确定每个站点部署计算节点的数量;
[0077]
在本实施例中,部署指标定义为:
[0078]
[0079]
上式中,为站点r中可用k类资源的容量;为站点r中k类资源的容量;为在时隙t,任务i在站点r剩余数据块的数量;表示站点r为任务i收集的训练数据块的数量,即初始的训练数据块数量;β1为k类资源中平均可分配资源权重的比例因子,β2为站点r到其余站点的平均单位带宽成本权重的比例因子,β3为站点r剩余训练数据量权重的比例因子。
[0080]
指标的值越大则表示该站点r拥有更多的可用资源,更小的平均带宽成本和更多的本地未训练数据。根据指标以递减的顺序对计算节点可部署的站点进行排序。在不违反约束条件(5a)和(5b)的同时尽可能多的选择部署计算节点的数量。比较当前部署的参数交换成本(l
i
为任务i剩余训练时长),并当满足计算节点数量的要求时更新成本以及保存当前调度。
[0081]
步骤4.4:在部署不变的情况下,计算出时隙t所有站点的训练数据量如果存在站点本地剩余训练数据量不满足所分配的训练数据量时,就会发生数据传输;将最小化数据传输所需带宽成本的子问题构建为整数线性规划问题,并按照带宽成本最小的原则,贪心地从其余训练数据充足的站点收集数据,方法同步骤6;
[0082]
步骤5:根据一个精心设计的优先级指标计o
i
(t)计算每个任务的优先级并根据优先级对未完成任务排序;按序确定任务最终部署方案,包括:
[0083]
资源充足时,则执行下述步骤6;
[0084]
资源不足时,优先级低的任务分别计算迁移计算节点和参数服务器节点的部署的成本以及延后训练的成本,比较得到成本较小的方案并更新该任务的部署和其中,表示在时隙t,任务i在站点r部署计算节点的数量;表示在时隙t,任务i是否在站点r部署参数服务器节点;
[0085]
在本实施例中,优先级指标计o
i
(t)定义为:
[0086][0087]
上式中,τ
i
为任务i响应延迟成本函数的参数;a
i
为任务i到达时间;为在时隙t,任务i在站点r剩余数据块的数量;[j
a
]为未完成任务集合;表示站点r为任务i收集的训练数据块的数量,即初始的训练数据块数量;α1为任务i响应延迟成本函数相关因素权重的比例因子,α2为任务i剩余训练数据量权重的比例因子。
[0088]
指标o
i
(t)越大,则说明任务i的时间敏感性越大、等待时间越久以及越快能结束计算完成任务,那么在发生资源占用冲突时,应享有占用优先权。当出现资源不足时,优先级低的任务分别计算迁移计算节点和参数服务器节点的部署的成本以及保持调度方案不变延后任务训练的成本,比较得到成本较小的方案并更新该任务的部署(和)。
[0089]
步骤6:根据每个站点部署的计算节点的数量,计算出时隙t所有站点的训练数据量将最小化数据传输所需带宽成本的子问题构建为整数线性规划问题,并按照带宽成本最小的原则,贪心地从其余训练数据充足的站点收集数据;
[0090]
在本实施例中,整数线性规划问题为:
[0091][0092]
约束条件为:
[0093][0094][0095]
上式中,为在时隙t,任务i在站点r

所需训练数据块的数量;为在时隙t

1,任务i在站点r

剩余数据块的数量。
[0096]
约束条件(7a)保证从其它站点传输过来的数据块数量(包括该站点本地剩余的数据块数量)不少于该站点在时隙t所需训练数据块的数量。约束条件(7b)表示变量的取值为整数。
[0097]
为解决这一问题,当站点本地剩余的数据量不能满足调度后所分配的数量,需要进行数据传输。根据单位带宽成本以增加的顺序对所有站点进行排序,贪心地从仍旧拥有充足数据量的站点获取数据并保证不过度传输。
[0098]
步骤7:通过任务的剩余数据量判断任务是否完成全部训练;
[0099]
若是,则移出集合[j
a
],并执行下述步骤8;
[0100]
若否,则执行下述步骤8;
[0101]
步骤8:判断集合[j
a
]中的任务是否均确定调度方案;
[0102]
若是,则t=t 1,并回转执行下述步骤2;
[0103]
若否,则回转执行步骤5,计算下一个序号任务的调度方案。
[0104]
本发明研究了边缘无线网络中udl任务的调度设计问题。通过研究如何进行udl任务的部署和在线数据传输,以实现最小化延迟成本和带宽成本,且保证了算法的正确性且能在多项式时间内完成,比一般算法更加高效。
[0105]
请见图2,为本发明实施例的竞争比实验结果图,其中2(a)为本发明实施例在不同的站点数量和任务数量下所得的竞争比图;2(b)为本发明实施例和其他现有算法在不同的站点数量和任务数量下所得的竞争比对比图;请见图3,为本发明实施例的总成本实验结果图,其中3(a)和3(b)分别为本发明实施例和其他现有算法在不同的站点数量和任务数量下训练所有任务需要的总成本对比图;3(c)为本发明实施例和其他现有算法在不同响应延迟成本函数类型下训练所有任务需要的总成本对比图;图4为本发明实施例的运行时间实验结果图,4(a)和4(b)分别为本发明实施例在不同的站点数量和任务数量下计算系统中所有任务训练所花费的时间图。图中,number of sites(s),为该次实验中站点数量;number of jobs(i),为该次实验中任务数量;performance ratio,为竞争比,一个最小化问题的算法a的竞争比=算法a计算所得解的目标值/由最优算法返回的目标值;total cost,为系统训练任务的总成本;running time,为算法处理相应规模的系统任务训练所花费的时间;sigmoid function,为s型延迟成本函数;linear function,为线型延迟成本函数;piecewise function,为分段型延迟成本函数;okita,为本发明的算法名;oasis,为一个对比算法;drf,为一个对比算法;fifo,为一个对比算法。
[0106]
从图2可以看出,本发明实施例的竞争比较小,且相对稳定(<1.8);与其它现有算法相比,本发明实施例的竞争比是最小的,即得到的解更接近于最优解。
[0107]
从图3可以看出,本发明实施例表现优于其它对比算法,并且在大规模数据设置下,优势更明显;在不同的响应延迟成本函数下,本发明实施例所需的总成本总是最小,说明本发明实施例表现均更优。
[0108]
从图4可以看出,本发明实施例的运行时间随着任务/站点数量的增加而增加,但在如图所示规模的输入中仍然保持在一个较快的时间内完成(<50s)。
[0109]
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献