CN111381950B - 一种面向边缘计算环境基于多副本的任务调度方法和*** - Google Patents
一种面向边缘计算环境基于多副本的任务调度方法和*** Download PDFInfo
- Publication number
- CN111381950B CN111381950B CN202010147501.8A CN202010147501A CN111381950B CN 111381950 B CN111381950 B CN 111381950B CN 202010147501 A CN202010147501 A CN 202010147501A CN 111381950 B CN111381950 B CN 111381950B
- Authority
- CN
- China
- Prior art keywords
- task
- nodes
- tasks
- cluster
- job
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种面向边缘计算环境基于多副本的任务调度方法和***。所述方法包括:定期测量和收集每个边缘集群内任务的执行状态,建立本集群的任务时间延迟因子分布概率模型,所述模型描述了集群的资源性能;基于最短剩余处理时间原则和公平共享原则预估各作业可执行任务需要的副本数;基于各作业当前进度和集群的资源性能,采用迭代分配方式将各集群的空闲节点,根据预估的副本数,分配给各个任务;将分配到节点的任务调度到相应的集群来执行。利用本发明能够在真实***中有效利用边缘计算环境中的空闲资源,通过合理的设定任务副本,降低作业的运行时延。
Description
技术领域
本发明涉及边缘计算环境中作业处理***中的任务调度以及资源分配,具体涉及一种面向边缘计算环境基于多副本降低大数据处理应用时延的任务调度方法及调度***。
背景技术
如今,用户与云端数据交互日益频繁,云服务提供者在部署骨干数据中心的同时,加快“边缘”集群的建设。谷歌在全球建有15个数据中心,同时也被探测出有来自139个国家1400余个端服务器为终端用户服务;阿里云建立了18个数据中心,而其内容分发网络产品(CDN)覆盖超过1200个加速端服务器,跨越6大洲的多个运营商(ISP)网络。对于依赖云端建立的IT服务商,各类型的用户数据也越来越分散于地域分布的多个集群中,由这些异构的集群与跨ISP网络连接构成云-边缘融合的广域存储与计算环境。
一个大数据处理、机器学习等作业由多个存在数据依赖的阶段组成,同一阶段中的多个任务并行执行,对不同的数据分区执行相似的计算。一次作业可能涉及多个集群数据的处理与汇聚,并依靠广域网络进行必要的数据传输。例如,搜索引擎应用基于关键字的广告投放,需要定期收集指定区域内各类广告点击量。统计表明谷歌在2016年每天的搜索量达55亿次,会产生至少1.1TB数据分散于各边缘集群。由于广域网络带宽受限,这类跨域大数据分析通常采用将大量原始数据留在原地,而分派并行任务到相应边缘集群处理数据,以求更快完成计算。
基于并行处理的作业通常会被一些“慢”任务拖延。微软的一个商用集群显示约一半的作业至少被“慢”任务拉长34%的完成时间。“慢”任务产生的原因十分复杂且不可避免,包括间歇性的组件故障、底层资源争用、广域网络拥塞等,都会导致计算节点(也可以称机器或者容器,用于承载任务的计算单位)的实际服务能力在短时间内发生较大波动,使得计算任务真实执行时间远远超出预期,成为“慢”任务。而且,随着云服务计算基础设施规模的扩张,上述现象愈加普遍,尤其是在资源有限的边缘集群。
当前应用最广泛的“慢”任务处理方案是多副本执行,即任务复制,为已变(或可能变)“慢”的任务执行多个副本,然后基于最快副本的处理结果推进后续计算。对于边缘计算环境中的大数据处理作业,如图1所示,人们可能希望不仅在本地复制任务,还可以远程复制任务,利用其它边缘集群的空闲资源,降低大数据处理应用时延。
然而,涉及多集群的跨域任务调度和复制实际上面临着严峻的挑战。首先,***环境是高度动态且不确定的。例如,作业的到来可能是随时间变化且不可预测的,***的可用资源相应变化,使用边缘集群的空闲资源复制任务不应影响到***正常/即将到达作业的资源使用;节点性能的不稳定也会造成在实际执行副本之前,副本执行时间未知,尤其是边缘服务器通常能力有限易发生过载。加上广域网络波动大,这些都会影响副本的执行。设计出不断适应这种动态性和不确定性的在线算法并非易事。其二,***环境是异构的,任务副本的执行集群会影响能够为作业带来的性能提升。例如,各边缘集群异构的节点性能会影响执行,而集群之间异构的传输网络会影响数据传输。第三,任何大规模***的任务复制和调度都不应在***上强加过多的开销,需要在算法复杂性和预期的作业加速间取得平衡。
面对上述挑战,现有的任务复制和调度方法是不适用的。现有的研究工作中,任务复制策略主要分为两类,分别是基于监控的复制和主动式克隆:前者监控任务运行并收集执行信息,在发现异常任务后为其启动新副本以减少异常的影响;后者在任务执行一开始,依据历史执行信息主动复制任务,以降低其成为慢任务的可能性。
MapReduce等大数据处理***中一开始采用的复制机制是在一个作业临近结束前,为当前作业所有仍在执行的任务启动一个副本,以加速作业完成,但这样的任务副本机制未考虑各任务执行情况,易造成资源浪费。因此,LATE以及其后续研究成果精心地对大数据分析作业中的每个任务进行剩余执行时间的估计,并基于同一个阶段中所有并行任务执行速率的统计信息,准确地识别出延迟任务并为其启动投机副本。Mantri意识到副本使用的机会成本,更加严格控制新副本的投入,只有在与原始执行相比时间和总资源消耗同时节省的情况下,才会为慢任务开启一个新的副本。GRASS进一步发现任务复制的机会成本会随着作业中剩余任务数的减少而降低,而机会成本的降低意味着加大副本投入的收益更大,因此GRASS致力于寻找在作业执行过程中加大副本投入的时间节点,更好地加速作业完成。Hopper基于各作业的虚拟资源需求为作业分配资源。该虚拟资源需求大于作业的剩余任务数,在该模型下,能使得单个作业的服务速率最优。当发现慢任务后,只要作业资源的总使用量不超过其所分配的资源,则可以开启新副本。
但是在边缘环境中,单纯基于监控的复制有局限性。一方面,***要花费过高的代价监督处于不同集群上的远程任务的执行,且可能由于部分能力受限的边缘集群整体故障而无法监控,导致***不能及时发现异常。另一方面,异常任务难以定义:由于各个边缘资源性能差异较大,且任务副本所需的跨域数据传输时间随副本资源位置的变化有较大起伏,导致***不能准确识别异常也无法及时启动有效的任务副本。面向边缘环境的多副本调度,需要更主动的复制方式适应跨域环境中异构资源导致的性能波动和跨域数据传输造成的执行延迟。
而另一个主动复制策略“任务克隆”则在任务开始执行时,就根据任务特征与***环境,确定应当投入的任务副本数量,以期用最少的副本达到较少的总体作业时延。Dolly在不显著增加群集利用率的情况下为小作业中的每个任务克隆同样数量的副本,使得整个作业出现慢任务的概率低于设定阈值。SRPTMS+C和ESE开发了优化框架研究如何利用冗余优化***中作业的平均完成时间,其采用的模型需要确切地知道任务执行时间的分布。这一信息在一个集群内是有意义的(来自Facebook和Bing的某个商用集群中的traces都显示任务时间呈现Pareto分布),因为集群内部近同构的计算节点和丰富的局域网络带宽。然而,在边缘环境中,多边缘协同的任务执行需要考虑跨域数据传输所造成的时延,由于跨域网络各集群之间传输带宽的局限性和动态性,任务所在的集群不同则所需要的传输时延不同。其次,不同集群所提供计算资源性能也是不同的。因此,简单地基于任务执行时间分布的理论模型并不适用于边缘环境。
因此,面向不稳定、高动态和高异构的边缘计算环境,需要提出一种新的更有效的任务复制和调度策略。
发明内容
发明目的:针对上述挑战,本发明提出一种面向边缘计算环境基于多副本的任务调度方法和***,能够适应高异构高动态的跨域数据分析***环境,综合考虑各作业执行特征,各集群资源性能以及***总负载情况,协调多作业的可用副本数以及执行位置,在线进行任务复制和调度,保障面向边缘环境的作业分布式处理效率。
技术方案:为了实现上述目的,本发明采用如下的技术方案:
第一方面,一种面向边缘计算环境基于多副本的任务调度方法,包括以下步骤:
定期测量和收集每个边缘集群内任务的执行状态,建立本集群的任务时间延迟因子分布概率模型,所述模型描述了集群的资源性能;
基于最短剩余处理时间原则和公平共享原则预估各作业可执行任务需要的副本数;
基于各作业当前进度和集群的资源性能,采用迭代分配方式将各集群的空闲节点,根据预估的副本数,分配给各个任务;
将分配到节点的任务调度到相应的集群来执行。
进一步地,所述集群的任务时间延迟因子分布概率模型表示为:
j表示作业编号,表示任务l在集群k的执行时间,sk表示集群k中任务可能经历的延迟因子,被设为一个随机变量,/>表示该任务的固有时长,/>表示获取数据的传输时延。
进一步地,所述基于最短剩余处理时间原则和公平共享原则预估各作业可执行任务需要的副本数包括:
根据最短剩余处理时间原则,将所有作业按照剩余任务数越少优先级越高进行排序;
从排序结果中选择前面指定比例ε的作业平等共享整个***的计算节点;
将作业分得的并且可用的计算节点平均分配给该作业当前的就绪任务,任务分得的节点数为其预估副本数,作为该任务可执行副本数的上界。
进一步地,所述迭代式分配方式为任务的预估副本分配执行节点,迭代中每一轮每个任务最多分配一个节点,每一轮中按如下步骤执行:
(1)对作业进行排序,将当前执行阶段剩余任务数更少的作业排在前面;
(2)对一个作业内的任务进行排序,使用表示在本轮分配之前的轮次中,任务已经被分配的节点位置情况,本轮依据各任务在前面轮次中获得的执行时间期望值由高至低排序;
(3)依次为任务分配节点。
进一步地,所述步骤(3)包括:
(1)计算任务l的执行时间阈值,设定任务l的执行时间阈值为其中/>为任务l的固有时长,u(t)表示当前***的节点利用率;
(2)当任务l分配到的节点数未超过其预估副本数,且其执行时间期望仍然高于阈值,为该任务分配一节点,该节点是当前所有空闲节点中该任务执行时间最优的节点,表示当前拥有空闲节点的集群集合,/>则是分配给任务l这一个节点所在的集群,更新/>
(3)当任务l用完其预估副本数,或者其执行时间期望已低于设定的阈值,则不再为该任务分配节点;
(4)当该周期不再有任务需要分配节点时,退出此次迭代。
第二方面,一种面向边缘计算环境基于多副本的任务调度***,包括作业管理器、资源管理器、集中分配服务器,所述作业管理器用于追踪作业执行进度,将就绪任务集提交给集中分配服务器;所述资源管理器用于收集集群中任务的执行信息,为每个集群建立延迟因子分布模型,捕获各集群资源状态;所述集中分配服务器在接收作业和资源状态后,在线分配在当前调度周期各任务的可用副本以及副本运行节点的位置,并将分配结果返回给作业管理器,由作业管理器将任务在相应的节点上启动运行。
进一步地,所述集中分配服务器采用迭代分配方式将各集群的空闲节点,根据预估的副本数,分配给各个任务。
进一步地,所述预估的副本数根据以下方式得到:
根据最短剩余处理时间原则,将所有作业按照剩余任务数越少优先级越高进行排序;
从排序结果中选择前面指定比例ε的作业平等共享整个***的计算节点;
将作业分得的并且可用的计算节点平均分配给该作业当前的就绪任务,任务分得的节点数为其预估副本数,作为该任务可执行副本数的上界。
有益效果:本发明通过先对边缘计算环境中任务复制和调度问题建模,捕获边缘计算环境中任务的执行特征,再基于问题模型,综合考虑各作业进度、各边缘集群资源性能以及***总负载情况,实现在线进行任务复制和调度。本发明的求取算法具有良好的性能,并在实际***执行中能够很好地处理跨域分析过程中的“慢”任务问题,且相较常用的复制策略有显著的性能提升。在真实***中,本发明能够有效利用边缘计算环境中的空闲资源,通过合理的设定任务副本,降低作业的运行时延。
附图说明
图1是边缘计算环境中的大数据处理作业任务复制示意图;
图2是本发明的调度方法流程图;
图3是本发明的任务资源分配过程示意图;
图4是本发明指导并行处理作业在多集群环境下任务复制和调度的执行流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
在大数据处理、机器学习等应用***中,一次作业运行按阶段推进,每个阶段包含一定数量的任务,任务可分布于各集群并行执行,少量任务的延迟会影响当前阶段的完成,进而延长整个作业的执行时间。多副本并行执行能够缓解慢任务的影响,但现有针对单个集群的任务复制策略不适用于不稳定、高动态和高异构的边缘计算环境。本发明提出了一种面向边缘计算环境,基于多任务副本降低分布式作业响应时延的任务调度方法。首先对边缘计算环境中任务复制和调度问题建模,以捕获边缘计算环境中任务的执行特征,基于问题模型,综合考虑各作业进度、各边缘集群资源性能以及***总负载情况,在线进行任务复制和调度,即,为各作业的可执行任务计算任务副本数量,并选择适合任务副本执行的边缘集群。
参照图2,一种面向边缘计算环境基于多副本的任务调度方法,包括以下步骤:
步骤S10,定期测量和收集每个边缘集群内任务的执行状态,建立本集群的任务时间延迟因子分布概率模型。
考虑一个跨域分析***由多个集群组成,每个集群/>拥有一定数量的计算节点(Mk)。一批分析作业/>不断到达***,每个作业/>由若干任务(Lj)组成,并使用有向无环图(DAG图)编码任务之间的数据依赖关系,按阶段推进执行。一个任务(l)可以被调度当且仅当其依赖的所有任务都完成了,此时认为该任务处于就绪状态。
任务的执行时间不可预测。本发明将一个集群k中任务可能经历的延迟因子定义为一个随机变量sk,一个任务l在集群k的执行时间为该任务的固有时长乘/>以延迟因子再加上获取数据的传输时延/>数据传输时延则取决于数据所在集群和执行集群k之间的广域网络带宽。每个集群的延迟因子相互独立。表1展示了来自一个Facebook Hadoop集群的延迟因子的分布情况。
表1 Facebook集群延迟因子分布实例
s | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
概率(%) | 23 | 14 | 9 | 3 | 8 | 10 | 4 | 14 | 12 | 2.1 | 0.7 | 0.2 |
本发明为该跨域分析***的在线任务调度器,在每一个调度周期(t)的开始,为当前***中各作业的就绪任务分配资源,使得调度决定不会违背任务间的依赖关系。表示任务l在集群k的副本数,/>作为一个向量,表示任务l的副本分配方案,本发明通过以下步骤最终给出每个任务的/>并确定每个任务的调度时间/>
步骤S20,基于最短剩余处理时间原则和公平共享原则预估各作业可执行任务需要的副本数。
概括而言,本步骤选择一部分剩余任务数最少的作业公平共享整个***的计算节点,比例系数为ε(0<ε<1)。剩余占比(1-ε)的作业等待在后续调度周期分配资源。
表示当前作业数,将当前作业按照SRPT原则排序,即剩余任务数少的作业优先,选择前/>作业共享整个***的计算节点/>则每个作业在时间t分配/>个计算节点,其余未被选择的作业的hj(t)=0。/>表示作业j在时间t已经占用的计算节点数,因此该作业在当前时刻t可用的计算节点数为
本发明将可用节点公平地分配给各作业的就绪任务。对作业j,Sj(t)为该作业在t时刻的就绪任务集合,σj(t)=|Sj(t)|表示就绪任务数,每个任务的可用节点数该值作为预估的任务副本数。如果一个作业的可用节点数多于其当前的就绪任务数,则每个就绪任务可拥有额外的节点用于执行副本。注意当cj(t)<σj(t)时,本发明随机选择cj(t)个就绪任务,并给予其/>
步骤S30,基于各作业当前进度和各集群的资源性能,在不超过预估副本数的前提下,将各集群的空闲节点分配给任务运行副本。
整体来看,本发明采用迭代式地资源分配方式。如图3所示,本发明每一轮对任务排序,并依次为任务分配一个空闲节点执行副本。当一个任务所分配的节点数达到预估副本数时,或者其执行时间期望达到设定的阈值时(该阈值基于理论模型计算,保障算法性能),认为该任务不再需要副本,则该任务不参与下一轮分配。该过程持续到没有任务需要分配节点为止。图中深浅不一的圆代表不同集群的节点。
本发明采用迭代式分配是因为对于一个任务而言,开启副本的边际收益会随着副本数增加急剧减少,此属性对于本发明的多副本任务速率模型可证明成立。因此,以更少的副本为高优先级任务提供服务不会有明显的性能损失,而节省的节点可以分配给那些尚没有副本的低优先级任务,从而在平均性能上实现显著提升。
具体而言,在每一轮进行任务排序的方法如下:
(a)先对作业进行排序,将当前阶段剩余任务数更少的作业排在前面。这是因为剩余任务数越少,阶段的完成对任务的延迟更加敏感,因此需要更好的节点抑制可能的延迟。
(b)再对一个作业内的任务进行排序。概括而言,本发明依据各任务当前的执行时间期望安排节点分配的顺序,时间长的任务优先,毕竟阶段的完成取决于最后一个任务的完成。任务的执行时间期望为其中/>表示任务l在集群k的第i个副本;/>表示求数学期望;/>表示在/>的副本部署方案下,任务l的执行时间,每一轮节点分配都可能会改变任务的/>本发明使用/>表示在本轮分配之前任务已经被分配的节点位置情况,在迭代过程中不断更新,迭代结束后,其值为该任务最终的/>副本部署方案。对于同一个作业内的任务,在每一轮依据各任务的/>值由高至低排序。
在时间期望值由高到低排序的基础上,从前往后为每个任务分配节点,每一轮为任务分配节点的步骤如下:
(a)当任务l分配的节点数未超过预估副本数,同时其执行时间期望仍然高于设定的阈值,为该任务分配一节点,该节点是当前所有空闲节点中该任务执行时间最优的节点。表示当前拥有空闲节点的集群集合,/>则是分配给任务l这一个节点所在的集群。分配节点后,对相关变量进行更新,即/>
(b)当任务l用完其预估副本数,或者其执行时间期望已低于设定的阈值,则不再为该任务分配节点。
上述执行时间期望的阈值设定方法如下:设任务l的执行时间阈值为/>其中/>为任务l的固有时长,/>表示当前***的节点利用率。设定该阈值是基于本发明的理论模型。理论模型表明,只要每个任务的预期执行时间达到阈值之下,本发明始终有可证明的性能保障。因此当任务达到设定阈值后,不再为任务分配节点,节约***冗余资源的投入。
步骤S40,将分配到节点的任务调度到相应的集群来执行。
当时刻t不再有任务需要分配节点后,退出此次迭代,并将所有在此次迭代过程中分配到至少一个节点的任务在相应的集群开启执行,则这些任务有
本发明在理论上有着不错的性能保障,并在实际***执行中能够很好地处理跨域分析过程中的“慢”任务问题,且相较常用的复制策略有显著的性能提升。
本发明适用于指导并行处理作业在多集群环境下任务的复制和调度。在一个实施方式中,提供一种面向边缘计算环境基于多副本的任务调度***,在该***中运行调度方法。参照图4,本任务调度***包括作业管理器(Job Manager,JM)、资源管理器(ResourceManager,RM)、集中分配服务器,本发明的核心算法作为集中式服务为在线作业计算任务复制和调度决定,同各集群的资源管理器以及作业管理器实现信息交互,为核心算法的运行提供必要的数据输入。
如图3所示,集群资源管理器(RM)拥有一个集群内仲裁任务资源的最高权限,而每一个提交的作业都拥有一个作业管理器(JM),用于追踪作业执行进度以及向RM申请需要的资源。大体过程如下:
(1)在本发明的原型***中,JM并不直接向集群的RM申请资源,而是将就绪任务集提交给集中分配服务器,由集中分配服务器协调多个集群的资源后进行分配。
(2)本发明在RM中开发日志收集模块LogCollector,用于收集集群中任务的执行信息,并定期将这些信息整理后提交给资源信息模块ResourceProfiler,为每个集群建立/更新如表1所示的延迟因子分布模型,捕获各集群异构且动态的资源性能。
(3)集中分配服务器在接收作业和资源状态后,根据前述的分配方法在线分配在当前调度周期各任务的可用副本以及副本运行节点的位置,并将分配结果返回给JM,由JM将任务在相应的节点上启动运行。
(4)当一个任务的其中一个副本完成并返回结果后,JM便会取消该任务其他副本的执行,释放资源。
应理解,本实施例中的面向边缘计算环境基于多副本的任务调度***可以实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (5)
1.一种面向边缘计算环境基于多副本的任务调度方法,其特征在于,包括以下步骤:
定期测量和收集每个边缘集群内任务的执行状态,建立本集群的任务时间延迟因子分布概率模型,所述模型描述了集群的资源性能;
基于最短剩余处理时间原则和公平共享原则预估各作业可执行任务需要的副本数,包括:根据最短剩余处理时间原则,将所有作业按照剩余任务数越少优先级越高进行排序;从排序结果中选择前面指定比例ε的作业平等共享整个***的计算节点;将作业分得的并且可用的计算节点平均分配给该作业当前的就绪任务,任务分得的节点数为其预估副本数,作为该任务可执行副本数的上界;
基于各作业当前进度和集群的资源性能,采用迭代分配方式将各集群的空闲节点,根据预估的副本数,分配给各个任务;
将分配到节点的任务调度到相应的集群来执行;
其中,所述迭代分配方式为任务的预估副本分配执行节点,迭代中每一轮每个任务最多分配一个节点,每一轮中按如下步骤执行:
(1)对作业进行排序,将当前执行阶段剩余任务数更少的作业排在前面;
(2)对一个作业j内的任务进行排序,使用表示在本轮分配之前的轮次中,任务l已经被分配的节点位置情况,本轮依据各任务在前面轮次中获得的执行时间期望值由高至低排序,/>表示在/>的副本部署方案下任务l的执行时间;
(3)依次为任务分配节点。
2.根据权利要求1所述的面向边缘计算环境基于多副本的任务调度方法,其特征在于,所述集群的任务时间延迟因子分布概率模型表示为:
j表示作业编号,表示任务l在集群k的执行时间,sk表示集群k中任务可能经历的延迟因子,被设为一个随机变量,/>表示该任务的固有时长,/>表示获取数据的传输时延。
3.根据权利要求1所述的面向边缘计算环境基于多副本的任务调度方法,其特征在于,所述步骤(3)包括:
(3-1)计算任务l的执行时间阈值,设任务l的执行时间阈值为/>其中/>为任务l的固有时长,u(t)表示当前***的节点利用率;
(3-2)当任务l分配到的节点数未超过其预估副本数,且其执行时间期望仍然高于阈值,为该任务分配一节点,该节点是当前所有空闲节点中该任务执行时间最优的节点,表示当前拥有空闲节点的集群集合,/>则是分配给任务l这一个节点所在的集群,/>表示任务l在集群k的执行时间,更新/>
(3-3)当任务l用完其预估副本数,或者其执行时间期望已低于设定的阈值,则不再为该任务分配节点;
(3-4)当当前调度周期内不再有任务需要分配节点时,退出此次迭代。
4.一种面向边缘计算环境基于多副本的任务调度***,其特征在于,包括作业管理器、资源管理器、集中分配服务器,所述作业管理器用于追踪作业执行进度,将就绪任务集提交给集中分配服务器;所述资源管理器用于收集集群中任务的执行信息,为每个集群建立延迟因子分布模型,捕获各集群资源状态;所述集中分配服务器在接收作业和资源状态后,在线分配在当前调度周期各任务的可用副本以及副本运行节点的位置,并将分配结果返回给作业管理器,由作业管理器将任务在相应的节点上启动运行;其中所述集中分配服务器采用迭代分配方式将各集群的空闲节点,根据预估的副本数,分配给各个任务,所述预估的副本数根据以下方式得到:根据最短剩余处理时间原则,将所有作业按照剩余任务数越少优先级越高进行排序;从排序结果中选择前面指定比例ε的作业平等共享整个***的计算节点;将作业分得的并且可用的计算节点平均分配给该作业当前的就绪任务,任务分得的节点数为其预估副本数,作为该任务可执行副本数的上界;
其中,所述迭代分配方式为任务的预估副本分配执行节点,迭代中每一轮每个任务最多分配一个节点,每一轮中按如下步骤执行:
(1)对作业进行排序,将当前执行阶段剩余任务数更少的作业排在前面;
(2)对一个作业j内的任务进行排序,使用表示在本轮分配之前的轮次中,任务l已经被分配的节点位置情况,本轮依据各任务在前面轮次中获得的执行时间期望值由高至低排序,/>表示在/>的副本部署方案下任务l的执行时间;
(3)依次为任务分配节点。
5.根据权利要求4所述的面向边缘计算环境基于多副本的任务调度***,其特征在于,所述步骤(3)包括:
(3-1)计算任务l的执行时间阈值,设任务l的执行时间阈值为/>其中/>为任务l的固有时长,u(t)表示当前***的节点利用率;
(3-2)当任务l分配到的节点数未超过其预估副本数,且其执行时间期望仍然高于阈值,为该任务分配一节点,该节点是当前所有空闲节点中该任务执行时间最优的节点,表示当前拥有空闲节点的集群集合,/>则是分配给任务l这一个节点所在的集群,/>表示任务l在集群k的执行时间,更新/>
(3-3)当任务l用完其预估副本数,或者其执行时间期望已低于设定的阈值,则不再为该任务分配节点;
(3-4)当当前调度周期内不再有任务需要分配节点时,退出此次迭代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010147501.8A CN111381950B (zh) | 2020-03-05 | 2020-03-05 | 一种面向边缘计算环境基于多副本的任务调度方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010147501.8A CN111381950B (zh) | 2020-03-05 | 2020-03-05 | 一种面向边缘计算环境基于多副本的任务调度方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111381950A CN111381950A (zh) | 2020-07-07 |
CN111381950B true CN111381950B (zh) | 2023-07-21 |
Family
ID=71215233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010147501.8A Active CN111381950B (zh) | 2020-03-05 | 2020-03-05 | 一种面向边缘计算环境基于多副本的任务调度方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111381950B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885136B (zh) * | 2020-07-15 | 2022-07-26 | 北京时代凌宇科技股份有限公司 | 基于边云协同的边缘计算网关集群运行方法及*** |
CN111858051B (zh) * | 2020-07-20 | 2023-09-05 | 国网四川省电力公司电力科学研究院 | 一种适合边缘计算环境的实时动态调度方法、***和介质 |
CN111901425B (zh) * | 2020-07-28 | 2021-05-28 | 平安科技(深圳)有限公司 | 基于Pareto算法的CDN调度方法、装置、计算机设备及存储介质 |
CN112272203B (zh) * | 2020-09-18 | 2022-06-14 | 苏州浪潮智能科技有限公司 | 一种集群业务节点选择方法、***、终端及存储介质 |
CN112612601A (zh) * | 2020-12-07 | 2021-04-06 | 苏州大学 | 分布式图像识别的智能模型训练方法及*** |
CN113162965B (zh) * | 2021-01-07 | 2022-09-20 | 浙江大学 | 面向异构MapReduce集群的低时延Map和Reduce联合调度方法 |
CN113157431B (zh) * | 2021-02-02 | 2022-09-20 | 天津理工大学 | 一种针对边缘网络应用环境的计算任务副本分发方法 |
CN112929438B (zh) * | 2021-02-04 | 2022-09-13 | 中国工商银行股份有限公司 | 一种双站点分布式数据库的业务处理方法及装置 |
CN113179331B (zh) * | 2021-06-11 | 2022-02-11 | 苏州大学 | 面向移动边缘计算的分布式专用保护业务调度方法 |
CN113485718B (zh) * | 2021-06-29 | 2023-11-03 | 浙大城市学院 | 面向边云协同***中的上下文感知AIoT应用程序部署方法 |
CN116010081B (zh) * | 2022-12-05 | 2024-04-30 | 大连理工大学 | 基于在线优先级反转预算分析的实时***随机化任务调度方法 |
CN116502834B (zh) * | 2023-04-10 | 2024-01-09 | 九河精微塑胶工业(深圳)有限公司 | 基于数字化的车间智慧管理方法及*** |
CN116610082B (zh) * | 2023-07-18 | 2023-10-31 | 安徽思高智能科技有限公司 | 基于深度强化学习的rpa作业工作流冗余调度方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509276B (zh) * | 2018-03-30 | 2021-11-30 | 南京工业大学 | 一种边缘计算环境中的视频任务动态迁移方法 |
CN109324886A (zh) * | 2018-09-14 | 2019-02-12 | 中国人民解放军国防科技大学 | 集群资源调度方法和装置 |
CN109639833B (zh) * | 2019-01-25 | 2021-09-07 | 福建师范大学 | 一种基于无线城域网微云负载均衡的任务调度方法 |
CN110601992B (zh) * | 2019-09-20 | 2022-08-30 | 南方电网科学研究院有限责任公司 | 一种基于边缘计算的智能量测终端的数据处理方法及装置 |
-
2020
- 2020-03-05 CN CN202010147501.8A patent/CN111381950B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111381950A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111381950B (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和*** | |
Gu et al. | Tiresias: A {GPU} cluster manager for distributed deep learning | |
Koole et al. | Resource allocation in grid computing | |
Muthuvelu et al. | A dynamic job grouping-based scheduling for deploying applications with fine-grained tasks on global grids | |
CN104765640B (zh) | 一种智能服务调度方法 | |
Chen et al. | Adaptive multiple-workflow scheduling with task rearrangement | |
JP4912927B2 (ja) | タスク割当装置、及びタスク割当方法 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
Cheng et al. | Mitigating the negative impact of preemption on heterogeneous mapreduce workloads | |
CN109871270B (zh) | 调度方案生成方法及装置 | |
CN116932201A (zh) | 一种面向深度学习训练任务的多资源共享调度方法 | |
Shah et al. | Dynamic multilevel hybrid scheduling algorithms for grid computing | |
Rafsanjani et al. | A new heuristic approach for scheduling independent tasks on heterogeneous computing systems | |
Stavrinides et al. | Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment | |
Shah et al. | Agent based priority heuristic for job scheduling on computational grids | |
Dubey et al. | QoS driven task scheduling in cloud computing | |
CN111930485B (zh) | 一种基于性能表现的作业调度方法 | |
Natarajan | Parallel queue scheduling in dynamic cloud environment using backfilling algorithm | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
Lin et al. | Two-tier project and job scheduling for SaaS cloud service providers | |
Ibrahim et al. | Improving mapreduce performance with progress and feedback based speculative execution | |
Wang et al. | Geoclone: Online task replication and scheduling for geo-distributed analytics under uncertainties | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN115098240B (zh) | 一种多处理器应用调度方法和***及存储介质 | |
Gąsior et al. | A Sandpile cellular automata-based scheduler and load balancer |
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 |