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

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

Info

Publication number
CN115629865A
CN115629865A CN202211638240.5A CN202211638240A CN115629865A CN 115629865 A CN115629865 A CN 115629865A CN 202211638240 A CN202211638240 A CN 202211638240A CN 115629865 A CN115629865 A CN 115629865A
Authority
CN
China
Prior art keywords
task
deep neural
edge
neural network
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.)
Granted
Application number
CN202211638240.5A
Other languages
English (en)
Other versions
CN115629865B (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 (4)

1.一种基于边缘计算的深度学习推理任务调度方法,包括以下步骤:
步骤一、根据边缘服务器之间的通信时延对边缘服务器进行分簇,得到边缘服务器簇; 边缘服务器簇
Figure 402648DEST_PATH_IMAGE001
中具有p台边缘服务器,
Figure 595732DEST_PATH_IMAGE002
,根据边缘服务器簇
Figure 734589DEST_PATH_IMAGE001
各边缘 服务器计算能力强弱构建边缘服务器优先队列,计算能力越强的边缘服务器在边缘服务器 优先队列中越靠前;
步骤二:当边缘设备发出的
Figure 52438DEST_PATH_IMAGE003
个待处理的深度神经网络推理任务到达边缘服务器簇后, 根据任务类型计算深度神经网络推理任务的任务优先级,进而构建任务优先队列;
步骤三:当边缘服务器簇中有边缘服务器空闲且任务优先队列不为空时,持续判断空 闲的边缘服务器
Figure 128585DEST_PATH_IMAGE004
是否能满足任务优先队列中队头的深度神经网络推理任务
Figure 113859DEST_PATH_IMAGE005
的内存需 求,如是,即
Figure 423617DEST_PATH_IMAGE006
,执行步骤三A;如否,即
Figure 291079DEST_PATH_IMAGE007
,执行步骤三B;直至任务优先队 列为空;其中,
Figure 344486DEST_PATH_IMAGE008
为属于任务类型
Figure 184266DEST_PATH_IMAGE009
的深度神经网络推理任务的内存需求,
Figure 727243DEST_PATH_IMAGE009
为深度神 经网络推理任务
Figure 285263DEST_PATH_IMAGE005
的任务类型;
Figure 876781DEST_PATH_IMAGE010
为边缘服务器
Figure 898964DEST_PATH_IMAGE004
的内存大小;
步骤三A、根据深度神经网络推理任务
Figure 550525DEST_PATH_IMAGE005
的优先级进行资源分配:设
Figure 330262DEST_PATH_IMAGE011
为深度神经网络 推理任务的优先级阈值,
Figure 289253DEST_PATH_IMAGE012
为深度神经网络推理任务
Figure 103626DEST_PATH_IMAGE005
的优先级,当
Figure 926088DEST_PATH_IMAGE013
时,深度神经 网络推理任务
Figure 255438DEST_PATH_IMAGE005
为紧急任务,选取边缘服务器优先队列中计算能力最强且空闲的边缘服务 器作为紧急任务的卸载服务器,并进行服务卸载;当
Figure 454339DEST_PATH_IMAGE014
时,计算深度神经网络推理任 务
Figure 123217DEST_PATH_IMAGE005
在边缘服务器簇内各个边缘服务器的运行时间,选择边缘服务器簇中能够使得深度神 经网络推理任务
Figure 116581DEST_PATH_IMAGE005
在最迟响应时间
Figure 933227DEST_PATH_IMAGE015
之前完成的边缘服务器
Figure 935818DEST_PATH_IMAGE016
,构建集合
Figure 459204DEST_PATH_IMAGE017
Figure 685786DEST_PATH_IMAGE018
为使得深度神经网络推理任务
Figure 927411DEST_PATH_IMAGE005
在最迟响应时间
Figure 468114DEST_PATH_IMAGE015
之前完成的 边缘服务器的总数量,随机从集合中选择一个边缘服务器作为卸载服务器
Figure 406858DEST_PATH_IMAGE019
;深度神经 网络推理任务
Figure 7603DEST_PATH_IMAGE005
卸载完成以后,将
Figure 470946DEST_PATH_IMAGE005
从任务优先队列中移除;
步骤三B:将深度神经网络推理任务
Figure 877656DEST_PATH_IMAGE005
移动至任务优先队列的队尾。
2.根据权利要求1所述的基于边缘计算的深度学习推理任务调度方法,其特征在于,步 骤一中根据边缘服务器之间的通信时延对边缘服务器进行分簇时,设置边缘服务器之间的 通信延迟阈值
Figure 110054DEST_PATH_IMAGE020
,当边缘服务器之间的平均通信时延低于通信延迟阈值
Figure 881701DEST_PATH_IMAGE020
时,将边缘服务器 分为同一边缘服务器簇。
3.根据权利要求1所述的基于边缘计算的深度学习推理任务调度方法,其特征在于,步 骤二中,根据任务类型计算深度神经网络推理任务的任务优先级,进而构建任务优先队列 时,用
Figure 832340DEST_PATH_IMAGE021
表示待处理的深度神经网络推理任务的集合,
Figure 777162DEST_PATH_IMAGE022
,第n个深度 神经网络推理任务
Figure 129646DEST_PATH_IMAGE023
的参数表示如下:
Figure 72194DEST_PATH_IMAGE024
其中,
Figure 572446DEST_PATH_IMAGE025
为深度神经网络推理任务
Figure 258642DEST_PATH_IMAGE023
的优先级,
Figure 29414DEST_PATH_IMAGE026
Figure 142864DEST_PATH_IMAGE027
为深度神经网络推 理任务
Figure 68094DEST_PATH_IMAGE023
需传输的数据量;
Figure 354719DEST_PATH_IMAGE028
为深度神经网络推理任务
Figure 681795DEST_PATH_IMAGE023
的任务类型,
Figure 700567DEST_PATH_IMAGE029
Figure 175411DEST_PATH_IMAGE030
Figure 203409DEST_PATH_IMAGE031
为所有的任务类型选项;
Figure 384992DEST_PATH_IMAGE032
为深度神经网络推理任务
Figure 840244DEST_PATH_IMAGE023
传 输至边缘服务器簇后处于任务调度队列的等待时间;
Figure 536805DEST_PATH_IMAGE033
为深度神经网络推理任务数据从 边缘设备传输至边缘服务器簇的链路传输带宽;
Figure 102915DEST_PATH_IMAGE034
为属于任务类型
Figure 404584DEST_PATH_IMAGE028
的深度神经网络 推理任务的最迟响应时间;
Figure 591589DEST_PATH_IMAGE035
为属于任务类型
Figure 713129DEST_PATH_IMAGE028
的深度神经网络推理任务的基础权重,
Figure 82930DEST_PATH_IMAGE036
Figure 301422DEST_PATH_IMAGE037
为属于任务类型
Figure 98477DEST_PATH_IMAGE028
的深度神经网络推理任务在单位时间内的请求频 率;
Figure 707313DEST_PATH_IMAGE038
为属于任务类型
Figure 677543DEST_PATH_IMAGE028
的深度神经网络推理任务的内存需求。
4.根据权利要求3所述的基于边缘计算的深度学习推理任务调度方法,其特征在于,步 骤三A中,计算深度神经网络推理任务
Figure 688224DEST_PATH_IMAGE005
在边缘服务器簇内各个边缘服务器的运行时间时,
Figure 656180DEST_PATH_IMAGE005
在边缘服务器
Figure 814629DEST_PATH_IMAGE004
的运行时间
Figure 526233DEST_PATH_IMAGE039
计算公式如下:
Figure 391421DEST_PATH_IMAGE040
边缘服务器
Figure 94060DEST_PATH_IMAGE004
的运行时间
Figure 677488DEST_PATH_IMAGE041
为边缘设备将深度神经网络推理任务
Figure 192783DEST_PATH_IMAGE005
的数据发送至边 缘服务器的传输时间
Figure 974794DEST_PATH_IMAGE042
、任务等待时间
Figure 284553DEST_PATH_IMAGE043
及任务计算时间
Figure 355277DEST_PATH_IMAGE044
之和;其中
Figure 471000DEST_PATH_IMAGE045
Figure 310780DEST_PATH_IMAGE046
为数据传输速率极限值;
Figure 791440DEST_PATH_IMAGE047
表示边缘服务器
Figure 411778DEST_PATH_IMAGE004
的计算能力。
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 true CN115629865A (zh) 2023-01-20
CN115629865B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117114113A (zh) * 2023-10-24 2023-11-24 南京邮电大学 一种基于排队论的协同推理加速方法
CN117112239A (zh) * 2023-10-23 2023-11-24 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种异构推理后端上的可扩展负载均衡方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221019A1 (en) * 2003-04-30 2004-11-04 Speedera Networks, Inc. Automatic migration of data via a distributed computer network
US20190116241A1 (en) * 2017-10-13 2019-04-18 Nebbiolo Technologies, Inc. Adaptive scheduling for edge devices and networks
CN113326126A (zh) * 2021-05-28 2021-08-31 湘潭大学 任务处理方法、任务调度方法、装置及计算机设备
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 润联软件系统(深圳)有限公司 一种资源分配方法、装置、计算机设备及存储介质
CN113918240A (zh) * 2021-10-15 2022-01-11 全球能源互联网研究院有限公司 任务卸载方法及装置
CN113950103A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 一种移动边缘环境下多服务器完全计算卸载方法及系统
CN114528092A (zh) * 2022-01-04 2022-05-24 中国神华能源股份有限公司神朔铁路分公司 边缘节点任务调度方法、装置、计算机设备和存储介质
CN114786156A (zh) * 2022-04-24 2022-07-22 杭州电子科技大学 一种基于深度学习的车联网优化任务边缘卸载方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221019A1 (en) * 2003-04-30 2004-11-04 Speedera Networks, Inc. Automatic migration of data via a distributed computer network
US20190116241A1 (en) * 2017-10-13 2019-04-18 Nebbiolo Technologies, Inc. Adaptive scheduling for edge devices and networks
CN113326126A (zh) * 2021-05-28 2021-08-31 湘潭大学 任务处理方法、任务调度方法、装置及计算机设备
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 润联软件系统(深圳)有限公司 一种资源分配方法、装置、计算机设备及存储介质
CN113950103A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 一种移动边缘环境下多服务器完全计算卸载方法及系统
CN113918240A (zh) * 2021-10-15 2022-01-11 全球能源互联网研究院有限公司 任务卸载方法及装置
CN114528092A (zh) * 2022-01-04 2022-05-24 中国神华能源股份有限公司神朔铁路分公司 边缘节点任务调度方法、装置、计算机设备和存储介质
CN114786156A (zh) * 2022-04-24 2022-07-22 杭州电子科技大学 一种基于深度学习的车联网优化任务边缘卸载方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112239A (zh) * 2023-10-23 2023-11-24 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种异构推理后端上的可扩展负载均衡方法及系统
CN117112239B (zh) * 2023-10-23 2024-02-09 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种异构推理后端上的可扩展负载均衡方法及系统
CN117114113A (zh) * 2023-10-24 2023-11-24 南京邮电大学 一种基于排队论的协同推理加速方法
CN117114113B (zh) * 2023-10-24 2023-12-29 南京邮电大学 一种基于排队论的协同推理加速方法

Also Published As

Publication number Publication date
CN115629865B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
US20210133534A1 (en) Cloud task scheduling method based on phagocytosis-based hybrid particle swarm optimization and genetic algorithm
CN115629865B (zh) 一种基于边缘计算的深度学习推理任务调度方法
CN107911478B (zh) 基于化学反应优化算法的多用户计算卸载方法及装置
CN109829332B (zh) 一种基于能量收集技术的联合计算卸载方法及装置
CN109617826B (zh) 一种基于布谷鸟搜索的storm动态负载均衡方法
CN109885397B (zh) 一种边缘计算环境中时延优化的负载任务迁移算法
CN111124662B (zh) 一种雾计算负载均衡方法及系统
CN111475274A (zh) 云协同多任务调度方法及装置
CN110717300A (zh) 面向电力物联实时在线监测业务的边缘计算任务分配方法
CN112153145A (zh) 5g边缘环境下面向车联网的计算任务卸载方法及装置
CN114938372B (zh) 一种基于联邦学习的微网群请求动态迁移调度方法及装置
CN114327811A (zh) 一种任务调度方法、装置、设备及可读存储介质
CN110996390B (zh) 一种无线接入网络计算资源分配方法及网络系统
CN114064294B (zh) 移动边缘计算环境下的动态资源分配方法和系统
CN114780244A (zh) 容器云资源弹性分配方法、装置、计算机设备及介质
CN112256413A (zh) 基于物联网的边缘计算任务的调度方法和装置
CN112511652B (zh) 一种边缘计算下的合作计算任务分配方法
CN117042047B (zh) 一种基于任务优先级的资源分配方法、装置、控制器及系统
CN116302578B (zh) 一种QoS约束的流应用延迟确保方法及系统
CN116302404B (zh) 面向资源解耦合数据中心的服务器无感知计算调度方法
CN117579701A (zh) 一种移动边缘网络计算卸载方法及系统
CN112860409A (zh) 基于李雅普诺夫优化的移动云计算随机任务序列调度方法
CN117032977A (zh) 混部应用资源分配方法、装置、计算机设备及存储介质
CN114896070A (zh) 一种用于深度学习任务的gpu资源分配方法
CN115150893A (zh) 基于任务划分与d2d的mec任务卸载策略方法

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