CN112052092A - 一种风险感知的边缘计算任务分配方法 - Google Patents

一种风险感知的边缘计算任务分配方法 Download PDF

Info

Publication number
CN112052092A
CN112052092A CN202010929293.7A CN202010929293A CN112052092A CN 112052092 A CN112052092 A CN 112052092A CN 202010929293 A CN202010929293 A CN 202010929293A CN 112052092 A CN112052092 A CN 112052092A
Authority
CN
China
Prior art keywords
task
edge
computing
node
time
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
CN202010929293.7A
Other languages
English (en)
Other versions
CN112052092B (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.)
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen 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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN202010929293.7A priority Critical patent/CN112052092B/zh
Publication of CN112052092A publication Critical patent/CN112052092A/zh
Application granted granted Critical
Publication of CN112052092B publication Critical patent/CN112052092B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Physiology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种风险感知的边缘计算任务分配方法,包括以下步骤:S1:对边缘计算任务分配问题进行建模并构建边缘计算任务分配系统;S2:构建风险感知的边缘计算任务分配策略,根据风险感知的边缘计算任务分配策略得到在中断风险下计算任务平均完成时间的最小值;S3:以中断风险下计算任务平均完成时间的最小值对应的任务分配方式进行计算任务的分配。本发明通过将任务分配至执行风险小的计算节点,减少任务中断发生的可能性,并最小化任务的平均完成时间,提高了系统的鲁棒性。

Description

