CN114706678A - 一种边缘智能服务器神经网络推断任务调度方法 - Google Patents

一种边缘智能服务器神经网络推断任务调度方法 Download PDF

Info

Publication number
CN114706678A
CN114706678A CN202210284033.8A CN202210284033A CN114706678A CN 114706678 A CN114706678 A CN 114706678A CN 202210284033 A CN202210284033 A CN 202210284033A CN 114706678 A CN114706678 A CN 114706678A
Authority
CN
China
Prior art keywords
task
inference
tasks
neural network
gpu
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.)
Pending
Application number
CN202210284033.8A
Other languages
English (en)
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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN202210284033.8A priority Critical patent/CN114706678A/zh
Publication of CN114706678A publication Critical patent/CN114706678A/zh
Pending legal-status Critical Current

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/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
    • 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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction

Landscapes

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

Abstract

本发明公开了一种边缘智能服务器神经网络推断任务调度方法,步骤包括:利用GPU虚拟化技术将GPU虚拟成多个虚拟GPU;按照预设的分配策略,为虚拟GPU分配预设的资源,用排队服务***按照预设的执行批次,为每个推断任务的类别对应的虚拟GPU分配推断任务;收集每一类推断任务的平均服务延迟和计算资源量,判断是否需要调整分配策略,是则用强化学习算法计算新的分配策略;按照新的分配策略,为虚拟GPU分配对应的资源,用排队服务***按照对应的执行批次,为每个任务的类别对应的虚拟GPU分配神经网络推断任务。本发明以较低的计算复杂度,满足动态场景的实时性要求,并且有效的解决了在较大规模的边缘计算场景中的负载均衡问题。

Description

