一种基于边缘计算的深度学习推理任务调度方法与流程

文档序号:33029392发布日期:2023-01-20 20:25阅读:57来源:国知局
一种基于边缘计算的深度学习推理任务调度方法与流程

1.本发明涉及边缘计算领域,具体涉及一种基于边缘计算的深度学习推理任务调度方法。


背景技术:

2.随着深度学习的发展,基于深度神经网络(dnn)的应用成为了人们日常生活中不可或缺的一部分。深度学习推理精确度越来越高,深度神经网络的规模也越来越大,设备终端资源有限,无法完成延迟需求较高的大规模神经网络推理任务。同时,终端设备突增带来的数据爆炸现象使得云计算解决方案难以维持。5g与边缘计算的发展,使得低延迟的深度学习推理任务成为可能。高质量的深度学习推理服务不仅要求较高的推理精度,而且需要满足不同的时延需求。考虑到多任务多边缘服务器场景下,由于不同任务对延迟、资源等需求不同,边缘服务器簇需要进行合理的协同任务调度以满足不同用户的需求。传统的任务调度算法,如max-min算法、min-min算法、自适应分段算法、先到先得算法和最小完成时间算法,以最小化处理延迟为目标,但是它们很容易导致节点间的负载不平衡问题。启发式算法在边缘任务调度中也得到应用,其主要目标是求问题的最优解,如遗传算法、蚁群优化算法、粒子群优化算法等,但是无法保证解的全局最优。混合算法将多种优化算法将多种优化算法融合,以解决最优化问题,但是其执行时间过长,无法满足延迟需求较高的服务需求。因此,在利用边缘服务器进行深度学习推理时,如何对任务进行合理调度以满足不同任务的需求是一个值得研究且具有实际应用价值的问题。


技术实现要素:

3.为解决上述技术问题,本发明提供一种基于边缘计算的深度学习推理任务调度方法。
4.为解决上述技术问题,本发明采用如下技术方案:一种基于边缘计算的深度学习推理任务调度方法,包括以下步骤:步骤一、根据边缘服务器之间的通信时延对边缘服务器进行分簇,得到边缘服务器簇;边缘服务器簇中具有p台边缘服务器,,根据边缘服务器簇各边缘服务器计算能力强弱构建边缘服务器优先队列,计算能力越强的边缘服务器在边缘服务器优先队列中越靠前;边缘服务器的属性表示为:;其中表示边缘服务器的计算能力,表示边缘服务器的状态,表示边缘服务器繁忙,表示边缘服务器空闲;表示边缘服务器的内存大小;步骤二:当边缘设备发出的个待处理的深度神经网络推理任务到达边缘服务器簇后,根据任务类型计算深度神经网络推理任务的任务优先级,进而构建任务优先队列;
步骤三:当边缘服务器簇中有边缘服务器空闲且任务优先队列不为空时,持续判断空闲的边缘服务器是否能满足任务优先队列中队头的深度神经网络推理任务的内存需求,如是,即,执行步骤三a;如否,即,执行步骤三b;直至任务优先队列为空;其中,为属于任务类型的深度神经网络推理任务的内存需求,为深度神经网络推理任务的任务类型;为边缘服务器的内存大小;步骤三a:根据深度神经网络推理任务的优先级进行资源分配:设为深度神经网络推理任务的优先级阈值,为深度神经网络推理任务的优先级,当时,深度神经网络推理任务为紧急任务,选取边缘服务器优先队列中计算能力最强且空闲的边缘服务器作为紧急任务的卸载服务器,并进行服务卸载;当时,计算深度神经网络推理任务在边缘服务器簇内各个边缘服务器的运行时间,选择边缘服务器簇中能够使得深度神经网络推理任务在最迟响应时间之前完成的边缘服务器,构建集合,为使得深度神经网络推理任务在最迟响应时间之前完成的边缘服务器的总数量,随机从集合中选择一个边缘服务器作为卸载服务器,即,为随机函数;深度神经网络推理任务卸载完成以后,将从任务优先队列中移除;步骤三b:将深度神经网络推理任务移动至任务优先队列的队尾。
5.具体地,步骤一中根据边缘服务器之间的通信时延对边缘服务器进行分簇时,设置边缘服务器之间的通信延迟阈值,当边缘服务器之间的平均通信时延低于通信延迟阈值时,将边缘服务器分为同一边缘服务器簇。
6.具体地,步骤二中,根据任务类型计算深度神经网络推理任务的任务优先级,进而构建任务优先队列时,用表示待处理的深度神经网络推理任务的集合,,第n个深度神经网络推理任务的参数表示如下:;其中,为深度神经网络推理任务的优先级,;为深度神经网络推理任务需传输的数据量;为深度神经网络推理任务的任务类型,,至为所有的任务类型选项;为深度神经网络推理任务传输至边缘服务器簇后处于任务调度队列的等待时间;为深度神经网络推理任务数据从
边缘设备传输至边缘服务器簇的链路传输带宽;为属于任务类型的深度神经网络推理任务的最迟响应时间;为属于任务类型的深度神经网络推理任务的基础权重,;为属于任务类型的深度神经网络推理任务在单位时间内的请求频率;为属于任务类型的深度神经网络推理任务的内存需求。
7.具体地,步骤三a中,计算深度神经网络推理任务在边缘服务器簇内各个边缘服务器的运行时间时,在边缘服务器的运行时间计算公式如下:;边缘服务器的运行时间为边缘设备将深度神经网络推理任务的数据发送至边缘服务器的传输时间、任务等待时间及任务计算时间之和;其中,为数据传输速率极限值;表示边缘服务器的计算能力。
8.与现有技术相比,本发明的有益技术效果是:(1)通过对不同任务类型制定不同的优先级,保证能够满足延迟需求较高的任务的需求。(2)另外,由于边缘服务器与云数据中心不同,其硬件设备是千差万别的,各个边缘服务器的算力各不相同,根据计算能力构建边缘服务器优先队列,保证任务能够在最迟响应之前完成。(3)通过设计基于优先级的改进max-min算法对任务进行调度,保证了任务的响应时间,同时,引入了优先度阈值,当任务为紧急任务时,算法会将计算能力强的边缘服务器分配给该任务,保证了对延迟要求高的深度神经网络推理任务能够在最快的时间内完成推理。(4)由于深度神经网络推理任务对计算资源需求较高,边缘设备计算资源有限,根据传输时间对边缘服务器进行分簇,划分区域,簇内边缘服务器共同为区域内的边缘设备提供服务,提高了边缘服务器的资源利用率,降低了高访问量边缘服务器的压力。
9.相比于传统的任务调度方法,本发明在最小化响应时间的同时,考虑到了边缘服务器的负载均衡以及深度神经网络推理任务的不同响应时间需求,方案通过更短的响应时间、负载均衡、较低的算法复杂度提供更好的推理服务。
附图说明
10.图1本发明基于优先级的改进max-min任务调度算法示意图。
具体实施方式
11.下面结合附图对本发明的一种优选实施方式作详细的说明。
12.在边缘计算场景下,边缘服务器簇为其范围内的多个用户提供服务,边缘服务器簇需要处理大量多类型的深度神经网络推理任务。首先,边缘服务器与云数据中心不同,其硬件差异千差万别,各个边缘服务器的芯片不同,设计芯片异构的深度神经网络推理平台
时,需要保证模型能够在不同的硬件条件下正常、精确运行。其次,由于边缘服务器簇资源、带宽有限,对于大量不同类型的深度神经网络推理任务需要进行合理的任务调度,本发明采用基于优先级的改进max-min算法,在保证深度学习推理系统能够满足不同优先度的任务的需求的同时,优化max-min算法带来的资源利用不均衡问题,对资源进行合理调度,满足不同深度神经网络推理任务。调度方法具体描述如下。
13.(1)任务优先队列构建在本发明中,将边缘服务器分为若干边缘服务器簇,边缘服务器簇内的各边缘服务器共享资源,并协同为边缘服务器簇范围内的用户提供服务。由于不同的深度神经网络推理任务对延迟、内存、计算资源等需求不同,根据服务的类型及服务协议为深度神经网络推理任务设置任务优先级,任务优先级为重要的任务调度参数。
14.设定边缘服务器簇共有个待处理的深度神经网络推理任务,用表示待处理的深度神经网络推理任务的集合,,其中。对于第n个深度神经网络推理任务,其具体的信息参数表示如下:;其中,为深度神经网络推理任务的优先级,;为深度神经网络推理任务需传输的数据量;为深度神经网络推理任务的任务类型,,至为所有的任务类型选项;为深度神经网络推理任务传输至边缘服务器簇后处于任务调度队列的等待时间;为深度神经网络推理任务数据从边缘设备传输至边缘服务器簇的链路传输带宽;为属于任务类型的深度神经网络推理任务的最迟响应时间;为属于任务类型的深度神经网络推理任务的基础权重,;为属于任务类型的深度神经网络推理任务在单位时间内的请求频率;为属于任务类型的深度神经网络推理任务的内存需求。
15.深度神经网络推理任务的优先级由任务类型、任务等待时间决定。任务类型通过任务性质决定了深度神经网络推理任务的基础权重,即深度神经网络推理任务的基础优先级;同时,深度神经网络推理任务单位时间内的请求频率影响任务的基础权重,单位时间内的请求频率越高,说明该任务类型的深度神经网络推理任务的请求量越大,基础权重就越高。深度神经网络推理任务的等待时间越长,为了保证在最迟截至时间之前完成,深度神经网络推理任务的优先级就越高。根据优先级构建任务优先队列,当有资源空闲时更新任务优先队列。
16.(2)边缘服务器优先队列构建设在边缘服务器簇中共有p台边缘服务器,用表示边缘服务器簇,则
。边缘服务器的属性表示为:;其中:表示边缘服务器的计算能力;表示边缘服务器繁忙,表示边缘服务器空闲;表示边缘服务器的内存大小。按照边缘服务器簇内各边缘服务器计算能力强弱构建边缘服务器优先队列,计算能力越强的边缘服务器在边缘服务器优先队列中越靠前。
17.(3)任务调度算法根据深度神经网络推理任务优先级构建任务优先队列,当边缘服务器簇中有边缘服务器空闲且任务优先队列不为空时,更新任务优先队列,并进行任务调度,任务优先队列中的深度神经网络推理任务按照优先顺序进行调度,位于任务优先队列队头的深度神经网络推理任务记为:若空闲的边缘服务器不能满足深度神经网络推理任务的需求,则将深度神经网络推理任务移动至优先队列队尾,继续执行(3)中的任务调度算法;若空闲的边缘服务器能够满足深度神经网络推理任务的需求,则根据深度神经网络推理任务的优先级进行资源分配:设为深度神经网络推理任务的优先级阈值,为深度神经网络推理任务的优先级,当时,深度神经网络推理任务为紧急任务,选取边缘服务器优先队列中计算能力最强且空闲的边缘服务器作为紧急任务的卸载服务器,并进行服务卸载,满足 ;当时,计算深度神经网络推理任务在边缘服务器簇内各个边缘服务器的运行时间,其中,在边缘服务器的运行时间计算公式如下:;边缘服务器的运行时间为边缘设备将深度神经网络推理任务的数据发送至边缘服务器的传输时间、任务等待时间及任务计算时间之和。其中,当边缘设备请求深度神经网络推理服务时,假设边缘服务器簇已进行任务卸载,即边缘服务器簇中的任何边缘服务器均部署边缘设备请求的深度神经网络推理服务,边缘设备仅需将待处理的深度神经网络推理任务数据传输至边缘服务器簇即可,为数据传输速率极限值。选择边缘服务器簇中能够使得深度神经网络推理任务在最迟响应时间之前完成的边缘服务器:,
其中,为使得深度神经网络推理任务在最迟响应时间之前完成的边缘服务器的总数量;构建集合;随机从集合中选择一个边缘服务器作为卸载服务器,即,为随机函数;深度神经网络推理任务卸载完成以后,将从任务优先队列中移除,并更新任务优先队列及边缘服务器优先队列,继续(3)中的任务调度算法。任务计算完成后,计算结果通过边缘服务簇中最接近边缘设备的边缘服务器返回至边缘设备。
18.实施例本发明中深度学习推理任务调度方法包括边缘服务器分簇、任务优先队列构建、边缘服务器优先队列构建、基于优先级的改进max-min任务调度;具体分为以下几个步骤:s1、边缘服务器分簇:本发明可以根据边缘服务器地理位置、通信时延及综合计算能力对边缘服务器进行分簇,例如通过对地理区域内的边缘服务器之间的通信时延进行测试、边缘设备的密度以及对边缘服务器簇的计算能力进行评估,划分边缘服务器簇,使得边缘服务器簇能够满足簇区域内的边缘设备的深度神经网络推理请求。本实施例中,设置边缘服务器之间的通信延迟阈值,当边缘服务器之间的平均通信时延低于该阈值时(通常由按地理位置决定),将边缘服务器分为同一簇。
19.s2、任务优先队列构建:首先,在任务调度之前,本发明构建任务类型属性,对不同的任务类型设定最迟响应时间、计算能力、内存需求。边缘设备进行任务请求时,将任务类型及待处理数据传输至边缘服务器簇,任务请求到达边缘服务器簇之后,根据任务类型计算任务优先级,进而构建任务优先队列。
20.s3、边缘服务器优先队列构建:对边缘服务器进行分簇之后,边缘服务器簇各边缘服务器计算能力强弱构建边缘服务器优先队列。
21.s4、基于优先级的改进max-min任务调度:在本发明中,边缘服务器优先队列及任务优先队列构建完毕之后,当边缘服务器簇内有边缘服务器属于空闲状态时,进行任务调度。任务调度时,根据优先级将深度神经网络推理任务分为紧急任务和普通任务,选取边缘服务器优先队列中计算能力最强且空闲的边缘服务器作为紧急任务的卸载服务器并进行服务卸载,随机选择边缘服务器簇中能够使普通任务在最迟响应时间之前完成的边缘服务器作为普通任务的卸载服务器。当深度神经网络推理任务执行完毕,将该深度神经网络推理任务从任务优先队列中移除,并更新任务优先队列以及边缘服务器优先队列;同时,将该深度神经网络推理任务的执行结果传回边缘设备。
22.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权
利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
23.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立技术方案,说明书的这种叙述方式仅仅是为了清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1