一种风险感知的边缘计算任务分配方法
技术领域
本发明涉及边缘计算技术领域,更具体地,涉及一种风险感知的边缘计算任务分配方法。
背景技术
边缘计算技术作为分布式计算技术得到了迅速的发展,各种边缘计算平台或框架也被推出。边缘计算平台被部署于网络边缘上的服务器上,承担资源管理,设备管理和任务执行等功能。在此基础上,一群部署在网络边缘上的服务器组成边缘云,为用户提供低延迟的边缘服务,以满足实时交互应用的需求。
任务分配是边缘云整体运行的关键环节,边缘云中的控制器基于任务分配策略为每个任务选择合适的计算节点。在边缘计算任务分配问题上,当前已有一些工作对用户移动性、边缘计算节点的异构性、网络带宽的动态变化性等挑战开展了研究,然而针对边缘计算节点动态性和不确定性问题的研究比较少见。不同于云计算集群调度的环境,边缘计算环境下的计算节点具有多样性,可以是边缘服务器,或云中心服务器,甚至是移动设备。这些节点处于不同的网络环境中,且部分边缘计算节点处于移动网络中,而移动网络并不如有线网络稳定,其网络中断可能性相对有线网络较大。此外,具有移动性的移动设备还可能因位置变化而不定时退出边缘云。不论是网络中断或边缘计算节点退出等情况,主节点与边缘计算节点的交互连接将断开,在边缘计算节点中未执行完毕的任务将被迫中断,调度器需要将任务重新分配至合适的边缘计算节点重新执行。尽管目前已有检查点等技术可以保存部分任务的运行状态并恢复执行,能减少任务重新执行的时间开销,但并不能减少任务中断的发生频率。
在边缘计算中任务分配问题上,现有的多数研究工作通常假设任务在执行过程中是不会出错或者中断的,并没有考虑边缘计算节点的动态性和不稳定性。
在现有技术中,公开号为CN110198339A的中国发明专利,于2019年9月3日公开了一种基于QoE感知的边缘计算任务调度方法。该专利提出得分方法周期性收集各设备资源状态信息和网络状态信息。在任务分配过程中,根据预测模型估计任务在不同设备的执行时间,并基于设备资源状态信息和网络状态信息,建立线性规划模型,并求解得到任务调度结果。该专利提出的方法考虑了设备的网络状态和资源状态,能实现各设备之间的负载均衡,提高任务的执行效率。但该方案并没有考虑任务分配过程的鲁棒性。在物联网场景中,边缘设备具有异构性,智能手机和移动电脑等都可以作为边缘设备。这些设备可能因位置变动而脱离原先所在的网络,导致已任务的任务发生中断,需要重新分配和执行。因此,为了提高任务分配的鲁棒性,减少任务中断情况的发生,研究边缘计算中具有风险感知的任务分配策略具有重要意义。
发明内容
本发明为克服上述现有技术中边缘计算任务分配中没有考虑边缘计算节点的动态性和不稳定性,鲁棒性低的缺陷,提供一种风险感知的边缘计算任务分配方法。
本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
一种风险感知的边缘计算任务分配方法,包括以下步骤:
S1:对边缘计算任务分配问题进行建模并构建边缘计算任务分配系统;
S2:构建风险感知的边缘计算任务分配策略,根据风险感知的边缘计算任务分配策略得到在中断风险下计算任务平均完成时间的最小值;
S3:以中断风险下计算任务平均完成时间的最小值对应的任务分配方式进行计算任务的分配。
本方案中,所述对边缘计算任务分配问题建模包括:构建边缘云、定义边缘服务、定义任务分配决策,
其中边缘云包括:控制器、若干边缘计算节点,所述控制器与若干边缘计算节点均通过网络连接,所述控制器接收用户的任务并分配至合适的边缘计算节点,每个边缘计算节点负责执行任务并返回结果至控制器,其中边缘计算节点集合记为EN,EN={en1,en2,...,enJ},EN中有J个边缘计算节点,每个边缘计算节点与控制器的通信带宽表示为txj,1≤j≤J,设在每个边缘计算节点内部,维持若干个工作线程用以执行任务,并维持一个等待队列用以缓存未分配执行的任务,将边缘计算节点j,1≤j≤J内部的等待队列长度表示为qlj,,将每个边缘计算节点内部平均任务执行时间表示为
Figure BDA0002669628980000021
边缘服务:所述边缘服务由用户发起,每个边缘服务接收一个任务和该任务对应的数据文件,通过执行任务返回结果,在每一轮任务调度中,将任务集记为TK={tk1,tk2,...,tkI},其中I代表任务集中的任务总数,对应任务i,1≤i≤I,将该任务对应的数据文件大小记为si,由于在边缘云中的各边缘计算节点并非同构的,可能具有不同的软硬件配置,因此在同一任务在不同边缘计算节点中的执行时间也不相同。定义
Figure BDA0002669628980000031
来表示任务i在边缘计算节点j的执行时间,其中1≤i≤I,1≤j≤J;
任务分配决策:对于一个任务集合和一个边缘计算节点集合,任务分配决策定义了为每一个任务选择的边缘计算节点,可使用矩阵表示为X={x1,1,x1,2,...,x1,I,...,xi,j,...,xI,1,...,xI,J},1≤i≤I,1≤j≤J,其中xi,j=1表示将任务i分配至边缘计算节点j,xi,j=0则无此分配关系。
本方案中,所述控制器和边缘计算节点构建了边缘计算任务分配系统,所述控制器包括有:任务提交接口、第一任务管理器、调度器、任务跟踪器、预测器、节点管理器,
所述任务提交接口响应用户的服务请求,并接收任务和其他对应数据文件;
所述第一任务管理器使用等待队列管理新到达的计算任务和需要重新调度的计算任务并在每个计算任务分配周期,将所有等待计算任务提交至调度器;
节点管理器模块用于维持与边缘计算节点的组件的通信连接,并收集每个边缘节点的运行信息;
预测器用于产生计算任务被分配至边缘计算节点的完整时间的预测值和计算任务中断风险下的期望完成时间的预测值,所述预测器包括一个任务单元和一个节点预测单元,每个任务预测单元为一组具有类似软硬件配置的边缘计算节点维护已执行任务的时间分布信息并提供执行时间的预估值,使用机器类型来标记同一组边缘节点;
所述调度器在每个调度周期开始时,从预测器收集各计算任务-边缘计算节点对的完成时间预测值,并作出调度决策;
所述任务跟踪器将各计算任务分配至对应的边缘计算节点,并监控各计算任务的运行情况;
所述边缘计算节点包含心跳线程、第二任务管理器和若干工作线程,所述第二任务管理器接收来自控制器的计算任务,并加入等待队列中;
所述若干工作线程中若有空闲的工作线程,则空闲的工作线程从等待队列中选择一个计算任务并执行;
心跳线程负责定时发送本节点的运行信息至控制器。
本方案中,所述构建风险感知的边缘计算任务分配策略包括:
S201构建计算任务分配至边缘计算节点的完整时间的表达式;
S202以最小化计算任务的平均完成时间为目标建立目标函数和约束条件;
S203量化潜在的计算任务中断对任务完成时间带来的额外开销时间,将额外开销时间加上无风险时计算完成时间作为中断风险下的完成时间对步骤S202中的目标函数进行更新;
S204求解更新后目标函数的最优解。
本方案中,计算任务被分配至边缘计算节点的完整时间记为
Figure BDA0002669628980000041
Figure BDA0002669628980000042
每个任务的完整运行包含若干过程,分别记为:第一过程、第二过程、第三过程,所述第一过程为任务及其数据文件被传输至对应的边缘计算节点,并加入该节点内部的等待队列中;所述第二过程为如果边缘计算节点内部的没有空闲的工作线程,则任务需要在等待队列中等待直至被分配至某个空闲线程;所述第三个过程为任务被某个空闲线程调用执行;
其中,计算任务在第一个过程的传输时间记为
Figure BDA0002669628980000043
其计算公式为:
Figure BDA0002669628980000044
计算任务在第二个过程的等待时间记为
Figure BDA0002669628980000045
其计算公式为:
Figure BDA0002669628980000046
计算任务在第三个过程的执行时间即
Figure BDA0002669628980000047
本方案中,以最小化计算任务的平均完成时间为目标建立目标函数和约束条件,所述目标函数表达式为:
Figure BDA0002669628980000048
约束条件为:
s.t.∑ixi,j=1,
xi,j∈{0,1},1≤i≤I,1≤j≤J (4)
其中,目标函数中将计算任务分配问题转化为了线性规划问题,规划问题的代价为批量任务完成时间之和,
Figure BDA0002669628980000051
为补偿项,所述补偿项表示将多个任务分配至同一个节点时的各任务的额外等待时间之和。
本方案中,量化潜在的计算任务中断对任务完成时间带来的额外开销时间,将额外开销时间加上无风险时计算完成时间作为中断风险下的完成时间对步骤S202中的目标函数进行优化,具体包括:
将边缘节点的预计留存时间和边缘节点在边缘云中已读过的时间两者差值定义为边缘节点的剩余存留时间,当将一个计算任务分配至一个边缘计算节点,设该边缘计算节点的剩余存留时间为一个随机变量RPT,其概率分布律表示为:
pm=P(PRT=rptm),m=1,2,...,M, (5)
其中rptm代表PRT的所有可能取值,M代表这些取值的数量;设任务的完成时间为一个随机变量CT,其概率分布律表示为:
qn=P(CT=ctn),n=1,2,...,N, (6)
其中ctn代表CT的所有可能取值,N代表所有可能取值的数量;
由于每次任务分配决策是相互独立的,故在量化单次任务中断的时间开销时假设任务的第二次执行必然完成,又假设计算任务在重新调度时也被分配至一个软硬件配置相似的边缘计算节点,也即第二次正常运行时间与第一次正常运行时间相同,则定义在计算任务中断风险下的期望完成时间为随机变量TCT,表达式如下:
Figure BDA0002669628980000052
随机变量TCT的数学期望表达式为:
Figure BDA0002669628980000053
由公式(8)知,引入计算任务中断风险后,任务的期望完成时间从E(CT)变成了E(TCT),后者比前者多了一项,也即是潜在计算任务中断带来的额外开销时间的期望值,故定义潜在计算任务中断带来的额外开销时间为ET,其期望值如公式(9)所示:
Figure BDA0002669628980000061
定义
Figure BDA0002669628980000062
为ET的预估值,定义在计算任务中断风险下的期望完成时间为
Figure BDA0002669628980000063
其值等于正常完成时间
Figure BDA0002669628980000064
Figure BDA0002669628980000065
之和,如公式(10)所示:
Figure BDA0002669628980000066
Figure BDA0002669628980000067
取代
Figure BDA0002669628980000068
建立风险感知的任务分配策略,将线性规划问题更新如公式(11)所示:
Figure BDA0002669628980000069
Figure BDA00026696289800000610
xi,j∈{0,1},1≤i≤I,1≤j≤J, (11)
本方案中,求解更新后目标函数的最优解是采用遗传算法在设定的迭代次数内获得近似最优解,在编码过程中,对于任务集TK={tk1,tk2,...,tkI}和边缘计算节点集EN={en1,en2,...,enJ},一种任务分配决策X={x1,1,x1,2,...,x1,I,...,xi,j,...,xI,1,...,xI,J}被编码为一个向量S={si=enj,1≤i≤I,1≤j≤J},代表一条染色体;其中,si=enj表示将任务i调度至边缘计算节点j,
本方案中,遗传算法中适应度函数表达式为:
Figure BDA00026696289800000611
Figure BDA00026696289800000612
本方案中,预测器采用黑盒方法来为每个计算任务产生概率分布和预测值。
与现有技术相比,本发明技术方案的有益效果是:
本发明基于构建的边缘计算任务分配系统通过风险感知的边缘计算任务分配策略进行计算任务的分配,充分考虑了边缘计算节点的动态性和不稳定性,通过将任务分配至执行风险小的计算节点,减少任务中断发生的可能性,并最小化任务的平均完成时间,提高了系统的鲁棒性。
附图说明
图1为本发明方法流程图。
图2为基于边缘设备组成的边缘云示意图。
图3为边缘计算任务分配系统图。
图4为本发明中任务分配策略各种时间值的概率分布关系图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例1
如图1所示,一种风险感知的边缘计算任务分配方法,包括以下步骤:
S1:对边缘计算任务分配问题进行建模并构建边缘计算任务分配系统;
S2:构建风险感知的边缘计算任务分配策略,根据风险感知的边缘计算任务分配策略得到中断风险下计算任务平均完成时间的最小值;
S3:以中断风险下的计算任务平均完成时间的最小值对应的任务分配方式进行计算任务的分配。
图2示出了基于边缘设备组成的边缘云。
本方案中,所述对边缘计算任务分配问题建模包括:构建边缘云、定义边缘服务、定义任务分配决策,
其中边缘云包括:控制器、若干边缘计算节点,所述控制器与若干边缘计算节点均通过网络连接,所述控制器接收用户的任务并分配至合适的边缘计算节点,每个边缘计算节点负责执行任务并返回结果至控制器,需要说明的是,移动设备由于动态性可以不定时加入或退出边缘云,边缘服务器在边缘云中存留更持久和稳定,本发明使用存留时间指代边缘计算节点从加入至退出边缘云两时刻之间的时间段,所述退出广泛地指代由于边缘计算节点主动退出、关机或断开网络等原因导致的与边缘云控制器交互断开的事件。本发明并不特别区分某个边缘计算节点是服务器还是移动设备,两者仅在于计算能力和在边缘云中的存留时间有差别,但本质都是提供计算资源的计算节点。对于长期稳定的服务器,其存留时间可认为是无限大的。
其中,边缘计算节点集合记为EN,EN={en1,en2,...,enJ},EN中有J个边缘计算节点,每个边缘计算节点与控制器的通信带宽表示为txj,1≤j≤J,设在每个边缘计算节点内部,维持若干个工作线程用以执行任务,并维持一个等待队列用以缓存未分配执行的任务,将边缘计算节点j,1≤j≤J内部的等待队列长度表示为qlj,,将每个边缘计算节点内部平均任务执行时间表示为
Figure BDA0002669628980000081
边缘服务:所述边缘服务由用户发起,每个边缘服务接收一个任务和该任务对应的数据文件,通过执行任务返回结果,在每一轮任务调度中,将任务集记为TK={tk1,tk2,...,tkI},其中I代表任务集中的任务总数,对应任务i,1≤i≤I,将该任务对应的数据文件大小记为si,由于在边缘云中的各边缘计算节点并非同构的,可能具有不同的软硬件配置,因此在同一任务在不同边缘计算节点中的执行时间也不相同。定义
Figure BDA0002669628980000082
来表示任务i在边缘计算节点j的执行时间,其中1≤i≤I,1≤j≤J;
任务分配决策:对于一个任务集合和一个边缘计算节点集合,任务分配决策定义了为每一个任务选择的边缘计算节点,使用矩阵表示为X={x1,1,x1,2,...,x1,I,...,xi,j,...,xI,1,...,xI,J},1≤i≤I,1≤j≤J,其中xi,j=1表示将任务i分配至边缘计算节点j,xi,j=0则无此分配关系。
如图3所示,本方案中,所述控制器和边缘计算节点构建了边缘计算任务分配系统,所述控制器包括有:任务提交接口、第一任务管理器、调度器、任务跟踪器、预测器、节点管理器,
所述任务提交接口响应用户的服务请求,并接收任务和其他对应数据文件;
所述第一任务管理器使用等待队列管理新到达的计算任务和需要重新调度的计算任务并在每个计算任务分配周期,将所有等待计算任务提交至调度器;
节点管理器模块用于维持与边缘计算节点的组件的通信连接,并收集每个边缘节点的运行信息(如等待队列长度);若节点管理器模块发现某边缘计算节点心跳超时,则将该边缘计算节点的已分配任务重新加入任务管理器,并删除该边缘计算节点信息,同时将该边缘计算节点的存留时间信息告知预测器中对应的节点预测单元。
预测器用于产生计算任务被分配至边缘计算节点的完整时间的预测值和计算任务中断风险下的期望完成时间的预测值,所述预测器包括一个任务单元和一个节点预测单元,每个任务预测单元为一组具有类似软硬件配置的边缘计算节点维护已执行任务的时间分布信息并提供执行时间的预估值,使用机器类型来标记同一组边缘节点;
所述调度器在每个调度周期开始时,从预测器收集各计算任务-边缘计算节点对的完成时间预测值,并作出调度决策;
所述任务跟踪器将各计算任务分配至对应的边缘计算节点,并监控各计算任务的运行情况;当发生任务中断时,将该任务重新加入调度队列中。当任务完成执行并从边缘节点返回结果时,将该任务的执行时间告知预测器中对应的任务预测单元。
所述边缘计算节点包含心跳线程、第二任务管理器和若干工作线程,所述第二任务管理器接收来自控制器的计算任务,并加入等待队列中;
所述若干工作线程中若有空闲的工作线程,则空闲的工作线程从等待队列中选择一个计算任务并执行;
心跳线程负责定时发送本节点的运行信息(包括等待队列长度)至控制器。
本方案中,风险感知的边缘计算任务分配策略基于上述边缘计算任务分配系统进行实施,在每个调度周期内,控制器内部的调度器作出任务分配决策。此后,每个任务的完整运行过程包含若干部分。首先,任务及其数据文件被传输至对应的边缘计算节点,并加入该节点内部的等待队列中。其次,如果边缘计算节点内部的没有空闲的工作线程,则任务需要在等待队列中等待直至被分配至某个空闲线程。再次,任务被某个空闲线程调用并执行。最后,当任务执行完毕,返回结果至控制器。由于任务的返回结果通常数据量较小,其占用时间相对其他过程较短,因此省略考虑此过程。
所述风险感知的边缘计算任务分配策略构建过程包括:
S201构建计算任务分配至边缘计算节点的完整时间的表达式;
S202以最小化计算任务的平均完成时间为目标建立目标函数和约束条件;
S203量化潜在的计算任务中断对任务完成时间带来的额外开销时间,将额外开销时间加上无风险时计算完成时间作为中断风险下的完成时间对步骤S202中的目标函数进行更新;
S204求解更新后的目标函数的最优解。
本方案中,设没有任务中断的情况发生,即在不考虑任务的重新调度和执行的情况下,计算任务被分配至边缘计算节点的完整时间记为
Figure BDA0002669628980000101
Figure BDA0002669628980000102
每个任务的完整运行包含若干过程,分别记为:第一过程、第二过程、第三过程,所述第一过程为任务及其数据文件被传输至对应的边缘计算节点,并加入该节点内部的等待队列中;所述第二过程为如果边缘计算节点内部的没有空闲的工作线程,则任务需要在等待队列中等待直至被分配至某个空闲线程;所述第三个过程为任务被某个空闲线程调用执行;
其中,计算任务在第一个过程的传输时间记为
Figure BDA0002669628980000103
其计算公式为:
Figure BDA0002669628980000104
计算任务在第二个过程的等待时间记为
Figure BDA0002669628980000105
其计算公式为:
Figure BDA0002669628980000106
计算任务在第三个过程的执行时间即
Figure BDA0002669628980000107
本方案中,在不考虑任务执行风险的情况下,以最小化计算任务的平均完成时间为目标建立目标函数和约束条件,所述目标函数表达式为:
Figure BDA0002669628980000108
约束条件为:
s.t.∑ixi,j=1,
xi,j∈{0,1},1≤i≤I,1≤j≤J (4)
其中,目标函数中将计算任务分配问题转化为了线性规划问题,规划问题的代价为批量任务完成时间之和,
Figure BDA0002669628980000109
为补偿项,所述补偿项表示将多个任务分配至同一个节点时的各任务的额外等待时间之和。
需要说明的是,在约束条件中,∑ixi,j=1确保每个任务只能被调度至一个边缘计算节点和执行一次。在最小化该目标函数的代价的过程,求解算法将尽量避免将多个任务分配至同一个边缘计算节点,以获得最小的代价。
本方案中,在上述线性规划问题中加入对任务执行风险的考虑,使用概率分布的观点以量化潜在的任务中断对任务完成时间带来的额外开销时间。量化潜在的计算任务中断对任务完成时间带来的额外开销时间,将额外开销时间加上无风险时计算完成时间作为中断风险下的完成时间对步骤S202中的目标函数进行优化,具体包括:
将边缘节点的预计留存时间和边缘节点在边缘云中已读过的时间两者差值定义为边缘节点的剩余存留时间,当将一个计算任务分配至一个边缘计算节点,设该边缘计算节点的剩余存留时间为一个随机变量RPT,其概率分布律表示为:
pm=P(PRT=rptm),m=1,2,...,M, (5)
其中rptm代表PRT的所有可能取值,M代表这些取值的数量;设任务的完成时间为一个随机变量CT,其概率分布律表示为:
qn=P(CT=ctn),n=1,2,...,N, (6)
其中ctn代表CT的所有可能取值,N代表所有可能取值的数量;
由于每次任务分配决策是相互独立的,故在量化单次任务中断的时间开销时假设任务的第二次执行必然完成,又假设计算任务在重新调度时也被分配至一个软硬件配置相似的边缘计算节点,也即第二次正常运行时间与第一次正常运行时间相同,则定义在计算任务中断风险下的期望完成时间为随机变量TCT,表达式如下:
Figure BDA0002669628980000111
随机变量TCT的数学期望表达式为:
Figure BDA0002669628980000112
由公式(8)知,引入计算任务中断风险后,任务的期望完成时间从E(CT)变成了E(TCT),后者比前者多了一项,也即是潜在计算任务中断带来的额外开销时间的期望值,故定义潜在计算任务中断带来的额外开销时间为ET,其期望值如公式(9)所示:
Figure BDA0002669628980000121
定义
Figure BDA0002669628980000122
为ET的预估值,定义在计算任务中断风险下的期望完成时间为
Figure BDA0002669628980000123
其值等于正常完成时间
Figure BDA0002669628980000124
Figure BDA0002669628980000125
之和,如公式(10)所示:
Figure BDA0002669628980000126
Figure BDA0002669628980000127
取代
Figure BDA0002669628980000128
建立风险感知的任务分配策略,将线性规划问题更新如公式(11)所示:
Figure BDA0002669628980000129
Figure BDA00026696289800001210
xi,j∈{0,1},1≤i≤I,1≤j≤J, (11)
需要说明的是,在本发明中,求解线性规划问题优化过程中,为了获取最小代价,一方面从总体上最小化任务的期望平均完成时间,另一方面需要为每一个任务最小化额外开销时间。从任务分配过程看,调度器将为每个任务尽量分配计算力强且风险小的边缘计算节点。
本方案中,求解更新后目标函数的最优解是采用遗传算法在设定的迭代次数内获得近似最优解,在编码过程中,对于任务集TK={tk1,tk2,...,tkI}和边缘计算节点集EN={en1,en2,...,enJ},一种任务分配决策X={x1,1,x1,2,...,x1,I,...,xi,j,...,xI,1,...,xI,J}被编码为一个向量S={si=enj,1≤i≤I,1≤j≤J},代表一条染色体;其中,si=enj表示将任务i调度至边缘计算节点j,
本方案中,遗传算法中适应度函数表达式为:
Figure BDA00026696289800001211
Figure BDA00026696289800001212
本方案中,预测器采用黑盒方法来为每个计算任务产生概率分布和预测值。
下面详细阐述黑盒方法产生概率分布和预测值的过程:
所述黑盒方法假设大部分任务与先前所有任务的某个子集类似,且类似任务有相似的执行时间。所述黑盒方法不需要获取计算任务的结构信息或用户预先提供的信息,但需要每个计算任务的属性集合。本文中选用三个属性:提交任务的用户名、任务名和任务逻辑名(如图像识别或矩阵乘法)。对于每个属性-值对,所述黑盒方法通过直方图跟踪所有具有相同属性和值的任务的执行时间并生成一个经验分布。每个属性-值对应的直方图将使用四种点估计技术进行预估:平均值、中值、衰减率为0.5的移动平均值以及最近20个任务的平均值。同时在每次预估时维护四个点估计技术的归一化平均绝对误差(normalizedmean absolute error,NMAE)。当预估一个带有若干属性的任务的执行时间时,从所有属性-值对应的直方图中比较所有点估计技术的NMAE,选择最低NMAE对应的点估计值和执行时间分布。此外,本发明实施例中新增了一个直方图以跟踪所有任务的执行时间,用于预估平均任务执行时间。根据以上原理,每个任务预测单元为一组边缘计算节点维护其任务执行时间的分布。
每个节点预测单元为一组边缘计算节点维护其存留时间的分布,但由于边缘计算节点没有类似属性,因此并不用区分多种属性维护存留时间的分布。
本发明采用基于流的直方图算法以构建直方图。一个直方图是一个键值对的集合,作为一个实数集合的近似代表,表示为{(v1,f1),...,(vB,fB)}。对于每对(vi,fi),1≤i≤B,vi表示一个数字的值,而fi该数字的频数。本发明定义一个称作概率直方图的新概念,表示为{(v1,p1),...,(vB,pB)}。对于每对(vi,pi),1≤i≤B,vi表示一个数字的值,而pi该数字的概率。因此,概率直方图是一个概率分布的近似代表。本发明新增两个算法用以将直方图转换为概率直方图,如算法1和算法2所示。
Figure BDA0002669628980000131
Figure BDA0002669628980000141
算法1首先根据一个位移值对一个直方图进行右移操作,然后将给直方图转换成概率直方图。算法2首先在某个直方图中根据某个给定值,过滤掉小于该值的点,然后将剩余的直方图转换为概率直方图。
本实施例所述任务调度策略中各种时间值的概率分布的关系如图4所示。预测器从任务预测单元获取任务的执行时间的概率分布,并使用公式(2)和(3)计算任务的传输时间和等待时间后,使用算法1可以获得任务完成时间的概率分布和预测值。类似地,从节点预测单元获取存留时间的概率分布,在计算该节点的已存留时间后,使用算法2可以获得节点剩余存留时间的概率分布。进而根据公式
Figure BDA0002669628980000142
计算额外开销时间,根据公式(1)和公式(10)计算任务在中断风险下的期望完成时间。
在可扩展性方面,本发明实施例中主要使用三种设计以减少内存占用。首先,黑盒方法和直方图算法本身的设计能够使用固定大小的内存来维护一个任意键值对的直方图。其次,本发明每个任务预测单元不必仅为单个边缘计算节点维护一个执行时间直方图,可共同为一群软硬件配置相似的边缘计算节点服务,比如按照CPU计算能力分类,也可简单地分为手机、移动电脑和边缘服务器等三类。最后,类似地,本文发明每个节点预测单元为一群网络环境相似(比如在同一无线接入点下)的边缘节点维护一个存留时间直方图,而不仅是单个边缘计算节点。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种风险感知的边缘计算任务分配方法,其特征在于,包括以下步骤:
S1:对边缘计算任务分配问题进行建模并构建边缘计算任务分配系统;
S2:构建风险感知的边缘计算任务分配策略,根据风险感知的边缘计算任务分配策略得到在中断风险下计算任务平均完成时间的最小值;
S3:以中断风险下计算任务平均完成时间的最小值对应的任务分配方式进行计算任务的分配。
2.根据权利要求1所述的一种风险感知的边缘计算任务分配方法,其特征在于,所述对边缘计算任务分配问题建模包括:构建边缘云、定义边缘服务、定义任务分配决策,
其中边缘云包括:控制器、若干边缘计算节点,所述控制器与若干边缘计算节点均通过网络连接,所述控制器接收用户的任务并分配至合适的边缘计算节点,每个边缘计算节点负责执行任务并返回结果至控制器,其中边缘计算节点集合记为EN,EN={en1,en2,...,enJ},EN中有J个边缘计算节点,每个边缘计算节点与控制器的通信带宽表示为txj,1≤j≤J,设在每个边缘计算节点内部,维持若干个工作线程用以执行任务,并维持一个等待队列用以缓存未分配执行的任务,将边缘计算节点j,1≤j≤J内部的等待队列长度表示为qlj,,将每个边缘计算节点内部平均任务执行时间表示为
Figure FDA0002669628970000011
边缘服务:所述边缘服务由用户发起,每个边缘服务接收一个任务和该任务对应的数据文件,通过执行任务返回结果,在每一轮任务调度中,将任务集记为TK={tk1,tk2,...,tkI},其中I代表任务集中的任务总数,对应任务i,1≤i≤I,将该任务对应的数据文件大小记为si,,定义
Figure FDA0002669628970000012
来表示任务i在边缘计算节点j的执行时间,其中1≤i≤I,1≤j≤J;
任务分配决策:对于一个任务集合和一个边缘计算节点集合,任务分配决策定义了为每一个任务选择的边缘计算节点,可使用矩阵表示为X={x1,1,x1,2,...,x1,I,...,xi,j,...,xI,1,...,xI,J},1≤i≤I,1≤j≤J,其中xi,j=1表示将任务i分配至边缘计算节点j,xi,j=0则无此分配关系。
3.根据权利要求2所述的一种风险感知的边缘计算任务分配方法,其特征在于,所述控制器和边缘计算节点构建了边缘计算任务分配系统,所述控制器包括有:任务提交接口、第一任务管理器、调度器、任务跟踪器、预测器、节点管理器,
所述任务提交接口响应用户的服务请求,并接收任务和其他对应数据文件;
所述第一任务管理器使用等待队列管理新到达的计算任务和需要重新调度的计算任务并在每个计算任务分配周期,将所有等待计算任务提交至调度器;
节点管理器模块用于维持与边缘计算节点的组件的通信连接,并收集每个边缘节点的运行信息;
预测器用于产生计算任务被分配至边缘计算节点的完整时间的预测值和计算任务中断风险下的期望完成时间的预测值,所述预测器包括一个任务单元和一个节点预测单元,每个任务预测单元为一组具有类似软硬件配置的边缘计算节点维护已执行任务的时间分布信息并提供执行时间的预估值,使用机器类型来标记同一组边缘节点;
所述调度器在每个调度周期开始时,从预测器收集各计算任务-边缘计算节点对的完成时间预测值,并作出调度决策;
所述任务跟踪器将各计算任务分配至对应的边缘计算节点,并监控各计算任务的运行情况;
所述边缘计算节点包含心跳线程、第二任务管理器和若干工作线程,所述第二任务管理器接收来自控制器的计算任务,并加入等待队列中;
所述若干工作线程中若有空闲的工作线程,则空闲的工作线程从等待队列中选择一个计算任务并执行;
心跳线程负责定时发送本节点的运行信息至控制器。
4.根据权利要求3所述的一种风险感知的边缘计算任务分配方法,其特征在于,所述构建风险感知的边缘计算任务分配策略包括:
S201构建计算任务分配至边缘计算节点的完整时间的表达式;
S202以最小化计算任务的平均完成时间为目标建立目标函数和约束条件;
S203量化潜在的计算任务中断对任务完成时间带来的额外开销时间,将额外开销时间加上无风险时计算完成时间作为中断风险下的完成时间对步骤S202中的目标函数进行更新;
S204求解更新后的目标函数的最优解。
5.根据权利要求4所述的一种风险感知的边缘计算任务分配方法,其特征在于,计算任务被分配至边缘计算节点的完整时间记为
Figure FDA0002669628970000031
Figure FDA0002669628970000032
每个任务的完整运行包含若干过程,分别记为:第一过程、第二过程、第三过程,所述第一过程为任务及其数据文件被传输至对应的边缘计算节点,并加入该节点内部的等待队列中;所述第二过程为如果边缘计算节点内部的没有空闲的工作线程,则任务需要在等待队列中等待直至被分配至某个空闲线程;所述第三个过程为任务被某个空闲线程调用执行;
其中,计算任务在第一个过程的传输时间记为
Figure FDA0002669628970000033
其计算公式为:
Figure FDA0002669628970000034
计算任务在第二个过程的等待时间记为
Figure FDA0002669628970000035
其计算公式为:
Figure FDA0002669628970000036
计算任务在第三个过程的执行时间即
Figure FDA0002669628970000037
6.根据权利要求5所述的一种风险感知的边缘计算任务分配方法,其特征在于,以最小化计算任务的平均完成时间为目标建立目标函数和约束条件,所述目标函数表达式为:
Figure FDA0002669628970000038
约束条件为:
s.t.∑ixi,j=1,
xi,j∈{0,1},1≤i≤I,1≤j≤J (4)
其中,目标函数中将计算任务分配问题转化为了线性规划问题,规划问题的代价为批量任务完成时间之和,
Figure FDA0002669628970000039
为补偿项,所述补偿项表示将多个任务分配至同一个节点时的各任务的额外等待时间之和。
7.根据权利要求6所述的一种风险感知的边缘计算任务分配方法,其特征在于,量化潜在的计算任务中断对任务完成时间带来的额外开销时间,将额外开销时间加上无风险时计算完成时间作为中断风险下的完成时间对步骤S202中的目标函数进行优化,具体包括:
将边缘节点的预计留存时间和边缘节点在边缘云中已读过的时间两者差值定义为边缘节点的剩余存留时间,当将一个计算任务分配至一个边缘计算节点,设该边缘计算节点的剩余存留时间为一个随机变量RPT,其概率分布律表示为:
pm=P(PRT=rptm),m=1,2,...,M, (5)
其中,rptm代表PRT的所有可能取值,M代表这些取值的数量;设任务的完成时间为一个随机变量CT,其概率分布律表示为:
qn=P(CT=ctn),n=1,2,...,N, (6)
其中,ctn代表CT的所有可能取值,N代表所有可能取值的数量;
由于每次任务分配决策是相互独立的,故在量化单次任务中断的时间开销时假设任务的第二次执行必然完成,又假设计算任务在重新调度时也被分配至一个软硬件配置相似的边缘计算节点,也即第二次正常运行时间与第一次正常运行时间相同,则定义在计算任务中断风险下的期望完成时间为随机变量TCT,表达式如下:
Figure FDA0002669628970000041
随机变量TCT的数学期望表达式为:
Figure FDA0002669628970000042
由公式(8)知,引入计算任务中断风险后,任务的期望完成时间从E(CT)变成了E(TCT),后者比前者多了一项,也即是潜在计算任务中断带来的额外开销时间的期望值,故定义潜在计算任务中断带来的额外开销时间为ET,其期望值如公式(9)所示:
Figure FDA0002669628970000043
定义
Figure FDA0002669628970000044
为ET的预估值,定义在计算任务中断风险下的期望完成时间为
Figure FDA0002669628970000045
其值等于正常完成时间
Figure FDA0002669628970000046
Figure FDA0002669628970000047
之和,如公式(10)所示:
Figure FDA0002669628970000051
Figure FDA0002669628970000052
取代
Figure FDA0002669628970000053
建立风险感知的任务分配策略,将线性规划问题更新如公式(11)所示:
Figure FDA0002669628970000054
Figure FDA0002669628970000055
xi,j∈{0,1},1≤i≤I,1≤j≤J, (11) 。
8.根据权利要求7所述的一种风险感知的边缘计算任务分配方法,其特征在于,求解更新后的目标函数的最优解是采用遗传算法在设定的迭代次数内获得近似最优解,在编码过程中,对于任务集TK={tk1,tk2,...,tkI}和边缘计算节点集EN={en1,en2,...,enJ},一种任务分配决策X={x1,1,x1,2,...,x1,I,...,xi,j,...,xI,1,...,xI,J}被编码为一个向量S={si=enj,1≤i≤I,1≤j≤J},代表一条染色体;其中,si=enj表示将任务i调度至边缘计算节点。
9.根据权利要求8所述的一种风险感知的边缘计算任务分配方法,其特征在于,遗传算法中适应度函数表达式为:
Figure FDA0002669628970000056
Figure FDA0002669628970000057
10.根据权利要求9所述的一种风险感知的边缘计算任务分配方法,其特征在于,预测器采用黑盒方法来为每个计算任务产生概率分布和预测值。
CN202010929293.7A 2020-09-07 2020-09-07 一种风险感知的边缘计算任务分配方法 Active CN112052092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010929293.7A CN112052092B (zh) 2020-09-07 2020-09-07 一种风险感知的边缘计算任务分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010929293.7A CN112052092B (zh) 2020-09-07 2020-09-07 一种风险感知的边缘计算任务分配方法