一种边缘智能服务器神经网络推断任务调度方法
技术领域
本发明涉及边缘计算领域,尤其涉及一种边缘智能服务器神经网络推断任务调度方法。
背景技术
边缘计算(Edge Computing,EC)是一种新的云计算模式。将服务器部署在网络边缘,为用户提供计算服务。网络边缘并不是终端设备,而是靠近终端设备的网络位置,其特点是可以以较低的延迟与终端设备通信。但是在现实生活中的复杂场景下,一台边缘服务器,尤其是边缘智能服务器,应该是负责多种类型、高并发的神经网络推断任务。这带来的问题就是如何进行合适的任务和资源调度来提升边缘服务器处理这些任务的速度,提升吞吐量。
排队***亦称“排队服务***”,是由一个或多个并联、串联及混合相联的服务台组成、服务于多种需求不同的顾客或工作对象,并按给定排队规则确定服务顺序的服务***。现实中的生产制造和服务***大多属于排队***。服务的对象可以是自然人、待完成的工作、或待加工的工件。批量排队***就是它的一种衍生***。在批量排队***中的任务并不是直接处理的,而是在***中的任务累计到一定的数量,把这些任务作为一个批次同时处理。在处理速度提升的同时,带来的资源的开销也是逐渐提升的,批处理大小如果设置的过大,就会导致一些任务因为资源大小的限制而在***中排队,使得排队延迟明显高于预期,如果设置的较小,则不能有效的利用批处理带来的优势。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种边缘智能服务器神经网络推断任务调度方法,在边缘智能服务器面对高并发,多类型的神经网络推断任务场景下,通过分析推断任务的特性,分配给其相应的计算资源,并通过动态批量排队服务***建模仿真,获取***的相关评价指标,最终利用强化学习算法(D3QN)确定***资源和任务调度方案,以提高推断任务的执行速度,来解决多类型,高并发的推断任务吞吐量过低的问题。
为解决上述技术问题,本发明提出的技术方案为:
一种边缘智能服务器神经网络推断任务调度方法,包括如下步骤:
S1、利用GPU虚拟化技术将GPU虚拟成多个虚拟GPU;
S2、为所述虚拟GPU分配预设的资源,用排队服务***按照预设的执行批次,为每个推断任务的类别对应的虚拟GPU分配推断任务;
S3、收集每一类推断任务的平均服务延迟和所分配的计算资源量,判断是否需要调整分配策略,是则用强化学习算法计算新的分配策略;
S4、为所述虚拟GPU分配新的分配策略对应的资源,用排队服务***按照新的分配策略对应的执行批次,为每个任务的类别对应的虚拟GPU分配神经网络推断任务。
进一步的,步骤S3的具体步骤包括:
收集所有推断任务的平均服务延迟E(Wi)和边缘智能服务器给所有推断任务分配的计算资源量αi,作为此时的状态值st,使用∈-贪婪法选择当前状态值st下对应的动作A;
根据动作A,重新分配计算资源量和进行任务调度,获取下一状态st′,根据剩余资源量和推断任务执行情况,利用奖惩机制得到回报R;
获取当前状态st的任务执行情况和资源分配情况,合并为当前状态数据st,获取下一个状态st′的任务执行情况和资源分配情况,合并为下一个状态数据st′,将当前状态数据st、行为A、下一个状态数据st′和回报R以数组D的形式存放到优先经验回放池中,并通过td-error算法计算得到优先经验回放池中数组D的采样概率;
根据所述采样概率将所述经验回放池中的数组D提取到D3QN网络,进行D3QN网络的梯度下降误差训练,并判断是否满足终止条件,若满足,获得训练的GPU资源分配和任务调度模型,并执行下一步,否则,将下一个状态st′作为当前状态st,执行使用∈-贪婪法选择当前状态值st下对应的动作A的步骤;
将所述训练的GPU资源分配和任务调度模型导入到边缘智能服务器。
进一步的,收集所有推断任务的平均服务延迟E(Wi)和边缘智能服务器给所有推断任务分配的计算资源量αi之前还包括:
在边缘服务器上构建出能够虚拟GPU的环境和模拟任务提交模型,采用D3QN网络,将所述任务提交模型放在所述环境中进行自主调度执行。
进一步的,收集所有推断任务的平均服务延迟E(Wi)的步骤具体包括:根据到达推断任务的种类和对应的平均任务数,计算每一类推断任务平均服务延迟,表达式为:
Figure BDA0003559303370000031
上式中,i为推断任务的类型序号,λi′是第i类推断任务的有效到达率,E(Li)是排队服务***中第i类推断任务的平均任务数。
进一步的,根据动作A,重新分配计算资源量和进行任务调度具体步骤包括:
若动作A中存在大于预设阈值的推断任务平均服务延迟E(Wi),则增加计算资源量或者执行批次大小,或者减少计算资源量或者执行批次大小,若动作A中不存在大于预设阈值的推断任务平均服务延迟E(Wi),则保持计算资源量或者执行批次大小不变。
进一步的,所述预设阈值为平均服务延迟E(Wi)对应的推断任务单独执行的延迟。
进一步的,利用奖惩机制得到回报R的表达式如下所示:
Figure BDA0003559303370000032
上式中,i为推断任务的类型序号,
Figure BDA0003559303370000033
表示第i类任务在当前分配策略下的执行时间,Ti为第i类任务单独执行时间,α′i表示第i类任务分配的GPU资源百分比。
进一步的,收集所有推断任务的平均服务延迟E(Wi)和边缘智能服务器给所有推断任务分配的计算资源量αi之前还包括计算每一类推断任务资源占用情况的步骤,具体包括:
根据神经网络的类型、每一类推断任务初始化所需时间以及边缘智能服务器给每一类推断任务分配的计算资源量,计算每一类推断任务的服务器率,表达式如下:
Figure BDA0003559303370000041
上式中,i为推断任务的类型序号,εi表示第i类推断任务初始化所需时间,ji是对数函数的底,与神经网络模型本身的GFLOPS有关,αi表示边缘智能服务器给第i类推断任务分配的计算资源量。
本发明还提出一种边缘智能服务器神经网络推断任务调度***,所述边缘智能服务器神经网络推断任务调度***被编程或配置以执行任一所述的边缘智能服务器神经网络推断任务调度方法。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有被编程或配置以执行任一所述的边缘智能服务器神经网络推断任务调度方法的计算机程序。
与现有技术相比,本发明的优点在于:
本发明通过数学建模定量分析和强化学***均服务延迟,根据所有平均服务延迟判断此时是否存在策略不合理,若存在就启动基于强化学习实现的策略调整算法对策略进行调整,重复这个过程直至策略合理。本发明计算复杂度较低,满足动态场景的实时性要求,并且有效的解决了在较大规模的边缘计算场景中的负载均衡问题。
附图说明
图1为本发明具体实施例的流程图。
图2为本发明具体实施例中排队服务***进行任务调度的示意图。
图3为边缘智能服务器给残差网络推断任务分配的计算资源量和推断时间的关系示意图。
图4为边缘智能服务器给卷积神经网络推断任务分配的计算资源量和推断时间的关系示意图。
图5为边缘智能服务器给稠密卷积网络推断任务分配的计算资源量和推断时间的关系示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
根据我们的调研发现,现阶段的神经网络模型有一个较为明显的趋势:同一种任务,比如计算机视觉任务所使用的模型大多结构较为相似。甚至一些任务可以通过同一种模型来实现。对于这些任务,我们可以将其组成一个批次来处理,以此提升神经网络推断任务的吞吐量。提高推断任务的批次大小,能明显提升神经网络推断任务的处理速度。在处理速度提升的同时,带来的资源的开销也是逐渐提升的。但是一旦设立了批处理的大小,那么随之而来的问题是批处理大小如果设置的过大就会导致一些任务因为显存限制而在在***中排队,使得排队延迟明显高于预期。如果设置的较小,则不能有效的利用批处理带来的优势。根据以上的初步分析,明显可以得出推断任务批处理大小的设置会受限于边缘智能服务器设备的配置。批处理大小会明显影响排队服务***处理推断任务的速度。因此批次大小的设置存在的边界。此外,真实场景下任务到达是具有随机性的,并且多种推断任务之间也会因为资源抢占等问题互相影响。这些因素给我们定量分析带来了麻烦。为了解决多种任务的资源争抢问题,我们采用了GPU虚拟化的技术。这一技术能够把一块物理GPU虚拟化成多个相互独立的GPU,以此来减少因资源争抢而影响服务器执行推断任务的效率。
在此基础上,一方面,我们计算不同种类任务的计算量,并通过建模任务的资源-速度模型,以此指导***进行资源分配。另一方面,我们根据动态批量排队模型理论,对多种任务在***中的执行过程进行建模。得出优化问题,最终指导我们进行任务调度。
根据上述的分析结果和技术思路,本实施例提出一种边缘智能服务器神经网络推断任务调度方法,如图1所示,包括如下步骤:
S1、利用GPU虚拟化技术将GPU虚拟成多个虚拟GPU;
S2、按照预设的分配策略,为所述虚拟GPU分配预设的资源,用排队服务***按照预设的执行批次,为每个推断任务的类别对应的虚拟GPU分配推断任务;如图2所示,对于不同类别的任务一、任务二和任务三,排队服务***依次将每一批次任务一、任务二和任务三分配给对应的虚拟GPU;
S3、收集每一类推断任务的平均服务延迟和所分配的计算资源量,判断是否需要调整分配策略,是则用强化学习算法计算新的分配策略;
S4、按照新的分配策略,为所述虚拟GPU分配对应的资源,用排队服务***按照对应的执行批次,为每个任务的类别对应的虚拟GPU分配神经网络推断任务。
通过上述步骤,本实施例的边缘智能服务器神经网络推断任务调度方法首先利用GPU虚拟化技术,将GPU划分为可共享的多个块,每个块能独立分配GPU资源,然后计算推断任务的平均服务延迟,最后通过平均服务延迟,由强化学习算法调整包括资源分配和任务调度的分配策略,以较低的计算复杂度,满足动态场景的实时性要求,并且有效的解决了在较大规模的边缘计算场景中的负载均衡问题。
本实施例的步骤S3用于判断排队服务***是否出现调度方式不合理的情况,若是,就启动基于强化学习实现的策略调整算法,对资源分配和任务调度进行调整,调整之后,如果判断此时的场景仍然为调度和分配方式不合理,则继续调整,直到策略合理为止。在策略合理之后,由于任务在不断到达,经过一段时间仍可能出现策略不合理的情况,此时就需要重复上述行为直到再次合理。并且记录下此时的***状态,用以后续的离线调整,具体步骤包括:
第一步:在边缘服务器上构建出能够虚拟GPU的环境和模拟任务提交模型,采用D3QN网络,将所述任务提交模型放在所述环境中进行自主调度执行;
第二步:收集所有推断任务的平均服务延迟E(Wi)和边缘智能服务器给所有推断任务分配的计算资源量αi,作为此时的状态值st,使用∈-贪婪法选择当前状态值st下对应的动作A;
第三步:根据动作A,重新分配计算资源量和进行任务调度,获取下一状态st′,根据剩余资源量和推断任务执行情况,利用奖惩机制得到回报R;
第四步:获取当前状态st的任务执行情况和资源分配情况,合并为当前状态数据st,获取下一个状态st′的任务执行情况和资源分配情况,合并为下一个状态数据st′,将当前状态数据st、行为A、下一个状态数据st′和回报R以数组D的形式存放到优先经验回放池中,并通过td-error算法计算得到优先经验回放池中数组D的采样概率;
第五步:根据所述采样概率将所述经验回放池中的数组D提取到D3QN网络,进行D3QN网络的梯度下降误差训练,并判断是否满足终止条件,若满足,获得训练的GPU资源分配和任务调度模型,并执行下一步,否则,将下一个状态st′作为当前状态st,执行使用∈-贪婪法选择当前状态值st下对应的动作A的步骤;
第六步:将所述训练的GPU资源分配和任务调度模型导入到边缘智能服务器,进行真实环境的资源分配和任务调度,并获得最终分配和调度方案。
对于第二步中收集所有推断任务分配的计算资源量αi的过程,因为服务器处理神经网络推断任务速度,即服务率和服务器分配给该任务的计算资源和此任务本身的计算量相关。为了能够定量的分析服务器资源分配、任务计算量以及服务率三者关系,我们对它们进行建模。在我们的分析中发现:当提升某一推断任务分配的计算资源时,服务器对该任务的处理速度呈现先上升,后面趋于平稳的趋势。并且,对于不同的推断任务均有此规律。因此假设服务器全部的计算资源为1,服务器给第i类推断任务分配的计算资源量为αi,该类任务资源占用和服务时间的关系可以用下面这个式子表示:
Figure BDA0003559303370000081
其中μi表示第i类推断任务的服务器率。其中εi表示第i类推断任务初始化所需时间。ji是对数函数的底,与神经网络模型本身的GFLOPS有关。αi表示服务器给第i类推断任务分配的计算资源量。我们测试了一些常见的模型的推断时间和资源分配的关系,如图3至图5所示。
对于第二步中收集所有推断任务的平均服务延迟E(Wi)的过程,假设任务到达的过程是服从泊松分布的随机过程,到达率用λ表示。在任务到达边缘服务器的过程中,任务流具有平稳性,无后效性,普通性。即任务到达只依赖于时间的区间长度,且在不重叠的时间段内,任务到达是相互独立的,如果时间区间充分小,不会出现某一个用户的任务出现两次。因此假设是成立的。在进行完服务器资源调度之后,能够使服务器对某一种类的任务服务时间趋于固定,即服务时间服从定长分布。批次大小的上下限可以分别用a和b表示。当计算任务少于a个时候,服务器会等待,直到到达的任务数大于或等于a个,并作为一个批次完成服务。当任务量大于a个小于b的时候,所有任务作为一个批次完成。当任务量多于b个的时候,只有b个任务会一次完成。余下任务继续排队等待。假设X(n,r)和Y(n,r)分别表示第n批任务完成的时候,排队服务***中剩余的任务数量和第n批次任务服务时到达的任务量。r为第n批次执行的任务数量。则X(n+1,r)可用如下表示:
Figure BDA0003559303370000082
由此可以看出X(n+1,r)只和X(n,l)相关。且与n的取值无关。所以{X(n,r)},n∈N0,r∈Ma,b,Ma,b={a,a+1,...,b}是一个齐次马尔科夫链。因此该排队服务***可用M/D(a,b)/1/N队列描述。
根据相关理论,计算排队服务***中某一类任务的平均服务延迟,表达式为:
Figure BDA0003559303370000091
上式中,i为推断任务的类型序号,λi′是第i类推断任务的有效到达率,E(Li)是排队服务***中第i类推断任务的平均任务数。
因此整个排队服务***的服务延迟为:
E(W)=[E(W1),E(W2),…,E(Wi)]i∈1,2,3…,N (4)
其中i代表第i类推断任务。
在服务器计算得到当前状态下整个***的服务延迟后,若某类任务的E(Wi)较大,则说明分配给该类任务资源不足或者调度方式不合理,此时需要调整资源分配和任务调度方案。反之则说明该任务在***当前策略下能够有较好的表现。当E(W)中某一类任务平均服务延迟明显大于该任务单独执行时,我们就认为此时***分配和调度策略是不合理的。此时就需要启动强化学习算法(D3QN)对策略进行调整。强化学习算法的细节包括:
本实施例中,对于强化学习算法的状态空间(Station Space):E(Wi)可以用于描述某类任务在***分配给资源αi时的执行情况,则集合s=[E(Wi),αi]就可以用于描述整个***的情况。我们以此作为***的状态。
本实施例中,对于强化学习算法的动作空间(Action Space):在观测到环境的状态之后,如果此时判定为调度方式不合理,就需要选择此时的动作来解决调度差的问题。本实施例中的动作共有两种,一种是调整资源分配,另外一种是调整任务执行批次大小。如表1所示。
表1调度动作表
Maintain 0 0 0
Increase +1 *1.25 *1.5
Decrease -1 *0.75 *0.5
表1中,Maintain表示资源分配或者批次大小保持不变,Increase表示增加资源或者批次大小,增加幅度分别是微调(+1),提升25%(*1.25),提升50%(*1.5),Decrease表示减少,幅度同上。
本实施例中,对于强化学习算法的奖励值(Reward):在观测到某个状态并做出动作之后,需要用Reward来评估动作的好坏。我们定义每类任务的奖励值为R,表达式如下:
Figure BDA0003559303370000101
上式中,i为推断任务的类型序号,
Figure BDA0003559303370000102
表示第i类任务在当前分配策略下的执行时间,Ti为第i类任务单独执行时间,α′i表示第i类任务分配的GPU资源百分比。即奖励函数由任务执行时间提升率和资源占量决定。执行时间提升的越大,资源占用越少,服务器的资源都得到有效的利用,则此时的吞吐量势必就会提升,收益值就会较高。
因此,第三步中,根据动作A,重新分配计算资源量和进行任务调度具体步骤包括:
若动作A中存在大于预设阈值的推断任务平均服务延迟E(Wi),则增加计算资源量或者执行批次大小,或者减少计算资源量或者执行批次大小,若动作A中不存在大于预设阈值的推断任务平均服务延迟E(Wi),则保持计算资源量或者执行批次大小不变。其中,所述预设阈值为平均服务延迟E(Wi)对应的推断任务单独执行的延迟。
本发明还提出一种边缘智能服务器神经网络推断任务调度***,所述边缘智能服务器神经网络推断任务调度***被编程或配置以执行任一所述的边缘智能服务器神经网络推断任务调度方法。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有被编程或配置以执行任一所述的边缘智能服务器神经网络推断任务调度方法的计算机程序。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (10)

