CN111459628A - 基于改进量子蚁群算法的Spark平台任务调度方法 - Google Patents

基于改进量子蚁群算法的Spark平台任务调度方法 Download PDF

Info

Publication number
CN111459628A
CN111459628A CN202010172152.5A CN202010172152A CN111459628A CN 111459628 A CN111459628 A CN 111459628A CN 202010172152 A CN202010172152 A CN 202010172152A CN 111459628 A CN111459628 A CN 111459628A
Authority
CN
China
Prior art keywords
task
node
scheduling
ant
quantum
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
CN202010172152.5A
Other languages
English (en)
Other versions
CN111459628B (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.)
Daqing Kaidexin Information Technology Co ltd
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202010172152.5A priority Critical patent/CN111459628B/zh
Priority to EP20845366.2A priority patent/EP3907609A4/en
Priority to PCT/CN2020/096252 priority patent/WO2021179462A1/zh
Publication of CN111459628A publication Critical patent/CN111459628A/zh
Application granted granted Critical
Publication of CN111459628B publication Critical patent/CN111459628B/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • 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/508Monitor
    • 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)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及资源分配与任务调度领域,尤其涉及一种基于改进量子蚁群算法的Spark平台任务调度方法,包括节点信息监测模块收集所在节点的CPU利用率、内存利用率与网络传输速度等状态信息并周期性的发送到节点信息收集模块,由节点信息收集模块对其收集的节点状态指标进行更新;Spark调度器将待调度的任务信息和当前可用的计算资源节点列表发送到任务调度管理模块;任务调度管理模块从节点信息收集模块获取当前可用的计算资源节点列表的状态信息,再通过任务调度管理模块内置的改进量子蚁群算法来规划调度方案,并将该调度方案返回给Spark调度器,Spark调度器完成调度;本发明可以有效缩短任务执行时间跨度,提高任务执行效率。

Description