Publications (2)

Publication Number Publication Date
CN112052092A true CN112052092A (zh) 2020-12-08
CN112052092B CN112052092B (zh) 2024-04-26

Family

ID=73609985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010929293.7A Active CN112052092B (zh) 2020-09-07 2020-09-07 一种风险感知的边缘计算任务分配方法

Country Status (1)

Country Link
CN (1) CN112052092B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225757A (zh) * 2021-05-08 2021-08-06 深圳职业技术学院 一种边缘节点识别方法
CN113242294A (zh) * 2021-05-08 2021-08-10 西北工业大学 一种面向群智感知数据的流计算处理方法
CN113918323A (zh) * 2021-09-17 2022-01-11 中标慧安信息技术股份有限公司 边缘计算中高能效的计算任务分配方法和装置
CN114095356A (zh) * 2021-11-16 2022-02-25 北京中科晶上科技股份有限公司 一种结点任务策略的实时配置方法及装置
CN115599529A (zh) * 2022-11-15 2023-01-13 阿里巴巴(中国)有限公司(Cn) 边缘云函数计算系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491790A (zh) * 2018-11-02 2019-03-19 中山大学 基于容器的工业物联网边缘计算资源分配方法及系统
CN109947551A (zh) * 2019-03-19 2019-06-28 中南大学 一种多轮次任务分配方法、边缘计算系统及其存储介质
CN111355779A (zh) * 2020-02-18 2020-06-30 湖南大学 基于服务的车联网任务卸载方法及其卸载装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491790A (zh) * 2018-11-02 2019-03-19 中山大学 基于容器的工业物联网边缘计算资源分配方法及系统
CN109947551A (zh) * 2019-03-19 2019-06-28 中南大学 一种多轮次任务分配方法、边缘计算系统及其存储介质
CN111355779A (zh) * 2020-02-18 2020-06-30 湖南大学 基于服务的车联网任务卸载方法及其卸载装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LEI YANG ET AL.: "Multi-UAV-Enabled Load-Balance Mobile-Edge Computing for IoT Networks", 《IEEE INTERNET OF THINGS JOURNAL》, vol. 7, no. 8, pages 6898 - 6908, XP011805458, DOI: 10.1109/JIOT.2020.2971645 *
梁家越 等: "边缘计算开源平台现状分析", 《中兴通讯技术》, vol. 25, no. 3, pages 8 - 14 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225757A (zh) * 2021-05-08 2021-08-06 深圳职业技术学院 一种边缘节点识别方法
CN113242294A (zh) * 2021-05-08 2021-08-10 西北工业大学 一种面向群智感知数据的流计算处理方法
CN113918323A (zh) * 2021-09-17 2022-01-11 中标慧安信息技术股份有限公司 边缘计算中高能效的计算任务分配方法和装置
CN114095356A (zh) * 2021-11-16 2022-02-25 北京中科晶上科技股份有限公司 一种结点任务策略的实时配置方法及装置
CN114095356B (zh) * 2021-11-16 2024-04-19 北京中科晶上科技股份有限公司 一种结点任务策略的实时配置方法及装置
CN115599529A (zh) * 2022-11-15 2023-01-13 阿里巴巴(中国)有限公司(Cn) 边缘云函数计算系统和方法