1.一种边缘智能服务器神经网络推断任务调度方法,其特征在于,包括如下步骤:
S1、利用GPU虚拟化技术将GPU虚拟成多个虚拟GPU;
S2、为所述虚拟GPU分配预设的资源,用排队服务***按照预设的执行批次,为每个推断任务的类别对应的虚拟GPU分配推断任务;
S3、收集每一类推断任务的平均服务延迟和所分配的计算资源量,判断是否需要调整分配策略,是则用强化学习算法计算新的分配策略;
S4、为所述虚拟GPU分配新的分配策略对应的资源,用排队服务***按照新的分配策略对应的执行批次,为每个任务的类别对应的虚拟GPU分配神经网络推断任务。
2.根据权利要求1所述的边缘智能服务器神经网络推断任务调度方法,其特征在于,步骤S3的具体步骤包括:
收集所有推断任务的平均服务延迟E(Wi)和边缘智能服务器给所有推断任务分配的计算资源量αi,作为此时的状态值st,使用∈-贪婪法选择当前状态值st下对应的动作A;
根据动作A,重新分配计算资源量和进行任务调度,获取下一状态st′,根据剩余资源量和推断任务执行情况,利用奖惩机制得到回报R;
获取当前状态st的任务执行情况和资源分配情况,合并为当前状态数据st,获取下一个状态st′的任务执行情况和资源分配情况,合并为下一个状态数据st′,将当前状态数据st、行为A、下一个状态数据st′和回报R以数组D的形式存放到优先经验回放池中,并通过td-error算法计算得到优先经验回放池中数组D的采样概率;
根据所述采样概率将所述经验回放池中的数组D提取到D3QN网络,进行D3QN网络的梯度下降误差训练,并判断是否满足终止条件,若满足,获得训练的GPU资源分配和任务调度模型,并执行下一步,否则,将下一个状态st′作为当前状态st,执行使用∈-贪婪法选择当前状态值st下对应的动作A的步骤;
将所述训练的GPU资源分配和任务调度模型导入到边缘智能服务器。
3.根据权利要求2所述的边缘智能服务器神经网络推断任务调度方法,其特征在于,收集所有推断任务的平均服务延迟E(Wi)和边缘智能服务器给所有推断任务分配的计算资源量αi之前还包括:
在边缘服务器上构建出能够虚拟GPU的环境和模拟任务提交模型,采用D3QN网络,将所述任务提交模型放在所述环境中进行自主调度执行。
4.根据权利要求2所述的边缘智能服务器神经网络推断任务调度方法,其特征在于,收集所有推断任务的平均服务延迟E(Wi)的步骤具体包括:根据到达推断任务的种类和对应的平均任务数,计算每一类推断任务平均服务延迟,表达式为:
Figure FDA0003559303360000021
上式中,i为推断任务的类型序号,λi′是第i类推断任务的有效到达率,E(Li)是排队服务***中第i类推断任务的平均任务数。
5.根据权利要求2所述的边缘智能服务器神经网络推断任务调度方法,其特征在于,根据动作A,重新分配计算资源量和进行任务调度具体步骤包括:
若动作A中存在大于预设阈值的推断任务平均服务延迟E(Wi),则增加计算资源量或者执行批次大小,或者减少计算资源量或者执行批次大小,若动作A中不存在大于预设阈值的推断任务平均服务延迟E(Wi),则保持计算资源量或者执行批次大小不变。
6.根据权利要求5所述的边缘智能服务器神经网络推断任务调度方法,其特征在于,所述预设阈值为平均服务延迟E(Wi)对应的推断任务单独执行的延迟。
7.根据权利要求2所述的边缘智能服务器神经网络推断任务调度方法,其特征在于,利用奖惩机制得到回报R的表达式如下所示:
Figure FDA0003559303360000022
上式中,i为推断任务的类型序号,
Figure FDA0003559303360000031
表示第i类任务在当前分配策略下的执行时间,Ti为第i类任务单独执行时间,α′i表示第i类任务分配的GPU资源百分比。
8.根据权利要求2所述的边缘智能服务器神经网络推断任务调度方法,其特征在于,收集所有推断任务的平均服务延迟E(Wi)和边缘智能服务器给所有推断任务分配的计算资源量αi之前还包括计算每一类推断任务资源占用情况的步骤,具体包括:
根据神经网络的类型、每一类推断任务初始化所需时间以及边缘智能服务器给每一类推断任务分配的计算资源量,计算每一类推断任务的服务器率,表达式如下:
Figure FDA0003559303360000033
上式中,i为推断任务的类型序号,εi表示第i类推断任务初始化所需时间,ji是对数函数的底,与神经网络模型本身的GFLOPS有关,αi表示边缘智能服务器给第i类推断任务分配的计算资源量。
9.一种边缘智能服务器神经网络推断任务调度***,其特征在于,所述边缘智能服务器神经网络推断任务调度***被编程或配置以执行权利要求1~8任一所述的边缘智能服务器神经网络推断任务调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有被编程或配置以执行权利要求1~8任一所述的边缘智能服务器神经网络推断任务调度方法的计算机程序。
CN202210284033.8A 2022-03-22 2022-03-22 一种边缘智能服务器神经网络推断任务调度方法 Pending CN114706678A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210284033.8A CN114706678A (zh) 2022-03-22 2022-03-22 一种边缘智能服务器神经网络推断任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210284033.8A CN114706678A (zh) 2022-03-22 2022-03-22 一种边缘智能服务器神经网络推断任务调度方法