基于改进量子蚁群算法的Spark平台任务调度方法
技术领域
本发明涉及资源分配与任务调度领域,尤其涉及一种基于改进量子蚁群算法的Spark平台任务调度方法。
背景技术
在大数据领域中存在一系列的大数据处理平台,如Hadoop、Spark、Storm、 Flink等,其中由Apache开源的分布式计算集群Spark平台以其高通用性、高易用性以及其基于内存计算所带来的高运算速度在业界已经得到广泛的普及与应用。而边缘计算模型的出现让原有的大数据处理平台更加灵活和高效,现在几乎所有的电子设备都可以连接到互联网并产生海量的数据,而直接在在边缘节点处理这些数据可以显著减少响应时间和网络负载,所以将大数据平台和边缘计算结合现已成为业界的研究趋势。
但随着Spark平台在业界的广泛应用,人们对其性能的要求也越来越高。 Spark平台任务调度机制的目的主要是将需要执行的计算任务合理的分配到当前可用的计算资源(节点)上,而在平台本身的任务调度机制中,任务的调度主要是基于数据本地化进行的,也就是优先将任务在该任务对应的数据文件所在的节点启动,等待一定时间仍无法启动之后再调度到其他的节点上运行。但在实际的生产环境中,集群中的节点往往因为地理位置各异、配置更新、集群扩容等原因而具有较高的异构性,节点能力之间或存在较大差异,仅仅考虑数据本地化的任务调度方式可能造成集群中低性能节点任务分配较多,而高性能节点处于空闲状态的节点负载不均衡问题,从而导致整体任务时间跨度高,任务执行效率低,集群计算资源利用不充分的情况。
所以当前众多学者针对上述问题提出了一系列Spark平台的优化任务调度方法,如可以根据应用程序数量和输入输出完成时间建模的可插拔资源分配框架dSpark、基于任务本地化优先的延迟调度算法、比较任务剩余时间找出集群中的落后任务并在其他优势节点启动备份的LATE(longest approximate time to end)调度算法等,但是仍然存在两个待优化的方面。一是对于Spark平台的研究算法大多基于同构集群或待调度作业本身,而当前实际的作业环境大多存在较高的节点异构性,所以如何更合理的衡量计算节点的能力。二是在作业调度算法本身,如何找到更优的分配方式将任务调度到节点执行以达到加速应用程序执行效率,提高集群计算资源利用率。
发明内容
为了更加准确获知节点的计算能力,将任务调度到节点执行以达到加速应用程序执行效率,本发明提出一种基于改进量子蚁群算法的Spark平台任务调度方法,,每个节点设置有节点信息监测模块,Spark平台包括节点信息收集模块、 Spark调度器、任务调度管理模块,进行任务调度具体包括以下步骤:
用户提交应用程序后,采用自适应分类器将应用程序分为边缘计算型应用程序或非边缘计算应用程序;
对边缘计算型应用程序,直接在其提交的网络边缘节点处启动,完成调度;
对非边缘计算型应用程序,将节点信息监测模块收集所在节点的CPU利用率、内存利用率与网络传输速度等状态信息并周期性的发送到节点信息收集模块,由节点信息收集模块对其收集的节点状态指标进行更新;
Spark调度器将待调度的任务信息和当前可用的计算资源节点列表发送到任务调度管理模块;
任务调度管理模块从节点信息收集模块获取当前可用的计算资源节点列表的状态信息,再通过任务调度管理模块内置的改进量子蚁群算法来规划调度方案,并将该调度方案返回给Spark调度器,Spark调度器完成调度。
进一步的,自适应分类器获取应用程序需要处理的数据文件大小、数据文件类型以及通过代码进行语义分割与识别获取的应用程序中的算子类型,计算得到该应用程序的计算量以及网络传输需求,并将计算量较小而网络传输需求较大的应用程序划分为边缘计算型应用程序,将计算量较大而网络传输需求较小的应用程序划分为非边缘计算型应用程序。
进一步的,任务调度管理模块内置的改进量子蚁群算法包括:
S101、初始化,新建信息素矩阵和量子信息素概率幅矩阵,将信息素矩阵的所有元素设定为1,量子信息素概率幅矩阵的每个元素都设定为
Figure RE-GDA0002529928490000031
S102、通过当前迭代轮次与历史最优蚂蚁更新轮次的差值进行停滞态判断,若蚁群处于停滞态,转到步骤103,反之若蚁群处于正常状态,转到步骤104;
S103、在灾变状态生成种群中的蚂蚁个体,根据设定的灾变比例,通过状态转移规则生成部分蚂蚁,再随机生成另一部分蚂蚁,并将上次更新轮次设置为当前轮次,并转到步骤S105;
S104、通过状态转移规则生成所有蚂蚁,并转到步骤S105;
S105、根据适应度公式分别计算得到每只蚂蚁的适应度,针对每只蚂蚁采用邻域搜索策略进行邻域寻优,若寻到更优解,则更新对应蚂蚁的适应度值,在该轮迭代中寻找适应度最高的蚂蚁个体与历史最优蚂蚁比较,若前者适应度更高,转到步骤106,否则转到步骤107;
S106、将当前轮次迭代中适应度最高的蚂蚁个体记录为历史最优蚂蚁,将历史最优蚂蚁更新的轮次修改为当前轮次,转到步骤107;
S107、通过信息素更新规则更新信息素矩阵和量子信息素概率幅矩阵;
S108、通过最大最小的方法判断量子信息素概率幅是否超过上下限阈值,如果超过,进行量子信息素概率幅更新;
S107、若当前轮次大于等于设定的迭代次数,则结束迭代,输出最优解即历史最优蚂蚁对应的任务调度方案,反之将当前迭代轮次加1,转到步骤102。
进一步的,通过当前迭代轮次与历史最优解更新轮次的差值进行停滞态判断包括:
通过当前迭代轮次和历史最优解更新轮次计算停滞轮数为:
停滞轮数=当前迭代轮次-历史最优对应的迭代轮次;
采用停滞态判断的方法来作为灾变条件,当停滞态为0时种群为正常状态,而停滞态为1时种群处于停滞态,则停滞态表示为:
Figure BDA0002409556080000041
进一步的,蚂蚁的适应度与根据Spark平台任务调度方法的任务分配方案完成任务的预测时间成反比,该预测时间的计算包括:
S201、获取当前节点的CPU能力CPU当前能力、内存显示程序的当前能力MEM 当前能力以及网络传输速度NWSpeed
S202、用内存溢出标记表示当前分配方案中各任务分配导致内存溢出的可能性;
S203、根据当前节点的CPU能力、内存溢出标记MEM当前能力、网络传输速度NWSpeed以及将任务i分配给节点j的内存溢出标记计算任务节点间调度传输时间T、任务执行计算操作的时间T,并根据节点j上的任务等待队列计算任务i可以开始执行的时间T
S204、将一个节点的T、T、T之和作为该节点的执行完任务的时间;
S205、计算所有被分配到任务的节点执行完任务的时间,取其中最大值为所有任务的总完成时间,也就是该任务分配方案的完成时间。
进一步的,NWspeed,数据文件位置代表当前任务对应的数据文件所在节点网络传输速度,NWspeed,调度目标节点代表该任务调度的目标节点网络传输速度,其特征在于,任务节点间调度传输时间T表示为:
Figure BDA0002409556080000042
其中,NWspeed,数据文件位置代表当前任务对应的数据文件所在节点网络传输速度,NWspeed,调度目标节点代表该任务调度的目标节点网络传输速度。
进一步的,任务执行计算操作的时间T表示为:
Figure BDA0002409556080000051
其中,SPILLi,j代表把任务i分配给节点j的内存溢出标记,Tspill代表任务溢出所带来的额外时间比例,CPU调度目标节点当前能力代表调度目标节点也就是节点j的当前CPU能力。
进一步的,任务i可以开始执行的时间T表示为:
Figure BDA0002409556080000052
其中,T计,u表示任务i的调度目标节点上等待队列中第u个任务的计算时间;T传,u表示任务i的调度目标节点上等待队列中第u个任务的调度传输时间; k代表任务调度目标节点上的任务等待队列长度。
进一步的,在灾变状态生成种群中的蚂蚁个体包括:随机保留蚁群中比例为x的个体数目,其余个体由随机生成的个体代替,x的取值范围为[0,1],x 的取值和灾变强度成反比。
进一步的,通过最大最小量子信息素概率幅控制方法为:
S301、通过概率幅上下限QPmax和QPmin判断当前量子信息素概率幅是否需要更新;
S302、α与β为量子信息素概率幅,如果量子信息素概率幅需要更新,更新过程表示为:
Figure BDA0002409556080000053
Figure BDA0002409556080000054
S303、若量子信息素概率幅α或β其中之一更新,通过|α|2+|β|2=1来更新 另一个的值,|·|表示绝对值。
本发明综合考虑了集群中异构节点的能力差,可以在异构集群中较好的发挥节点的计算能力。在节点异构性强的情况下,通过CPU、内存、网络带宽和溢出可能性等多种因素来准确衡量节点能力,并采用改进的量子蚁群算法对任务调度问题建模搜寻最优解,从而将待调度任务分配到更合理的计算资源节点上执行,提升集群计算资源的利用率,有效的缩短任务执行时间跨度,提高任务执行效率。
附图说明
图1本发明基于改进量子蚁群算法的Spark平台任务调度方法的模块原理图;
图2本发明基于改进量子蚁群算法的Spark平台任务调度方法的改进量子蚁群算法流程图;
图3为本发明基于改进量子蚁群算法的Spark平台任务调度方法中自适应分类器工作原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种基于改进量子蚁群算法的Spark平台任务调度方法,每个节点设置有节点信息监测模块,Spark平台包括节点信息收集模块、Spark调度器、任务调度管理模块,进行任务调度具体包括以下步骤:
节点信息监测模块收集所在节点的CPU利用率、内存利用率与网络传输速度等状态信息并周期性的发送到节点信息收集模块,由节点信息收集模块对其收集的节点状态指标进行更新;
Spark调度器将待调度的任务信息和当前可用的计算资源节点列表发送到任务调度管理模块;
任务调度管理模块从节点信息收集模块获取当前可用的计算资源节点列表的状态信息,再通过任务调度管理模块内置的改进量子蚁群算法来规划调度方案,并将该调度方案返回给Spark调度器,Spark调度器完成调度。
在本实施例中,Spark平台的结构如图1所示,Spark平台中包括节点信息收集模块、节点信息监测模块与任务调度管理模块。节点信息收集模块与节点信息监测模块可以通过平台原生的EndPoint通信接口进行信息的发送与接收。节点信息收集模块负责动态收集当前节点的CPU利用率、内存利用率与网络传输速度等信息,周期性的发送到节点信息收集模块中。节点信息收集模块负责收集、保存、维护、更新上述指标。任务调度管理模块可以可选的搭载用户自定义的任务调度算法,本专利中采用的是优化量子蚁群调度算法。在采用本专利所述方法后,当集群中出现需要调度的TaskSet,Spark平台中的默认任务调度器TaskScheduler不会直接采用其默认调度机制来分配Task任务,而是将 TaskSet与当前可用计算节点的一系列信息发送到任务调度管理模块,由任务调度管理模块从节点信息收集模块中获取当前可用计算节点Executor的一系列状态信息,并通过其内置的自定义算法寻找最优的任务分配方案。最后,平台的任务调度器TaskScheduler从任务管理模块中获取该模块计算得到的最优任务分配方案,与各节点进行通信,将任务按照该方案发送到各节点运行。
如图3,自适应分类器通过分析应用程序的数据,对应用程序进行分类;具体地,本实施例采用自适应分类器获取应用程序需要处理的数据文件大小、数据文件类型以及通过代码进行语义分割与识别获取的应用程序中的算子类型,计算得到该应用程序的计算量以及网络传输需求,并将计算量较小而网络传输需求较大的应用程序划分为边缘计算型应用程序,将计算量较大而网络传输需求较小的应用程序划分为非边缘计算型应用程序。
如图1,本实施例基于改进量子蚁群的Spark任务调度方法步骤包括:
步骤1:Worker上的节点信息监测模块周期性的收集所在节点的CPU利用率、内存利用率与网络传输速度等状态信息,并发送到Master上的节点信息收集模块,Master上的节点信息收集模块收到上述信息后,对自身模块中保存的对应节点状态指标进行更新。
步骤2:当集群中出现需要调度的任务集TaskSet,Spark任务调度器将该任务集对应的一系列任务信息和当前可用的计算资源节点列表发送到任务调度管理模块,请求规划调度方案。
步骤3:任务调度管理模块从节点信息收集模块获取当前上述计算资源节点列表的状态信息,再通过其中搭载的改进量子蚁群算法来规划调度方案,并将该方案返回给Spark任务调度器。
步骤4:Spark任务调度器根据任务调度管理模块规划的调度方案,将相应的任务发送给各个计算资源节点运行。
在上述步骤3中,首先任务调度管理模块收到来自于Spark任务调度器的一系列任务的信息和当前可用计算资源节点列表,其中任务信息包括任务数据文件大小、任务位置、任务指令数。随后该模块根据当前可用计算资源节点列表从节点信息收集模块中获取列表中节点的状态信息,包括CPU利用率、内存利用率和网络传输速度等。然后根据上述一系列信息,通过改进量子蚁群算法计算使任务总完成时间最短的任务分配方案。为了更好的说明本方法中任务调度管理模块中生成调度方案的改进量子蚁群算法,结合图2对其实现过程进行说明:
步骤1:算法开始,进行常量参数初始化,并初始化信息素矩阵和量子信息素概率幅矩阵。将信息素矩阵的所有元素设定为1,将量子信息素概率幅矩阵的每个元素都设定为
Figure BDA0002409556080000081
保证迭代初始时选择的随机性。
步骤2:通过当前迭代轮次与上次历史最优解更新的轮次差值计算停滞轮数:停滞轮数=T当前轮次-T上次最优更新轮次;其中,T当前轮次表示当前的迭代轮次,T上次最优更新轮次表示当前迭代之前得到最优解对应的迭代轮次;
根据停滞轮数与设定的停滞态阈值判断种群是否处于停滞态:
Figure BDA0002409556080000091
步骤3:若种群处于停滞态,在灾变状态下生成新一轮的蚂蚁个体,也就是根据设定的灾变比例,根据灾变系数x通过状态转移规则生成部分蚂蚁,再通过随机生成的方法另一部分蚂蚁,并将上次更新轮次设置为当前轮次。若种群并未处于停滞态,直接通过状态转移规则生成全部的蚂蚁。
步骤4:根据适应度公式分别计算得到每只蚂蚁的适应度,适应度公式为:
Figure BDA0002409556080000092
针对每只蚂蚁采用邻域搜索策略进行邻域寻优,若寻到更优解,则更新对应的蚂蚁个体与其适应度值。
进一步的,T蚂蚁个体A对应的任务调度方案为根据Spark平台任务调度方法的任务分配方案完成任务的预测时间,该预测时间的获取过程包括:
S201、获取当前节点的CPU能力CPU当前能力、内存显示程序的当前能力MEM 当前能力以及网络传输速度NWSpeed
S202、用内存溢出标记表示当前分配方案中各任务分配导致内存溢出的可能性;
S203、根据当前节点的CPU能力、内存溢出标记MEM当前能力、网络传输速度NWSpeed以及将任务i分配给节点j的内存溢出标记计算任务节点间调度传输时间T、任务执行计算操作的时间T,并根据节点j上的任务等待队列计算任务i可以开始执行的时间T
S204、将一个节点的T、T、T之和作为该节点的执行完任务的时间;
S205、计算所有被分配到任务的节点执行完任务的时间,取其中最大值为所有任务的总完成时间,也就是该任务分配方案的完成时间。
其中,计算任务节点间调度传输时间T包括:
Figure BDA0002409556080000101
其中,NWspeed,数据文件位置代表当前任务对应的数据文件所在节点网络传输速度,NWspeed,调度目标节点代表该任务调度的目标节点网络传输速度。
计算任务执行计算操作的时间T包括:
Figure BDA0002409556080000102
其中,SPILLi,j代表把任务i分配给节点j的内存溢出标记,Tspill代表任务溢出所带来的额外时间比例,CPU调度目标节点当前能力代表调度目标节点也就是节点j的当前CPU能力。
计算任务i可以开始执行的时间T包括:
Figure BDA0002409556080000103
其中,T计,u表示任务i的调度目标节点上等待队列中第u个任务的计算时间;T传,u表示任务i的调度目标节点上等待队列中第u个任务的调度传输时间; k代表任务调度目标节点上的任务等待队列长度。
步骤5:在该轮迭代中寻找适应度最高的蚂蚁个体与历史最优蚂蚁比较,若前者适应度更高,将当前轮次迭代中适应度最高的蚂蚁个体记录为历史最优蚂蚁。
步骤6:通过信息素更新规则更新信息素矩阵。信息素更新规则表示为:
TP=(1-ρ)TP+ΔTP;
Figure BDA0002409556080000104
其中,TPt+1表示第t+1次迭代的信息素;ΔTP表示信息素变化量;ΔTPi,j表示任务i分配到节点j的路径上的信息素变化;
Figure BDA0002409556080000105
表示量子信息素概率幅矩阵中代表任务i分配到节点j的路径对应的量子比特的概率幅;Ai表示蚂蚁个体A 中的第i个元素,也就是蚂蚁A对应的任务调度方案中,任务i的目标节点;ρ为信息素蒸发率,FA代表蚂蚁A的适应度值,μ代表在某路径上路径可见度在信息素更新时的相对重要性,
步骤8:通过量子旋转门对量子信息素概率幅进行更新。并通过最大最小的方法判断量子信息素概率幅是否超过上下限阈值,如果超过,进行量子信息素概率幅更新,如下所示:
Figure BDA0002409556080000111
Figure BDA0002409556080000112
进一步的,若量子信息素概率幅α或β其中之一更新,通过|α|2+|β|2=1来更 新另一个的值,|·|表示绝对值。
步骤9:若当前轮次大于等于设定的迭代轮次,满足结束条件,结束迭代,输出最优解即历史最优蚂蚁对应的任务调度方案,反之将当前迭代轮次加1,转到步骤2。
最终,任务调度管理模块将上述改进量子蚁群算法计算得到的最优调度方案发送到Spark任务调度器中,Spark任务调度器根据该调度方案将任务发送到对应的计算资源节点上执行,来实现合理高效的任务调度,从而提升集群计算资源的利用率,缩短任务完成时间。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,每个节点设置有节点信息监测模块,Spark平台包括节点信息收集模块、Spark调度器、任务调度管理模块,进行任务调度具体包括以下步骤:
用户提交应用程序后,采用自适应分类器将应用程序分为边缘计算型应用程序或非边缘计算应用程序;
对边缘计算型应用程序,直接在其提交的网络边缘节点处启动,完成调度;
对非边缘计算型应用程序,将节点信息监测模块收集所在节点的CPU利用率、内存利用率与网络传输速度等状态信息并周期性的发送到节点信息收集模块,由节点信息收集模块对其收集的节点状态指标进行更新;
Spark调度器将待调度的任务信息和当前可用的计算资源节点列表发送到任务调度管理模块;
任务调度管理模块从节点信息收集模块获取当前可用的计算资源节点列表的状态信息,再通过任务调度管理模块内置的改进量子蚁群算法来规划调度方案,并将该调度方案返回给Spark调度器,Spark调度器完成调度。
2.根据权利要求1所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,自适应分类器获取应用程序需要处理的数据文件大小、数据文件类型以及通过代码进行语义分割与识别获取的应用程序中的算子类型,计算得到该应用程序的计算量以及网络传输需求,并将计算量较小而网络传输需求较大的应用程序划分为边缘计算型应用程序,将计算量较大而网络传输需求较小的应用程序划分为非边缘计算型应用程序。
3.根据权利要求1所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,任务调度管理模块内置的改进量子蚁群算法包括:
S101、初始化,新建信息素矩阵和量子信息素概率幅矩阵,将信息素矩阵的所有元素设定为1,量子信息素概率幅矩阵的每个元素都设定为
Figure FDA0002409556070000021
S102、通过当前迭代轮次与历史最优蚂蚁更新轮次的差值进行停滞态判断,若蚁群处于停滞态,转到步骤103,反之若蚁群处于正常状态,转到步骤104;
S103、在灾变状态生成种群中的蚂蚁个体,根据设定的灾变比例,通过状态转移规则生成部分蚂蚁,再随机生成另一部分蚂蚁,并将上次更新轮次设置为当前轮次,并转到步骤S105;
S104、通过状态转移规则生成所有蚂蚁,并转到步骤S105;
S105、根据适应度公式分别计算得到每只蚂蚁的适应度,针对每只蚂蚁采用邻域搜索策略进行邻域寻优,若寻到更优解,则更新对应蚂蚁的适应度值,在该轮迭代中寻找适应度最高的蚂蚁个体与历史最优蚂蚁比较,若前者适应度更高,转到步骤106,否则转到步骤107;
S106、将当前轮次迭代中适应度最高的蚂蚁个体记录为历史最优蚂蚁,将历史最优蚂蚁更新的轮次修改为当前轮次,转到步骤107;
S107、通过信息素更新规则更新信息素矩阵和量子信息素概率幅矩阵;
S108、通过最大最小的方法判断量子信息素概率幅是否超过上下限阈值,如果超过,进行量子信息素概率幅更新;
S107、若当前轮次大于等于设定的迭代次数,则结束迭代,输出最优解即历史最优蚂蚁对应的任务调度方案,反之将当前迭代轮次加1,转到步骤102。
4.根据权利要求3所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,通过当前迭代轮次与历史最优解更新轮次的差值进行停滞态判断包括:
通过当前迭代轮次和历史最优解更新轮次计算停滞轮数为:
停滞轮数=当前迭代轮次-历史最优对应的迭代轮次;
采用停滞态判断的方法来作为灾变条件,当停滞态为0时种群为正常状态,而停滞态为1时种群处于停滞态,则停滞态表示为:
Figure FDA0002409556070000031
5.根据权利要求3所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,蚂蚁的适应度与根据Spark平台任务调度方法的任务分配方案完成任务的预测时间成反比,该预测时间的计算包括:
S201、获取当前节点的CPU能力CPU当前能力、内存显示程序的当前能力MEM 当前能力以及网络传输速度NWSpeed
S202、用内存溢出标记表示当前分配方案中各任务分配导致内存溢出的可能性;
S203、根据当前节点的CPU能力、内存溢出标记MEM当前能力、网络传输速度NWSpeed以及将任务i分配给节点j的内存溢出标记计算任务节点间调度传输时间T、任务执行计算操作的时间T,并根据节点j上的任务等待队列计算任务i可以开始执行的时间T
S204、将一个节点的T、T、T之和作为该节点的执行完任务的时间;
S205、计算所有被分配到任务的节点执行完任务的时间,取其中最大值为所有任务的总完成时间,也就是该任务分配方案的完成时间。
6.根据权利要求5所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,任务节点间调度传输时间T表示为:
Figure FDA0002409556070000032
其中,NWspeed,数据文件位置代表当前任务对应的数据文件所在节点网络传输速度,NWspeed,调度目标节点代表该任务调度的目标节点网络传输速度。
7.根据权利要求5所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,任务执行计算操作的时间T表示为:
Figure FDA0002409556070000041
其中,SPILLi,j代表把任务i分配给节点j的内存溢出标记,Tspill代表任务溢出所带来的额外时间比例,CPU调度目标节点当前能力代表调度目标节点也就是节点j的当前CPU能力。
8.根据权利要求5所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,任务i可以开始执行的时间T表示为:
Figure FDA0002409556070000042
其中,T计,u表示任务i的调度目标节点上等待队列中第u个任务的计算时间;T传,u表示任务i的调度目标节点上等待队列中第u个任务的调度传输时间;k代表任务调度目标节点上的任务等待队列长度。
9.根据权利要求3所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,在灾变状态生成种群中的蚂蚁个体包括:随机保留蚁群中比例为x的个体数目,其余个体由随机生成的个体代替,x的取值范围为[0,1],x的取值和灾变强度成反比。
10.根据权利要求3所述的基于改进量子蚁群算法的Spark平台任务调度方法,其特征在于,通过最大最小量子信息素概率幅控制方法为:
S301、通过概率幅上下限QPmax和QPmin判断当前量子信息素概率幅是否需要更新;
S302、α与β为量子信息素概率幅,如果量子信息素概率幅需要更新,更新过程表示为:
Figure RE-FDA0002529928480000043
Figure RE-FDA0002529928480000044
S303、若量子信息素概率幅α或β其中之一更新,通过|α|2+|β|2=1来更新另一个的值,|·|表示绝对值。
CN202010172152.5A 2020-03-12 2020-03-12 基于改进量子蚁群算法的Spark平台任务调度方法 Active CN111459628B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010172152.5A CN111459628B (zh) 2020-03-12 2020-03-12 基于改进量子蚁群算法的Spark平台任务调度方法
EP20845366.2A EP3907609A4 (en) 2020-03-12 2020-06-16 SPARK PLATFORM TASK SCHEDULING METHOD BASED ON AN IMPROVED QUANTUM ANT COLONY ALGORITHM
PCT/CN2020/096252 WO2021179462A1 (zh) 2020-03-12 2020-06-16 基于改进量子蚁群算法的Spark平台任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010172152.5A CN111459628B (zh) 2020-03-12 2020-03-12 基于改进量子蚁群算法的Spark平台任务调度方法