Also Published As

Publication number Publication date
CN112052092B (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
CN112052092B (zh) 一种风险感知的边缘计算任务分配方法
US9112782B2 (en) Reactive auto-scaling of capacity
Han et al. Tailored learning-based scheduling for kubernetes-oriented edge-cloud system
US7117499B2 (en) Virtual computer systems and computer virtualization programs
US8332873B2 (en) Dynamic application instance placement in data center environments
US8701112B2 (en) Workload scheduling
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
CN111813523A (zh) 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
US9817698B2 (en) Scheduling execution requests to allow partial results
CN115794337A (zh) 资源调度方法、装置、云平台、设备及存储介质
CN114327811A (zh) 一种任务调度方法、装置、设备及可读存储介质
CN111796933A (zh) 资源调度方法、装置、存储介质和电子设备
CN117349026B (zh) 一种用于aigc模型训练的分布式算力调度系统
US20230254214A1 (en) Control apparatus, virtual network assignment method and program
CN116643844B (zh) 面向电力超算云资源自动扩展的智能化管理系统及方法
CN116340393A (zh) 数据库饱和度的预测方法、存储介质及数据库系统
CN112306642B (zh) 一种基于稳定匹配博弈理论的工作流调度方法
CN115509724A (zh) 基于任务分层与回填最早完成时间的任务调度方法及系统
Hung et al. A dynamic scheduling method for collaborated cloud with thick clients.
CN115665158A (zh) 一种容器集群服务动态管理方法及系统
Du et al. A combined priority scheduling method for distributed machine learning
CN114090239A (zh) 一种基于模型的强化学习的边缘资源调度方法和装置
JP7077985B2 (ja) リソース競合調停装置、リソース競合調停方法、及びプログラム
Ouammou et al. Modeling decision making to control the allocation of virtual machines in a cloud computing system with reserve machines
CN111858051A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Fang

Inventor after: Liang Jiayue

Inventor after: Jin Hang

Inventor before: Liu Fang

Inventor before: Liang Jiayue

Inventor before: Jin Hang

Inventor before: Xiao Nong

GR01 Patent grant
GR01 Patent grant