Publications (1)

Publication Number Publication Date
CN114706678A true CN114706678A (zh) 2022-07-05

Family

ID=82168807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210284033.8A Pending CN114706678A (zh) 2022-03-22 2022-03-22 一种边缘智能服务器神经网络推断任务调度方法

Country Status (1)

Country Link
CN (1) CN114706678A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334165A (zh) * 2022-07-11 2022-11-11 西安交通大学 一种基于深度强化学***台调度方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334165A (zh) * 2022-07-11 2022-11-11 西安交通大学 一种基于深度强化学***台调度方法及***
CN115334165B (zh) * 2022-07-11 2023-10-17 西安交通大学 一种基于深度强化学***台调度方法及***

Similar Documents

Publication Publication Date Title
CN111176852B (zh) 资源分配方法、装置、芯片及计算机可读存储介质
CN104168318B (zh) 一种资源服务***及其资源分配方法
CN108984301A (zh) 自适应云资源调配方法和装置
CN109005130B (zh) 网络资源配置调度方法和装置
CN113515351A (zh) 一种基于能耗与QoS协同优化的资源调度实现方法
CN114638167B (zh) 基于多智能体强化学***分配方法
CN112181613B (zh) 异构资源分布式计算平台批量任务调度方法及存储介质
CN109976911B (zh) 一种自适应资源调度方法
CN111740925B (zh) 一种基于深度强化学习的Coflow调度方法
CN112559147B (zh) 基于gpu占用资源特点的动态匹配方法、***和设备
CN111885137A (zh) 一种基于深度强化学习的边缘容器资源分配方法
CN112799823A (zh) 边缘计算任务的在线分派调度方法和***
CN112732444A (zh) 一种面向分布式机器学习的数据划分方法
CN114706678A (zh) 一种边缘智能服务器神经网络推断任务调度方法
CN108170861B (zh) 一种基于动态规划的分布式数据库***协同优化方法
CN114518945A (zh) 一种资源调度方法、装置、设备及存储介质
CN113722112B (zh) 一种服务资源负载均衡处理方法及***
CN111131447A (zh) 一种基于中介节点任务分配的负载均衡方法
CN112685162A (zh) 边缘服务器异构计算资源的高效能调度方法、***和介质
CN114490094B (zh) 一种基于机器学习的gpu显存分配方法及***
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
CN116501483A (zh) 基于多智能体强化学习的车辆边缘计算任务调度方法
CN114896070A (zh) 一种用于深度学习任务的gpu资源分配方法
CN115310366A (zh) 一种基于随机优化模型评估机场公布容量的方法
CN110928683B (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