Publications (2)

Publication Number Publication Date
CN111459628A true CN111459628A (zh) 2020-07-28
CN111459628B CN111459628B (zh) 2023-11-28

Family

ID=71683246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010172152.5A Active CN111459628B (zh) 2020-03-12 2020-03-12 基于改进量子蚁群算法的Spark平台任务调度方法

Country Status (3)

Country Link
EP (1) EP3907609A4 (zh)
CN (1) CN111459628B (zh)
WO (1) WO2021179462A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112462704A (zh) * 2020-11-18 2021-03-09 河海大学常州校区 一种面向传感器车间生产的混流批调度优化方法
CN113391893A (zh) * 2021-06-02 2021-09-14 华中科技大学 基于改进蚁群的任务调度方法、装置、设备及存储介质
CN114936086A (zh) * 2022-07-26 2022-08-23 之江实验室 一种多计算中心场景下的任务调度器、调度方法及装置
CN115297180A (zh) * 2022-08-04 2022-11-04 苏州创意云网络科技有限公司 集群调度方法及装置
CN117240773A (zh) * 2023-11-15 2023-12-15 华北电力大学 一种电力通信网节点编排方法、装置、设备及介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114867061B (zh) * 2022-07-05 2022-12-13 深圳市搜了网络科技股份有限公司 一种基于无线通信网络的云监控方法
CN115203315B (zh) * 2022-07-18 2023-06-27 浙江鼎昆环境科技有限公司 监测点状态展示***及计算方法
CN115499376B (zh) * 2022-07-29 2024-01-02 天翼云科技有限公司 一种负载均衡方法、***、电子设备及存储介质
CN115442219B (zh) * 2022-11-09 2023-01-24 广州优刻谷科技有限公司 一种物联网备份节点选举方法及***
CN116070522B (zh) * 2023-01-12 2024-07-23 上海电力大学 一种基于量子蚁群算法的配电网故障定位方法
CN116340839B (zh) * 2023-02-08 2023-10-20 北京大数据先进技术研究院 基于蚁狮算法的算法选择方法及装置
CN115951988B (zh) * 2023-03-03 2023-05-12 北京并行科技股份有限公司 一种作业调度方法、计算设备及存储介质
CN117077443B (zh) * 2023-10-16 2024-01-16 北京卓翼智能科技有限公司 一种基于redis完成内部通信的无人机仿真***
CN117130760B (zh) * 2023-10-24 2024-01-26 中诚华隆计算机技术有限公司 一种芯粒智能选择调度方法及***
CN117193989B (zh) * 2023-11-07 2024-03-15 广东云下汇金科技有限公司 一种分区数据中心的数据集中调度方法及其相关设备
CN117271142B (zh) * 2023-11-22 2024-03-01 福建福清核电有限公司 用于分析概率安全分析模型的负载均衡方法和任务调度器
CN117522088B (zh) * 2024-01-05 2024-03-29 南京信息工程大学 一种融合充电约束和容量约束的多电动物流车调度方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779252A (zh) * 2017-02-10 2017-05-31 泉州装备制造研究所 一种基于改进量子蚁群算法的agv实时路线规划方法
CN106844051A (zh) * 2017-01-19 2017-06-13 河海大学 一种边缘计算环境中功耗优化的负载任务迁移算法
US10216546B1 (en) * 2018-07-09 2019-02-26 Insitu Software Limited Computationally-efficient resource allocation
CN110086855A (zh) * 2019-03-29 2019-08-02 江苏开拓信息与***有限公司 基于蚁群算法的Spark任务智能感知调度方法
CN110413389A (zh) * 2019-07-24 2019-11-05 浙江工业大学 一种资源不均衡Spark环境下的任务调度优化方法
CN110825527A (zh) * 2019-11-08 2020-02-21 北京理工大学 一种云环境下截止期-预算驱动的科学工作流调度方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275278B2 (en) * 2016-09-14 2019-04-30 Salesforce.Com, Inc. Stream processing task deployment using precompiled libraries
DE102018116554A1 (de) * 2018-07-09 2020-01-09 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem-Infrastruktur sowie Verfahren zum Hosten einer Anwendungssoftware
CN110069325B (zh) * 2018-09-05 2020-12-15 西南民族大学 基于任务分类的移动边缘计算任务调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844051A (zh) * 2017-01-19 2017-06-13 河海大学 一种边缘计算环境中功耗优化的负载任务迁移算法
CN106779252A (zh) * 2017-02-10 2017-05-31 泉州装备制造研究所 一种基于改进量子蚁群算法的agv实时路线规划方法
US10216546B1 (en) * 2018-07-09 2019-02-26 Insitu Software Limited Computationally-efficient resource allocation
CN110086855A (zh) * 2019-03-29 2019-08-02 江苏开拓信息与***有限公司 基于蚁群算法的Spark任务智能感知调度方法
CN110413389A (zh) * 2019-07-24 2019-11-05 浙江工业大学 一种资源不均衡Spark环境下的任务调度优化方法
CN110825527A (zh) * 2019-11-08 2020-02-21 北京理工大学 一种云环境下截止期-预算驱动的科学工作流调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨忙忙: ""Spark数据处理平台中资源动态分配技术研究"", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112462704A (zh) * 2020-11-18 2021-03-09 河海大学常州校区 一种面向传感器车间生产的混流批调度优化方法
CN113391893A (zh) * 2021-06-02 2021-09-14 华中科技大学 基于改进蚁群的任务调度方法、装置、设备及存储介质
CN114936086A (zh) * 2022-07-26 2022-08-23 之江实验室 一种多计算中心场景下的任务调度器、调度方法及装置
CN115297180A (zh) * 2022-08-04 2022-11-04 苏州创意云网络科技有限公司 集群调度方法及装置
CN115297180B (zh) * 2022-08-04 2024-03-29 苏州创意云网络科技有限公司 集群调度方法、装置及存储介质
CN117240773A (zh) * 2023-11-15 2023-12-15 华北电力大学 一种电力通信网节点编排方法、装置、设备及介质
CN117240773B (zh) * 2023-11-15 2024-02-02 华北电力大学 一种电力通信网节点编排方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2021179462A1 (zh) 2021-09-16
EP3907609A4 (en) 2022-05-11
EP3907609A1 (en) 2021-11-10
CN111459628B (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
CN111459628B (zh) 基于改进量子蚁群算法的Spark平台任务调度方法
US8352951B2 (en) Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
CN109885397B (zh) 一种边缘计算环境中时延优化的负载任务迁移算法
CN110941667A (zh) 一种移动边缘计算网络中的计算卸载方法及***
CN109617826B (zh) 一种基于布谷鸟搜索的storm动态负载均衡方法
US20200364083A1 (en) Systems and methods for digital workforce intelligent orchestration
CN109981744B (zh) 数据的分发方法、装置、存储介质及电子设备
CN113037877B (zh) 云边端架构下时空数据及资源调度的优化方法
CN110519370B (zh) 一种基于设施选址问题的边缘计算资源分配方法
CN111597043B (zh) 一种全场景边缘计算方法、装置及***
CN110086855B (zh) 基于蚁群算法的Spark任务智能感知调度方法
CN112463337B (zh) 一种用于移动边缘计算环境下的工作流任务迁移方法
CN113825152A (zh) 容量控制方法、网管设备、管理编排设备、***及介质
US20220300336A1 (en) Systems and methods for digital workforce intelligent orchestration
CN112365366A (zh) 一种基于智能化5g切片的微电网管理方法及***
CN116643844B (zh) 面向电力超算云资源自动扩展的智能化管理***及方法
CN114327811A (zh) 一种任务调度方法、装置、设备及可读存储介质
CN110888732A (zh) 一种资源配置方法、设备、装置和计算机可读存储介质
CN117271101B (zh) 一种算子融合方法、装置、电子设备及存储介质
CN115794341A (zh) 基于人工智能的任务调度方法、装置、设备及存储介质
CN115686792A (zh) 任务调度方法、装置、电子设备、存储介质及产品
CN115686830A (zh) 边缘计算资源弹性调度方法及***
WO2023089350A1 (en) An architecture for a self-adaptive computation management in edge cloud
Bensalem et al. Scaling Serverless Functions in Edge Networks: A Reinforcement Learning Approach
CN117687759A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230621

Address after: 710000 No. B49, Xinda Zhongchuang space, 26th Street, block C, No. 2 Trading Plaza, South China City, international port district, Xi'an, Shaanxi Province

Applicant after: Xi'an Huaqi Zhongxin Technology Development Co.,Ltd.

Address before: 400065 Chongwen Road, Nanshan Street, Nanan District, Chongqing

Applicant before: CHONGQING University OF POSTS AND TELECOMMUNICATIONS

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231013

Address after: Room 408-9, Block C, Science and Technology Innovation Park, No. 12 (Park), Chuangye New Street, Daqing Hi tech Zone, Heilongjiang Province, 163000

Applicant after: Daqing Kaidexin Information Technology Co.,Ltd.

Address before: 710000 No. B49, Xinda Zhongchuang space, 26th Street, block C, No. 2 Trading Plaza, South China City, international port district, Xi'an, Shaanxi Province

Applicant before: Xi'an Huaqi Zhongxin Technology Development Co.,Ltd.

GR01 Patent grant
GR01 Patent grant