CN115629865B - 一种基于边缘计算的深度学习推理任务调度方法 - Google Patents

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

Info

Publication number
CN115629865B
CN115629865B CN202211638240.5A CN202211638240A CN115629865B CN 115629865 B CN115629865 B CN 115629865B CN 202211638240 A CN202211638240 A CN 202211638240A CN 115629865 B CN115629865 B CN 115629865B
Authority
CN
China
Prior art keywords
task
neural network
deep neural
edge
edge server
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
Application number
CN202211638240.5A
Other languages
English (en)
Other versions
CN115629865A (zh
Inventor
卢汉成
杨文涛
施钱宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Artificial Intelligence of Hefei Comprehensive National Science Center
Original Assignee
Institute of Artificial Intelligence of Hefei Comprehensive National Science Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Artificial Intelligence of Hefei Comprehensive National Science Center filed Critical Institute of Artificial Intelligence of Hefei Comprehensive National Science Center
Priority to CN202211638240.5A priority Critical patent/CN115629865B/zh
Publication of CN115629865A publication Critical patent/CN115629865A/zh
Application granted granted Critical
Publication of CN115629865B publication Critical patent/CN115629865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及边缘计算领域,公开了一种基于边缘计算的深度学习推理任务调度方法,包括边缘服务器分簇、任务优先队列构建、边缘服务器优先队列构建、基于优先级的改进Max‑Min任务调度,在保证深度学习推理任务精确执行的同时,满足不同优先级的任务需求。

Description

一种基于边缘计算的深度学习推理任务调度方法
技术领域
本发明涉及边缘计算领域,具体涉及一种基于边缘计算的深度学习推理任务调度方法。
背景技术
随着深度学习的发展,基于深度神经网络(DNN)的应用成为了人们日常生活中不可或缺的一部分。深度学习推理精确度越来越高,深度神经网络的规模也越来越大,设备终端资源有限,无法完成延迟需求较高的大规模神经网络推理任务。同时,终端设备突增带来的数据爆炸现象使得云计算解决方案难以维持。5G与边缘计算的发展,使得低延迟的深度学习推理任务成为可能。高质量的深度学习推理服务不仅要求较高的推理精度,而且需要满足不同的时延需求。考虑到多任务多边缘服务器场景下,由于不同任务对延迟、资源等需求不同,边缘服务器簇需要进行合理的协同任务调度以满足不同用户的需求。传统的任务调度算法,如Max-Min算法、Min-Min算法、自适应分段算法、先到先得算法和最小完成时间算法,以最小化处理延迟为目标,但是它们很容易导致节点间的负载不平衡问题。启发式算法在边缘任务调度中也得到应用,其主要目标是求问题的最优解,如遗传算法、蚁群优化算法、粒子群优化算法等,但是无法保证解的全局最优。混合算法将多种优化算法将多种优化算法融合,以解决最优化问题,但是其执行时间过长,无法满足延迟需求较高的服务需求。因此,在利用边缘服务器进行深度学习推理时,如何对任务进行合理调度以满足不同任务的需求是一个值得研究且具有实际应用价值的问题。
发明内容
为解决上述技术问题,本发明提供一种基于边缘计算的深度学习推理任务调度方法。
为解决上述技术问题,本发明采用如下技术方案:
一种基于边缘计算的深度学习推理任务调度方法,包括以下步骤:
步骤一、根据边缘服务器之间的通信时延对边缘服务器进行分簇,得到边缘服务 器簇;边缘服务器簇
Figure 444153DEST_PATH_IMAGE001
中具有p台边缘服务器,
Figure 138439DEST_PATH_IMAGE002
,根据边缘服务器 簇
Figure 117897DEST_PATH_IMAGE001
各边缘服务器计算能力强弱构建边缘服务器优先队列,计算能力越强的边缘服务器在 边缘服务器优先队列中越靠前;边缘服务器
Figure 897634DEST_PATH_IMAGE003
的属性表示为:
Figure 292843DEST_PATH_IMAGE004
;其中
Figure 670997DEST_PATH_IMAGE005
表示边缘服务器
Figure 493460DEST_PATH_IMAGE003
的计算能力,
Figure 760493DEST_PATH_IMAGE006
表示边缘服务器
Figure 21710DEST_PATH_IMAGE003
的状态,
Figure 690589DEST_PATH_IMAGE007
表示边缘服务 器繁忙,
Figure 683952DEST_PATH_IMAGE008
表示边缘服务器空闲;
Figure 500599DEST_PATH_IMAGE009
表示边缘服务器
Figure 237611DEST_PATH_IMAGE003
的内存大小;
步骤二:当边缘设备发出的
Figure DEST_PATH_IMAGE010
个待处理的深度神经网络推理任务到达边缘服务器 簇后,根据任务类型计算深度神经网络推理任务的任务优先级,进而构建任务优先队列;
步骤三:当边缘服务器簇中有边缘服务器空闲且任务优先队列不为空时,持续判 断空闲的边缘服务器
Figure 823313DEST_PATH_IMAGE003
是否能满足任务优先队列中队头的深度神经网络推理任务
Figure 253157DEST_PATH_IMAGE011
的内 存需求,如是,即
Figure 494783DEST_PATH_IMAGE012
,执行步骤三A;如否,即
Figure 330758DEST_PATH_IMAGE013
,执行步骤三B;直至 任务优先队列为空;其中,
Figure 974229DEST_PATH_IMAGE014
为属于任务类型
Figure 309395DEST_PATH_IMAGE015
的深度神经网络推理任务的内存需 求,
Figure 100634DEST_PATH_IMAGE015
为深度神经网络推理任务
Figure 179448DEST_PATH_IMAGE011
的任务类型;
Figure 677426DEST_PATH_IMAGE009
为边缘服务器
Figure 511390DEST_PATH_IMAGE003
的内存大小;
步骤三A:根据深度神经网络推理任务
Figure 462028DEST_PATH_IMAGE011
的优先级进行资源分配:设
Figure 344533DEST_PATH_IMAGE016
为深度神 经网络推理任务的优先级阈值,
Figure 759334DEST_PATH_IMAGE017
为深度神经网络推理任务
Figure 701882DEST_PATH_IMAGE011
的优先级,当
Figure 139817DEST_PATH_IMAGE018
时, 深度神经网络推理任务
Figure 560434DEST_PATH_IMAGE011
为紧急任务,选取边缘服务器优先队列中计算能力最强且空闲 的边缘服务器作为紧急任务的卸载服务器,并进行服务卸载;当
Figure 596785DEST_PATH_IMAGE019
时,计算深度神经 网络推理任务
Figure 710235DEST_PATH_IMAGE011
在边缘服务器簇内各个边缘服务器的运行时间,选择边缘服务器簇中能 够使得深度神经网络推理任务
Figure 635466DEST_PATH_IMAGE011
在最迟响应时间
Figure 922091DEST_PATH_IMAGE020
之前完成的边缘服务器
Figure 983587DEST_PATH_IMAGE021
,构建 集合
Figure 267938DEST_PATH_IMAGE022
Figure 742782DEST_PATH_IMAGE023
为使得深度神经网络推理任务
Figure 770781DEST_PATH_IMAGE011
在最迟响应时间
Figure 952363DEST_PATH_IMAGE020
之前完成的边缘服务器的总数量,随机从集合中选择一个边缘服务器作为卸载服务器
Figure 204353DEST_PATH_IMAGE024
,即
Figure 104176DEST_PATH_IMAGE025
Figure 670287DEST_PATH_IMAGE026
为随机函数;深度神经网络 推理任务
Figure 532807DEST_PATH_IMAGE011
卸载完成以后,将
Figure 893381DEST_PATH_IMAGE011
从任务优先队列中移除;
步骤三B:将深度神经网络推理任务
Figure 280500DEST_PATH_IMAGE011
移动至任务优先队列的队尾。
具体地,步骤一中根据边缘服务器之间的通信时延对边缘服务器进行分簇时,设 置边缘服务器之间的通信延迟阈值
Figure 712619DEST_PATH_IMAGE027
,当边缘服务器之间的平均通信时延低于通信延迟阈 值
Figure 603214DEST_PATH_IMAGE027
时,将边缘服务器分为同一边缘服务器簇。
具体地,步骤二中,根据任务类型计算深度神经网络推理任务的任务优先级,进而 构建任务优先队列时,用
Figure 400269DEST_PATH_IMAGE028
表示待处理的深度神经网络推理任务的集合,
Figure 71422DEST_PATH_IMAGE029
,第n个深度神经网络推理任务
Figure 244914DEST_PATH_IMAGE030
的参数表示如下:
Figure 255595DEST_PATH_IMAGE031
其中,
Figure 285868DEST_PATH_IMAGE032
为深度神经网络推理任务
Figure 382000DEST_PATH_IMAGE030
的优先级,
Figure 93604DEST_PATH_IMAGE033
Figure 522574DEST_PATH_IMAGE034
为深度神 经网络推理任务
Figure 661431DEST_PATH_IMAGE030
需传输的数据量;
Figure 244859DEST_PATH_IMAGE035
为深度神经网络推理任务
Figure 494575DEST_PATH_IMAGE030
的任务类型,
Figure 542165DEST_PATH_IMAGE036
Figure 851924DEST_PATH_IMAGE037
Figure 984965DEST_PATH_IMAGE038
为所有的任务类型选项;
Figure 38372DEST_PATH_IMAGE039
为深度神经网络推理任 务
Figure 878152DEST_PATH_IMAGE030
传输至边缘服务器簇后处于任务调度队列的等待时间;
Figure 421129DEST_PATH_IMAGE040
为深度神经网络推理任 务数据从边缘设备传输至边缘服务器簇的链路传输带宽;
Figure 713570DEST_PATH_IMAGE041
为属于任务类型
Figure 570667DEST_PATH_IMAGE035
的深 度神经网络推理任务的最迟响应时间;
Figure 849243DEST_PATH_IMAGE042
为属于任务类型
Figure 500805DEST_PATH_IMAGE035
的深度神经网络推理任务 的基础权重,
Figure 546121DEST_PATH_IMAGE043
Figure 3647DEST_PATH_IMAGE044
为属于任务类型
Figure 552440DEST_PATH_IMAGE035
的深度神经网络推理任务在单位 时间内的请求频率;
Figure 640482DEST_PATH_IMAGE045
为属于任务类型
Figure 969832DEST_PATH_IMAGE035
的深度神经网络推理任务的内存需求。
具体地,步骤三A中,计算深度神经网络推理任务
Figure 168732DEST_PATH_IMAGE011
在边缘服务器簇内各个边缘服 务器的运行时间时,
Figure 572032DEST_PATH_IMAGE011
在边缘服务器
Figure 830975DEST_PATH_IMAGE003
的运行时间
Figure 647621DEST_PATH_IMAGE046
计算公式如下:
Figure 384633DEST_PATH_IMAGE047
边缘服务器
Figure 908018DEST_PATH_IMAGE003
的运行时间
Figure 901644DEST_PATH_IMAGE048
为边缘设备将深度神经网络推理任务
Figure 877690DEST_PATH_IMAGE011
的数据发 送至边缘服务器的传输时间
Figure 418393DEST_PATH_IMAGE049
、任务等待时间
Figure 124181DEST_PATH_IMAGE050
及任务计算时间
Figure 459347DEST_PATH_IMAGE051
之和;其中
Figure 188269DEST_PATH_IMAGE052
Figure 329400DEST_PATH_IMAGE053
为数据传输速率极限值;
Figure 827378DEST_PATH_IMAGE005
表示边缘服务器
Figure 333445DEST_PATH_IMAGE003
的计算能力。
与现有技术相比,本发明的有益技术效果是:
(1)通过对不同任务类型制定不同的优先级,保证能够满足延迟需求较高的任务的需求。(2)另外,由于边缘服务器与云数据中心不同,其硬件设备是千差万别的,各个边缘服务器的算力各不相同,根据计算能力构建边缘服务器优先队列,保证任务能够在最迟响应之前完成。(3)通过设计基于优先级的改进Max-Min算法对任务进行调度,保证了任务的响应时间,同时,引入了优先度阈值,当任务为紧急任务时,算法会将计算能力强的边缘服务器分配给该任务,保证了对延迟要求高的深度神经网络推理任务能够在最快的时间内完成推理。(4)由于深度神经网络推理任务对计算资源需求较高,边缘设备计算资源有限,根据传输时间对边缘服务器进行分簇,划分区域,簇内边缘服务器共同为区域内的边缘设备提供服务,提高了边缘服务器的资源利用率,降低了高访问量边缘服务器的压力。
相比于传统的任务调度方法,本发明在最小化响应时间的同时,考虑到了边缘服务器的负载均衡以及深度神经网络推理任务的不同响应时间需求,方案通过更短的响应时间、负载均衡、较低的算法复杂度提供更好的推理服务。
附图说明
图1本发明基于优先级的改进Max-Min任务调度算法示意图。
具体实施方式
下面结合附图对本发明的一种优选实施方式作详细的说明。
在边缘计算场景下,边缘服务器簇为其范围内的多个用户提供服务,边缘服务器簇需要处理大量多类型的深度神经网络推理任务。首先,边缘服务器与云数据中心不同,其硬件差异千差万别,各个边缘服务器的芯片不同,设计芯片异构的深度神经网络推理平台时,需要保证模型能够在不同的硬件条件下正常、精确运行。其次,由于边缘服务器簇资源、带宽有限,对于大量不同类型的深度神经网络推理任务需要进行合理的任务调度,本发明采用基于优先级的改进Max-Min算法,在保证深度学习推理系统能够满足不同优先度的任务的需求的同时,优化Max-Min算法带来的资源利用不均衡问题,对资源进行合理调度,满足不同深度神经网络推理任务。调度方法具体描述如下。
(1)任务优先队列构建
在本发明中,将边缘服务器分为若干边缘服务器簇,边缘服务器簇内的各边缘服务器共享资源,并协同为边缘服务器簇范围内的用户提供服务。由于不同的深度神经网络推理任务对延迟、内存、计算资源等需求不同,根据服务的类型及服务协议为深度神经网络推理任务设置任务优先级,任务优先级为重要的任务调度参数。
设定边缘服务器簇共有
Figure 611980DEST_PATH_IMAGE010
个待处理的深度神经网络推理任务,用
Figure 494485DEST_PATH_IMAGE028
表示待处理的深 度神经网络推理任务的集合,
Figure 846969DEST_PATH_IMAGE029
,其中
Figure 350370DEST_PATH_IMAGE054
。 对于第n个深度神经网络推理任务
Figure 788304DEST_PATH_IMAGE030
,其具体的信息参数表示如下:
Figure 208921DEST_PATH_IMAGE031
其中,
Figure 743808DEST_PATH_IMAGE032
为深度神经网络推理任务
Figure 591678DEST_PATH_IMAGE030
的优先级,
Figure 579226DEST_PATH_IMAGE033
Figure 803534DEST_PATH_IMAGE034
为深度神 经网络推理任务
Figure 130610DEST_PATH_IMAGE030
需传输的数据量;
Figure 477277DEST_PATH_IMAGE035
为深度神经网络推理任务
Figure 889804DEST_PATH_IMAGE030
的任务类型,
Figure 652224DEST_PATH_IMAGE036
Figure 397588DEST_PATH_IMAGE037
Figure 852840DEST_PATH_IMAGE038
为所有的任务类型选项;
Figure 752663DEST_PATH_IMAGE039
为深度神经网络推理任 务
Figure 381091DEST_PATH_IMAGE030
传输至边缘服务器簇后处于任务调度队列的等待时间;
Figure 417180DEST_PATH_IMAGE055
为深度神经网络推理任 务数据从边缘设备传输至边缘服务器簇的链路传输带宽;
Figure 43333DEST_PATH_IMAGE041
为属于任务类型
Figure 430452DEST_PATH_IMAGE035
的深 度神经网络推理任务的最迟响应时间;
Figure 596991DEST_PATH_IMAGE042
为属于任务类型
Figure 753166DEST_PATH_IMAGE035
的深度神经网络推理任务 的基础权重,
Figure 550221DEST_PATH_IMAGE056
Figure 221374DEST_PATH_IMAGE044
为属于任务类型
Figure 394866DEST_PATH_IMAGE035
的深度神经网络推理任务在单位 时间内的请求频率;
Figure 405547DEST_PATH_IMAGE045
为属于任务类型
Figure 934355DEST_PATH_IMAGE035
的深度神经网络推理任务的内存需求。
深度神经网络推理任务的优先级由任务类型、任务等待时间决定。任务类型通过任务性质决定了深度神经网络推理任务的基础权重,即深度神经网络推理任务的基础优先级;同时,深度神经网络推理任务单位时间内的请求频率影响任务的基础权重,单位时间内的请求频率越高,说明该任务类型的深度神经网络推理任务的请求量越大,基础权重就越高。深度神经网络推理任务的等待时间越长,为了保证在最迟截至时间之前完成,深度神经网络推理任务的优先级就越高。根据优先级构建任务优先队列,当有资源空闲时更新任务优先队列。
(2)边缘服务器优先队列构建
设在边缘服务器簇中共有p台边缘服务器,用
Figure 30487DEST_PATH_IMAGE001
表示边缘服务器簇,则
Figure 476512DEST_PATH_IMAGE057
。边缘服务器
Figure 669596DEST_PATH_IMAGE003
的属性表示为:
Figure 808453DEST_PATH_IMAGE004
;其中:
Figure 391882DEST_PATH_IMAGE058
表示边缘服务器
Figure 703914DEST_PATH_IMAGE003
的计算能力;
Figure 689188DEST_PATH_IMAGE007
表示边缘服务器繁忙,
Figure 998946DEST_PATH_IMAGE008
表示边缘服 务器空闲;
Figure 131987DEST_PATH_IMAGE009
表示边缘服务器
Figure 185394DEST_PATH_IMAGE003
的内存大小。按照边缘服务器簇内各边缘服务器计算能 力强弱构建边缘服务器优先队列,计算能力越强的边缘服务器在边缘服务器优先队列中越 靠前。
(3)任务调度算法
根据深度神经网络推理任务优先级构建任务优先队列,当边缘服务器簇中有边缘 服务器空闲且任务优先队列不为空时,更新任务优先队列,并进行任务调度,任务优先队列 中的深度神经网络推理任务按照优先顺序进行调度,位于任务优先队列队头的深度神经网 络推理任务记为
Figure 25174DEST_PATH_IMAGE011
若空闲的边缘服务器不能满足深度神经网络推理任务
Figure 69616DEST_PATH_IMAGE011
的需求,则将深度神经网 络推理任务
Figure 362057DEST_PATH_IMAGE011
移动至优先队列队尾,继续执行(3)中的任务调度算法;
若空闲的边缘服务器能够满足深度神经网络推理任务
Figure 219154DEST_PATH_IMAGE011
的需求,则根据深度神经 网络推理任务
Figure 913441DEST_PATH_IMAGE030
的优先级进行资源分配:
Figure 627319DEST_PATH_IMAGE016
为深度神经网络推理任务的优先级阈值,
Figure 672635DEST_PATH_IMAGE017
为深度神经网络推理任务
Figure 67845DEST_PATH_IMAGE011
的 优先级,当
Figure 678955DEST_PATH_IMAGE018
时,深度神经网络推理任务
Figure 766996DEST_PATH_IMAGE011
为紧急任务,选取边缘服务器优先队列 中计算能力最强且空闲的边缘服务器作为紧急任务的卸载服务器
Figure 34030DEST_PATH_IMAGE024
,并进行服务卸 载,
Figure 29667DEST_PATH_IMAGE059
满足
Figure 698546DEST_PATH_IMAGE060
Figure 957489DEST_PATH_IMAGE019
时,计算深度神经网络推理任务
Figure 7091DEST_PATH_IMAGE011
在边缘服务器簇内各个边缘服务 器的运行时间,其中,
Figure 9682DEST_PATH_IMAGE011
在边缘服务器
Figure 533068DEST_PATH_IMAGE003
的运行时间
Figure 759650DEST_PATH_IMAGE046
计算公式如下:
Figure 1275DEST_PATH_IMAGE061
边缘服务器
Figure 541978DEST_PATH_IMAGE003
的运行时间
Figure 982186DEST_PATH_IMAGE046
为边缘设备将深度神经网络推理任务
Figure 582932DEST_PATH_IMAGE011
的数据发 送至边缘服务器的传输时间
Figure 46274DEST_PATH_IMAGE049
、任务等待时间
Figure 452985DEST_PATH_IMAGE050
及任务计算时间
Figure 950962DEST_PATH_IMAGE062
之和。其 中
Figure 457030DEST_PATH_IMAGE052
,当边缘设备请求深度神经网络推理服务时,假设边缘服务器簇已进行任务 卸载,即边缘服务器簇中的任何边缘服务器均部署边缘设备请求的深度神经网络推理服 务,边缘设备仅需将待处理的深度神经网络推理任务数据传输至边缘服务器簇即可,
Figure 673248DEST_PATH_IMAGE053
为 数据传输速率极限值。选择边缘服务器簇中能够使得深度神经网络推理任务
Figure 119535DEST_PATH_IMAGE011
在最迟响 应时间
Figure 472019DEST_PATH_IMAGE020
之前完成的边缘服务器
Figure 148988DEST_PATH_IMAGE021
Figure 649239DEST_PATH_IMAGE063
其中,
Figure 335436DEST_PATH_IMAGE023
为使得深度神经网络推理任务
Figure 542426DEST_PATH_IMAGE011
在最迟响应时间
Figure 718192DEST_PATH_IMAGE020
之前完成的边缘 服务器的总数量;构建集合
Figure 643423DEST_PATH_IMAGE064
;随机从集合中选择一个边缘服务器 作为卸载服务器
Figure 867731DEST_PATH_IMAGE024
,即
Figure 257124DEST_PATH_IMAGE065
Figure 541475DEST_PATH_IMAGE026
为随机函 数;
深度神经网络推理任务
Figure 688423DEST_PATH_IMAGE011
卸载完成以后,将
Figure 277273DEST_PATH_IMAGE011
从任务优先队列中移除,并更新任 务优先队列及边缘服务器优先队列,继续(3)中的任务调度算法。任务计算完成后,计算结 果通过边缘服务簇中最接近边缘设备的边缘服务器返回至边缘设备。
实施例
本发明中深度学习推理任务调度方法包括边缘服务器分簇、任务优先队列构建、边缘服务器优先队列构建、基于优先级的改进Max-Min任务调度;具体分为以下几个步骤:
S1、边缘服务器分簇:
本发明可以根据边缘服务器地理位置、通信时延及综合计算能力对边缘服务器进 行分簇,例如通过对地理区域内的边缘服务器之间的通信时延进行测试、边缘设备的密度 以及对边缘服务器簇的计算能力进行评估,划分边缘服务器簇,使得边缘服务器簇能够满 足簇区域内的边缘设备的深度神经网络推理请求。本实施例中,设置边缘服务器之间的通 信延迟阈值
Figure 458856DEST_PATH_IMAGE027
,当边缘服务器之间的平均通信时延低于该阈值时(通常由按地理位置决 定),将边缘服务器分为同一簇。
S2、任务优先队列构建:
首先,在任务调度之前,本发明构建任务类型属性,对不同的任务类型设定最迟响应时间、计算能力、内存需求。边缘设备进行任务请求时,将任务类型及待处理数据传输至边缘服务器簇,任务请求到达边缘服务器簇之后,根据任务类型计算任务优先级,进而构建任务优先队列。
S3、边缘服务器优先队列构建:
对边缘服务器进行分簇之后,边缘服务器簇各边缘服务器计算能力强弱构建边缘服务器优先队列。
S4、基于优先级的改进Max-Min任务调度:
在本发明中,边缘服务器优先队列及任务优先队列构建完毕之后,当边缘服务器 簇内有边缘服务器属于空闲状态时,进行任务调度。任务调度时,根据优先级将深度神经网 络推理任务分为紧急任务和普通任务,选取边缘服务器优先队列中计算能力最强且空闲的 边缘服务器作为紧急任务的卸载服务器并进行服务卸载,随机选择边缘服务器簇中能够使 普通任务在最迟响应时间
Figure 914108DEST_PATH_IMAGE020
之前完成的边缘服务器作为普通任务的卸载服务器。当深 度神经网络推理任务执行完毕,将该深度神经网络推理任务从任务优先队列中移除,并更 新任务优先队列以及边缘服务器优先队列;同时,将该深度神经网络推理任务的执行结果 传回边缘设备。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立技术方案,说明书的这种叙述方式仅仅是为了清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (3)

1.一种基于边缘计算的深度学习推理任务调度方法,包括以下步骤:
步骤一、根据边缘服务器之间的通信时延对边缘服务器进行分簇,得到边缘服务器簇;边缘服务器簇
Figure QLYQS_1
中具有p台边缘服务器,
Figure QLYQS_2
,根据边缘服务器簇
Figure QLYQS_3
各边缘服务器计算能力强弱构建边缘服务器优先队列,计算能力越强的边缘服务器在边缘服务器优先队列中越靠前;
步骤二:当边缘设备发出的
Figure QLYQS_4
个待处理的深度神经网络推理任务到达边缘服务器簇后,根据任务类型计算深度神经网络推理任务的任务优先级,进而构建任务优先队列;
步骤三:当边缘服务器簇中有边缘服务器空闲且任务优先队列不为空时,持续判断空闲的边缘服务器
Figure QLYQS_6
是否能满足任务优先队列中队头的深度神经网络推理任务
Figure QLYQS_9
的内存需求,如是,即
Figure QLYQS_12
,执行步骤三A;如否,即
Figure QLYQS_7
,执行步骤三B;直至任务优先队列为空;其中,
Figure QLYQS_11
为属于任务类型
Figure QLYQS_13
的深度神经网络推理任务的内存需求,
Figure QLYQS_14
为深度神经网络推理任务
Figure QLYQS_5
的任务类型;
Figure QLYQS_8
为边缘服务器
Figure QLYQS_10
的内存大小;
步骤三A、根据深度神经网络推理任务
Figure QLYQS_24
的优先级进行资源分配:设
Figure QLYQS_18
为深度神经网络推理任务的优先级阈值,
Figure QLYQS_21
为深度神经网络推理任务
Figure QLYQS_26
的优先级,当
Figure QLYQS_29
时,深度神经网络推理任务
Figure QLYQS_30
为紧急任务,选取边缘服务器优先队列中计算能力最强且空闲的边缘服务器作为紧急任务的卸载服务器,并进行服务卸载;当
Figure QLYQS_32
时,计算深度神经网络推理任务
Figure QLYQS_23
在边缘服务器簇内各个边缘服务器的运行时间,选择边缘服务器簇中能够使得深度神经网络推理任务
Figure QLYQS_27
在最迟响应时间
Figure QLYQS_17
之前完成的边缘服务器
Figure QLYQS_20
,构建集合
Figure QLYQS_22
Figure QLYQS_25
为使得深度神经网络推理任务
Figure QLYQS_28
在最迟响应时间
Figure QLYQS_31
之前完成的边缘服务器的总数量,随机从集合中选择一个边缘服务器作为卸载服务器
Figure QLYQS_15
;深度神经网络推理任务
Figure QLYQS_19
卸载完成以后,将
Figure QLYQS_16
从任务优先队列中移除;
步骤三B:将深度神经网络推理任务
Figure QLYQS_33
移动至任务优先队列的队尾;
步骤二中,根据任务类型计算深度神经网络推理任务的任务优先级,进而构建任务优先队列时,用
Figure QLYQS_34
表示待处理的深度神经网络推理任务的集合,
Figure QLYQS_35
,第n个深度神经网络推理任务
Figure QLYQS_36
的参数表示如下:
Figure QLYQS_37
其中,
Figure QLYQS_50
为深度神经网络推理任务
Figure QLYQS_39
的优先级,
Figure QLYQS_47
Figure QLYQS_40
为深度神经网络推理任务
Figure QLYQS_42
需传输的数据量;
Figure QLYQS_45
为深度神经网络推理任务
Figure QLYQS_48
的任务类型,
Figure QLYQS_46
Figure QLYQS_51
Figure QLYQS_41
为所有的任务类型选项;
Figure QLYQS_43
为深度神经网络推理任务
Figure QLYQS_53
传输至边缘服务器簇后处于任务调度队列的等待时间;
Figure QLYQS_57
为深度神经网络推理任务数据从边缘设备传输至边缘服务器簇的链路传输带宽;
Figure QLYQS_55
为属于任务类型
Figure QLYQS_59
的深度神经网络推理任务的最迟响应时间;
Figure QLYQS_52
为属于任务类型
Figure QLYQS_56
的深度神经网络推理任务的基础权重,
Figure QLYQS_54
Figure QLYQS_58
为属于任务类型
Figure QLYQS_38
的深度神经网络推理任务在单位时间内的请求频率;
Figure QLYQS_44
为属于任务类型
Figure QLYQS_49
的深度神经网络推理任务的内存需求。
2.根据权利要求1所述的基于边缘计算的深度学习推理任务调度方法,其特征在于,步骤一中根据边缘服务器之间的通信时延对边缘服务器进行分簇时,设置边缘服务器之间的通信延迟阈值
Figure QLYQS_60
,当边缘服务器之间的平均通信时延低于通信延迟阈值
Figure QLYQS_61
时,将边缘服务器分为同一边缘服务器簇。
3.根据权利要求1所述的基于边缘计算的深度学习推理任务调度方法,其特征在于,步骤三A中,计算深度神经网络推理任务
Figure QLYQS_62
在边缘服务器簇内各个边缘服务器的运行时间时,
Figure QLYQS_63
在边缘服务器
Figure QLYQS_64
的运行时间
Figure QLYQS_65
计算公式如下:
Figure QLYQS_66
边缘服务器
Figure QLYQS_68
的运行时间
Figure QLYQS_72
为边缘设备将深度神经网络推理任务
Figure QLYQS_74
的数据发送至边缘服务器的传输时间
Figure QLYQS_69
、任务等待时间
Figure QLYQS_70
及任务计算时间
Figure QLYQS_73
之和;其中
Figure QLYQS_76
Figure QLYQS_67
为数据传输速率极限值;
Figure QLYQS_71
表示边缘服务器
Figure QLYQS_75
的计算能力。
CN202211638240.5A 2022-12-20 2022-12-20 一种基于边缘计算的深度学习推理任务调度方法 Active CN115629865B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211638240.5A CN115629865B (zh) 2022-12-20 2022-12-20 一种基于边缘计算的深度学习推理任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211638240.5A CN115629865B (zh) 2022-12-20 2022-12-20 一种基于边缘计算的深度学习推理任务调度方法

Publications (2)

Publication Number Publication Date
CN115629865A CN115629865A (zh) 2023-01-20
CN115629865B true CN115629865B (zh) 2023-04-18

Family

ID=84909801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211638240.5A Active CN115629865B (zh) 2022-12-20 2022-12-20 一种基于边缘计算的深度学习推理任务调度方法

Country Status (1)

Country Link
CN (1) CN115629865B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112239B (zh) * 2023-10-23 2024-02-09 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种异构推理后端上的可扩展负载均衡方法及系统
CN117114113B (zh) * 2023-10-24 2023-12-29 南京邮电大学 一种基于排队论的协同推理加速方法
CN118484287A (zh) * 2024-07-16 2024-08-13 中船凌久高科(武汉)有限公司 一种面向多级时空分析任务的边云动态调度方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113950103A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 一种移动边缘环境下多服务器完全计算卸载方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
US10972579B2 (en) * 2017-10-13 2021-04-06 Nebbiolo Technologies, Inc. Adaptive scheduling for edge devices and networks
CN113326126B (zh) * 2021-05-28 2024-04-05 湘潭大学 任务处理方法、任务调度方法、装置及计算机设备
US11206221B1 (en) * 2021-06-04 2021-12-21 National University Of Defense Technology Online task dispatching and scheduling system and method thereof
CN113835878A (zh) * 2021-08-24 2021-12-24 润联软件系统(深圳)有限公司 一种资源分配方法、装置、计算机设备及存储介质
CN113918240B (zh) * 2021-10-15 2024-05-28 全球能源互联网研究院有限公司 任务卸载方法及装置
CN114528092A (zh) * 2022-01-04 2022-05-24 中国神华能源股份有限公司神朔铁路分公司 边缘节点任务调度方法、装置、计算机设备和存储介质
CN114786156A (zh) * 2022-04-24 2022-07-22 杭州电子科技大学 一种基于深度学习的车联网优化任务边缘卸载方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113950103A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 一种移动边缘环境下多服务器完全计算卸载方法及系统

Also Published As

Publication number Publication date
CN115629865A (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
CN115629865B (zh) 一种基于边缘计算的深度学习推理任务调度方法
US20210133534A1 (en) Cloud task scheduling method based on phagocytosis-based hybrid particle swarm optimization and genetic algorithm
CN109829332B (zh) 一种基于能量收集技术的联合计算卸载方法及装置
CN107911478B (zh) 基于化学反应优化算法的多用户计算卸载方法及装置
CN109617826B (zh) 一种基于布谷鸟搜索的storm动态负载均衡方法
WO2021018183A1 (zh) 一种资源分配方法和资源借调方法
CN111475274A (zh) 云协同多任务调度方法及装置
CN110717300A (zh) 面向电力物联实时在线监测业务的边缘计算任务分配方法
CN113407249B (zh) 一种面向位置隐私保护的任务卸载方法
CN112153145A (zh) 5g边缘环境下面向车联网的计算任务卸载方法及装置
CN113918240A (zh) 任务卸载方法及装置
CN117042047B (zh) 一种基于任务优先级的资源分配方法、装置、控制器及系统
CN114938372B (zh) 一种基于联邦学习的微网群请求动态迁移调度方法及装置
CN110996390B (zh) 一种无线接入网络计算资源分配方法及网络系统
Xing et al. Task classification unloading algorithm for mobile edge computing in smart grid
Duan et al. Research on offloading strategy in edge computing of Internet of Things
CN115150893A (zh) 基于任务划分与d2d的mec任务卸载策略方法
CN114064294A (zh) 移动边缘计算环境下的动态资源分配方法和系统
CN116302404B (zh) 面向资源解耦合数据中心的服务器无感知计算调度方法
CN117407160A (zh) 一种边缘计算场景下在线任务和离线任务的混合部署方法
CN117032977A (zh) 混部应用资源分配方法、装置、计算机设备及存储介质
CN112732442B (zh) 一种边缘计算负载均衡的分布式模型及其求解方法
CN114896070A (zh) 一种用于深度学习任务的gpu资源分配方法
Wang et al. Offloading Strategies for Mobile Edge Computing Based on Multi-Attribute Preferences in Smart Grids
Guo et al. Multi-resource fair allocation for composited services in edge micro-clouds

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