CN116932164B - 一种基于云平台的多任务调度方法及其系统 - Google Patents

一种基于云平台的多任务调度方法及其系统 Download PDF

Info

Publication number
CN116932164B
CN116932164B CN202310918506.XA CN202310918506A CN116932164B CN 116932164 B CN116932164 B CN 116932164B CN 202310918506 A CN202310918506 A CN 202310918506A CN 116932164 B CN116932164 B CN 116932164B
Authority
CN
China
Prior art keywords
task
cloud computing
model
completion time
tasks
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
Application number
CN202310918506.XA
Other languages
English (en)
Other versions
CN116932164A (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.)
Heguang Shujuan Guangdong Digital Technology Co ltd
Original Assignee
Heguang Shujuan Guangdong Digital Technology Co ltd
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 Heguang Shujuan Guangdong Digital Technology Co ltd filed Critical Heguang Shujuan Guangdong Digital Technology Co ltd
Priority to CN202310918506.XA priority Critical patent/CN116932164B/zh
Publication of CN116932164A publication Critical patent/CN116932164A/zh
Application granted granted Critical
Publication of CN116932164B publication Critical patent/CN116932164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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]
    • 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)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于云平台的多任务调度方法及系统。首先,接收用户设备发送的任务请求。然后,根据任务请求,采用基于深度Q‑策略梯度的增强学习模型对任务特征进行预测,得到任务的特征向量,并计算出任务的预期奖励值。接下来,利用一个时间最小化的蜂群优化模型对任务进行调度,该模型接收任务的预期奖励值和特征向量作为输入,通过模拟蜜蜂寻找食物的行为,并经过多次迭代,寻找出使得所有任务的完成时间最短的任务分配方案。最后,根据获得的任务分配方案,调度云计算资源执行相应任务。这种方法提供了一种高效的多任务调度方式,可以提升云平台的任务处理效率和性能。

Description

一种基于云平台的多任务调度方法及其系统
技术领域
本申请涉及云计算领域,尤其涉及一种基于云平台的多任务调度方法及其系统。
背景技术
随着云计算技术的快速发展,云平台已经成为了处理和存储大量数据的主要场所。然而,云平台上的多任务调度一直是一个具有挑战性的问题。如何有效地分配云计算资源以最小化任务的完成时间,提高系统的效率和性能,是云计算领域研究的重要方向。
传统的任务调度方法通常基于静态的策略或者规则,如优先级、到达时间等,但这些方法往往无法适应云计算环境中任务特性和计算资源状态的动态变化,因此,对任务调度的效果和效率的提高具有限制。
近年来,人工智能技术,尤其是机器学习和优化算法的发展为解决这个问题提供了新的可能。因此,研发出一种结合机器学习和优化算法的高效的多任务调度方法及其系统,是当前云计算领域的重要需求。
发明内容
本申请提供一种基于云平台的多任务调度方法及其系统,以提升云平台的任务处理效率和性能。
本申请提供的一种基于云平台的多任务调度方法包括:
接收用户设备发送的任务请求;
根据所述任务请求,通过基于深度Q-策略梯度的增强学习模型对任务特征进行预测,得到任务的特征向量,并计算出任务的预期奖励值;
利用时间最小化的蜂群优化模型对任务进行调度,该模型将任务的预期奖励值和特征向量作为输入,模拟蜜蜂寻找食物的行为,通过多次迭代,寻找使得所有任务的完成时间最短的任务分配方案,作为蜂群优化模型的输出;
根据所述任务分配方案,调度云计算资源执行相应任务;
根据任务在云计算资源上的完成时间比例,利用信息熵权重调整模型对各云计算资源的权重进行动态调整,包括:
(a)在任务ti开始执行时,记录任务ti在每个云计算资源Rj上的预计完成时间,计算并记录每个云计算资源Rj上的任务完成时间比例pi,j,其中pi,j为任务ti在云计算资源Rj上的预计完成时间占任务ti在所有云计算资源上的总预计完成时间的比例;
(b)在任务ti结束后,根据实际的任务完成时间,更新每个云计算资源Rj上的任务完成时间比例pi,j
(c)利用以下公式动态计算并更新计算云计算资源Rj的权重wj
其中,N为云平台上的云计算资源总数;
(d)在后续的任务调度决策中,从动态计算的权重中,选择其中权重最高的云计算资源来执行新的任务,以提高资源利用率和系统的整体性能。
更进一步地,所述多任务调度方法,还包括:
根据所述云计算资源在任务执行完成之后发送的反馈结果对深度Q-策略梯度增强学习模型、时间最小化蜂群优化模型和信息熵权重调整模型进行更新和优化。
更进一步地,所述基于深度Q-策略梯度的增强学习模型通过以下公式对模型参数进行更新:
其中,θ'是更新后的模型参数;θ是当前的模型参数;α是学习率,用来控制模型参数更新的步长;Ri是任务i完成后的实际奖励;γ是折扣因子,用于计算未来奖励的现值;maxa Q(Si',a;θ)是估计未来的最大奖励,其中,maxa表示在所有可能的动作a中,选择那些能使Q值最大化的动作,Si'是下一个状态;Q(Si,ai;θ)是模型当前预测的奖励值;是Q值关于模型参数θ的梯度。
更进一步地,所述时间最小化蜂群优化模型通过以下公式进行迭代搜索:
Xk+1=Xk+α*(Xp-Xk)+β*(Xg-Xk)
其中,Xk为当前解,表示当前的任务分配方案;Xp为当前解周围的最优解,表示在当前解的领域内,使得所有任务的完成时间最小的任务分配方案;Xg为全局最优解,表示在所有迭代过程中,使得所有任务的完成时间最小的任务分配方案;α和β为随机系数,模拟蜜蜂寻找食物的随机性。
更进一步地,α被设置为任务大小的函数,β被设置为任务紧急程度的函数,当蜜蜂进行迭代搜索时,使用动态调整的α和β值来更新当前的任务分配方案。
本申请提供一种基于云平台的多任务调度系统,包括:
用户设备,用于向云服务器发送任务请求;
云服务器,用于根据所述任务请求,运行深度Q-策略梯度的增强学习模型和时间最小化的蜂群优化模型,执行任务调度;用于根据任务在各云计算资源上的完成时间比例,利用信息熵权重调整模型对各云计算资源的权重进行动态调整,包括:
(a)在任务ti开始执行时,记录任务ti在每个云计算资源Rj上的预计完成时间,计算并记录每个云计算资源Rj上的任务完成时间比例pi,j,其中pi,j为任务ti在云计算资源Rj上的预计完成时间占任务ti在所有云计算资源上的总预计完成时间的比例;
(b)在任务ti结束后,根据实际的任务完成时间,更新每个云计算资源Rj上的任务完成时间比例pi,j
(c)利用以下公式动态计算并更新计算云计算资源Rj的权重wj
其中,N为云平台上的云计算资源总数;
(d)在后续的任务调度决策中,从动态计算的权重中,选择其中权重最高的云计算资源来执行新的任务,以提高资源利用率和系统的整体性能。
云计算资源,根据云服务器的调度,执行相应的任务。
更进一步地,所述云服务器在接收到任务请求后,通过深度Q-策略梯度的增强学习模型对任务特征进行预测,然后利用时间最小化的蜂群优化模型对任务进行调度,并在任务执行过程中利用信息熵权重调整模型对各计算资源的权重进行动态调整。
本申请提出了一种全新的基于云平台的多任务调度方法,它通过集成深度Q-策略梯度增强学习模型和时间最小化的蜂群优化模型,实现了对任务特性的预测和优化的任务调度。特别是,将深度学习和蜂群优化这两种先进的计算技术有机结合,使得系统在处理大规模复杂任务时,可以更好地适应任务特性和计算资源状态的动态变化,提高调度效率。
首先,该方法通过深度Q-策略梯度增强学习模型预测任务特性,得到任务的特征向量,并计算出任务的预期奖励值。这一点比传统的基于规则或优先级的调度方法具有更高的灵活性和适应性。
其次,该方法利用时间最小化的蜂群优化模型对任务进行调度,这是模拟蜜蜂寻找食物的行为,通过多次迭代,寻找使得所有任务的完成时间最短的任务分配方案。这种自适应的优化算法,能有效应对复杂的、动态变化的任务调度问题。
本申请提出的基于云平台的多任务调度方法具有以下有益的技术效果:
(1)提高调度效率:通过深度Q-策略梯度增强学习模型和蜂群优化模型的联合应用,该方法可以更准确地预测任务特性,更有效地寻找任务分配方案,从而大大提高任务调度的效率。
(2)最小化任务完成时间:该方法利用时间最小化的蜂群优化模型对任务进行调度,可以找到最小化所有任务完成时间的任务分配方案,从而最大化云计算资源的利用率,提高系统的性能。
(3)提高资源利用率:通过优化任务分配,可以避免计算资源的闲置或过载,使云平台的计算资源得到更加合理和高效的利用。
(4)增强系统的适应性:该方法可以适应任务特性和计算资源状态的动态变化,提高系统的鲁棒性,使得系统在面对各种复杂任务和变化的环境时仍能保持高效和稳定的运行。
附图说明
图1是本申请第一实施例提供的一种基于云平台的多任务调度方法的流程图。
图2是本申请第一实施例涉及的深度Q-策略梯度的增强学习模型的示意图。
图3是本申请第二实施例提供的一种基于云平台的多任务调度流程的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
首先对于本申请出现的几个概念进行说明。
云计算资源,是在云计算环境下,由云服务提供商提供的可供客户使用的计算资源。这些资源一般包括但不限于计算能力(如CPU、GPU)、存储空间(硬盘或SSD)、内存、网络带宽、数据库、以及各种中间件等。用户可以按需使用这些资源,并且只需为实际使用的资源付费。这种模式允许用户无需购买和维护昂贵的硬件设备,就可以获得弹性、可伸缩的计算资源。
云服务器(也被称为虚拟专用服务器)是一种虚拟化的服务器,它通过云计算环境中的硬件虚拟化技术实现。一台物理服务器可以被虚拟化为多台云服务器,每台云服务器都拥有独立的操作系统和IP地址,并且可以独立运行软件和服务。用户可以按需租用云服务器,并可以根据需求随时调整云服务器的配置(如CPU、内存、硬盘等)。云服务器提供了与物理服务器类似的功能,但是成本更低,扩展性更强。
云计算资源是一个广义的概念,它包括了在云计算环境中可以被分配和使用的所有类型的资源,包括计算能力(如CPU、GPU)、存储空间(如硬盘或SSD)、网络带宽、数据库、中间件等。云服务器是这些云计算资源中的一种。它是通过虚拟化技术在物理硬件上创建的,具有自己的操作系统和IP地址,并能够运行各种软件和服务。用户可以根据自己的需求租用和配置云服务器,它为用户提供了在云中运行应用程序的环境。
本申请第一实施例提供一种基于云平台的多任务调度方法。请参看图1,该图为本申请第一实施例的示意图。以下结合图1对本申请第一实施例提供一种基于云平台的多任务调度方法进行详细说明。
步骤S101:接收用户设备发送的任务请求。
云服务器接收户设备发送的任务请求,所述任务请求包括各任务的特性集。
在云计算环境中,用户设备可以是多种类型,如个人电脑、手机、平板电脑,甚至是物联网(IoT)设备,例如传感器、智能家电等。这些设备会根据用户的需求或设备的功能,向云服务器发送各种任务请求。
以一个物流公司为例,该公司使用无人机进行货物配送。这里的用户设备就是无人机,而任务则是规划无人机货物配送的方案。
每个无人机货物配送任务i都有一个特性集Si,可以包含以下元素:
Di:目的地。每个货物有一个指定的配送地址。
Ti:预计送达时间。货物需要在规定的时间内送达。
Wi:货物重量。无人机需要考虑货物的重量来调整飞行方式和能源消耗。
Vi:货物体积。不同体积的货物可能需要不同类型的无人机来运输。
Ci:货物类别。某些货物可能需要特殊的运输条件,例如冷链运输。
当无人机准备进行配送时,它会将以上任务特性集Si发送到云服务器,请求任务调度服务。
步骤S103:根据所述任务请求,通过基于深度Q-策略梯度的增强学习模型对任务特征进行预测,得到任务的特征向量,并计算出任务的预期奖励值。
云服务器接收任务请求后,通过基于深度Q-策略梯度的增强学习模型对任务特征进行预测,得到每个任务的特征向量,并计算出每个任务的预期奖励值。
深度Q-策略梯度的增强学习模型是一种结合了深度学习和Q学习(一种增强学习算法)的模型,用于解决一些复杂的决策问题。
深度学习是一种特殊类型的机器学习,其结构包含多个隐藏层的神经网络。这种模型的输入是原始的特性(或状态)集,通过多层的神经元非线性变换后,输出一个新的特征向量。这个向量包含了原始特性的抽象和高层次表示,可以更好地揭示任务之间的关系和相互影响。
Q学习是一种增强学习算法,其目标是通过学习一个动作-价值函数(即Q函数)来找到最优的决策策略。在这里,Q函数表示在给定的状态下选择某个动作能够获得的预期奖励。通过不断的探索和学习,Q函数能够逐渐接近实际的最优函数,从而找到最优的决策策略。
策略梯度是一种优化策略的方法,其基本思想是通过计算策略的梯度来更新策略参数,从而使策略逐渐接近最优。在深度Q-策略梯度的增强学习模型中,策略梯度方法被用来更新Q函数的参数,以此达到优化决策策略的目的。
在深度Q-策略梯度的增强学习模型中,首先使用深度学习将原始的任务的特性集转换为特征向量,然后根据当前的状态和策略选择动作,通过Q学习算法计算出预期的奖励值。通过不断地探索和学习,模型能够找到最优的决策策略,从而使总的奖励值最大化。同时,模型会根据实际的奖励值来调整和优化自身的参数,以此改善未来的预测性能。
下面结合图2对于该模型进行说明,其为深度Q-策略梯度的增强学习模型200的示意图。深度Q-策略梯度的增强学习模型200主要包括深度神经网络202、策略选择器204以及Q函数计算单元206。
深度神经网络202包含多个层次。其包括输入层,隐藏层和输出层。输入层接收任务的特性集Si={Di,Ti,Wi,Vi,Ci}。随后的隐藏层(可以是一层或多层)对输入层的数据进行处理和转化。每一层由一系列的神经元构成,这些神经元通过神经连接相互连接。输出层生成一个特征向量,这个向量包含了任务的抽象和高层次特征。
策略选择器204,用于接收深度神经网络202输出的特征向量,并根据当前的策略选择一个动作ai。这个动作可以是分配某个无人机进行配送,或者选择某个时间段进行配送等。
Q函数计算单元206,用于接收策略选择器204选择的动作ai和深度神经网络202的特征向量,然后计算预期奖励值Q(Si,ai;θ),其中θ表示深度神经网络202的参数,由于深度神经网络202是深度Q-策略梯度的增强学习模型200的一部分,因此θ也可以说是深度Q-策略梯度的增强学习模型200的模型参数。在下面的说明中,为了简单起见,有时会将θ简称为模型参数。
Q函数计算单元206下方的回指箭头,表示深度神经网络202的模型参数θ的更新过程。当任务执行完成后,云平台的环境会根据智能体选择的行为给出实际的奖励Ri。智能体(也就是这里的模型200)会根据实际的奖励和预期奖励的差距来更新参数θ,从而改进未来的预测能力。这一步是通过策略梯度算法实现的。
基于深度Q-策略梯度的增强学习模型200作为一个调度模型,它的目标是在给定任务特性集的情况下,选择一个最优的行动,例如将任务分配给某个特定的计算资源。在强化学习的术语中,通常将这个调度模型称为"智能体"。
"环境"是强化学习中的一个概念,它表示智能体的外部世界,或者说是智能体与之交互的那部分世界。在本实施例提供的场景中,环境可以是云平台的所有计算资源、任务以及它们的动态变化状态。环境的状态可以由许多因素构成,例如各个计算资源的当前状态(如负载、空闲/繁忙等)、等待执行的任务的数量和特性等。
在每个时间步,智能体(调度模型)基于当前的环境状态选择一个行动执行(如分配某个任务给某个计算资源)。环境接收这个行动,并根据行动的结果更新其状态(例如,如果任务成功完成,那么相关计算资源的状态可能会从"繁忙"变为"空闲")。然后,环境会根据这个行动的结果给予智能体一个奖励。这个奖励代表了行动的好坏,比如,如果选择的计算资源成功快速地完成了任务,那么奖励可能是正的;反之,如果因为资源选择不当导致任务延迟,那么奖励可能是负的。
在得到环境的反馈后,智能体会根据这个反馈来更新自己的策略,也就是深度神经网络的参数。例如,如果某个行动导致了负奖励,那么智能体可能会调整参数,使得在相似的环境状态下,下次不再选择那个行动。
强化学习的目标就是通过与环境的交互,持续优化智能体的策略,使得它在长期中能够获取尽可能多的奖励。在本实施例提供的场景中,这就相当于优化任务的调度策略,以提高计算资源的利用率,减少任务的完成时间,从而提高整体系统的性能。
具体而言,对于每个任务i,先通过深度神经网络202将特性集Si转换为特征向量,这个特征向量可以揭示任务的深层次特性和任务间的关系。在此基础上,策略选择器204选择一个动作ai。这个动作可以是随机选择的,也可以是当前预期奖励最大的动作。Q函数计算单元206根据选定的动作ai,计算预期奖励值Q(Si,ai;θ)。这个值是模型预测如果执行这个动作,将会得到的奖励。
在执行完动作后,会得到一个实际的奖励值Ri,以及新的状态Si'。使用这些信息来更新模型参数θ,方法是利用梯度下降来最小化预期奖励值和实际奖励值之间的差异。
这个过程会反复进行,每执行一次动作,模型就会学习一次,不断调整自己的参数,使得预测的奖励值越来越接近实际的奖励值。这样,当有新的任务请求来时,模型就能准确地预测出各个可选动作的预期奖励,从而做出最优的任务调度决策。
例如,云服务器接收到无人机发送的配送任务请求后,将使用基于深度Q-策略梯度的增强学习模型200对任务特征进行预测。
对于每个配送任务i,云服务器将其特性集Si={Di,Ti,Wi,Vi,Ci}作为状态输入,通过深度神经网络进行处理,转化为一个特征向量。这个特征向量包含了原始特性的抽象和高层次表示,能够更好地揭示任务之间的关系和相互影响。
接下来,增强学习模型200根据当前的策略选择一个动作ai,例如分配一台特定的无人机进行配送,或者在某个时间段进行配送等。然后,增强学习模型200根据以下公式对模型参数进行更新:
θ':这是更新后的模型参数。
θ:这是当前的模型参数。
α:这是学习率,一个正数,用来控制模型参数更新的步长。如果α值较大,那么更新步长就会比较大,反之亦然。
Ri:这是任务i完成后的实际奖励。例如,如果任务成功完成配送,那么奖励可能是正值;如果配送失败,那么奖励可能是负值。
γ:这是折扣因子,一个在0和1之间的数。γ用于计算未来奖励的现值,即未来奖励的现在价值。这是因为,在很多情况下,立即得到的奖励比将来得到的奖励更有价值。
maxa Q(Si',a;θ):这部分是估计未来的最大奖励。这里,maxa表示我们在所有可能的动作a中,选择那些能使Q值最大化的动作。Si'是下一个状态。
Q(Si,ai;θ):这是模型当前预测的奖励值。
这是Q值关于模型参数θ的梯度,用于指导模型参数的更新方向。
通过这种方式,云服务器可以预测每个配送任务的预期奖励,从而为下一步的任务调度做好准备。
步骤S105:利用时间最小化的蜂群优化模型对任务进行调度,该模型将任务的预期奖励值和特征向量作为输入,模拟蜜蜂寻找食物的行为,通过多次迭代,寻找使得所有任务的完成时间最短的任务分配方案,作为蜂群优化模型的输出。
假设云平台有N个任务,需要分配给M个计算资源进行处理。每个任务ti有其预期奖励值和特征向量,这些数据由深度Q-策略梯度增强学习模型得出。这些数据成为改进型蜂群优化模型的输入。
在时间最小化的蜂群优化模型中,初始创建一个蜜蜂种群,每只蜜蜂代表一种可能的任务分配方案。这种方案是一个长度为N的向量X0={x1,x2,...,xn},其中xi表示任务ti分配给的云计算资源的标识。这些分配方案的生成,是基于任务的特征向量和预期奖励值。例如,可以基于预期奖励值高低或特征向量差异来随机生成初始方案,或者也可以使用更复杂的启发式策略来创建初始的任务分配方案。
然后,计算每个任务在给定分配方案下的完成时间,然后根据任务的特征向量和预期奖励值对完成时间进行加权,得到分配方案的总体完成时间。这个总体完成时间被认为是分配方案的质量或优劣的指标。在每一次迭代过程中,每只蜜蜂会探索任务分配方案的邻域,并寻找更优的方案。这个过程使用以下公式来更新当前解:
Xk+1=Xk+α*(Xp-Xk)+β*(Xg-Xk)
其中,Xk为当前解(任务分配方案),Xp为当前解周围的最优解,Xg为全局最优解,α和β为随机系数,模拟蜜蜂寻找食物的随机性。此外,还可以根据任务的特征向量和预期奖励值来动态调整迭代公式中的系数α和β,以更好地模拟蜜蜂寻找食物的随机性。也就是说,可以让具有较高预期奖励值或特定特征的任务更可能被分配到优质的计算资源上。
这个迭代过程会持续进行,直到达到预设的最大迭代次数,或者全局最优解在连续若干次迭代中没有改进。
最终,将得到一个全局最优解,这个解代表了一种使得所有任务的完成时间最小的任务分配方案。这个方案就是蜂群优化模型的输出。
在这个过程中,模型考虑了任务的特性和预期奖励值,并通过模拟蜜蜂寻找食物的行为,找到了一个最优的任务分配方案,使得所有任务的完成时间最小。
α和β通常被设置为随机系数以模拟蜜蜂寻找食物的随机行为。但是,在云平台的多任务调度环境下,本实施例还提供一种更具策略性的方式来确定这两个参数。下面对于这种更具策略性的方式进行详细说明。
云计算环境中的任务有很多特性,比如任务的大小、任务的紧急程度、任务的资源需求等。这些特性都会影响任务的调度。比如,大任务可能需要更多的计算资源,紧急任务可能需要优先执行,资源需求多的任务可能需要分配给资源丰富的计算节点等。因此,可以根据任务的这些特性来动态调整α和β的值。
一种可能的方式是,将α和β设置为任务特性的函数。比如,可以将α设置为任务大小的函数,β设置为任务紧急程度的函数。具体来说,对于大任务,可能希望更多地考虑全局最优解,因此可以设置α的值较大;对于紧急任务,可能希望更多地考虑局部最优解,因此可以设置β的值较大。
假设云平台上有三个待处理任务,分别为T1、T2、T3。任务T1的大小为10,紧急程度为1;任务T2的大小为20,紧急程度为2;任务T3的大小为30,紧急程度为3。假设任务的大小和紧急程度都以一定的范围来量化,这里设定任务大小的范围为1-100,紧急程度的范围为1-10。
接下来,设置α和β的值。假设设置α为任务大小的函数,β为任务紧急程度的函数。具体的函数形式可以有很多种,例如可以使用线性函数、对数函数等。在这个例子中,使用最简单的线性函数,即α=任务大小/100,β=任务紧急程度/10。这样,α和β的值都将在0-1之间。
那么,对于任务T1,可以计算出α1=10/100=0.1,β1=1/10=0.1;对于任务T2,可以计算出α2=20/100=0.2,β2=2/10=0.2;对于任务T3,可以计算出α3=30/100=0.3,β3=3/10=0.3。
当蜜蜂进行搜索时,可以使用这些动态调整的α和β值来更新当前的任务分配方案。由于α值和任务大小成正比,大任务会更多地考虑全局最优解,而小任务则会更多地考虑局部最优解;同样,由于β值和任务紧急程度成正比,紧急任务会更多地考虑局部最优解,而不紧急的任务则会更多地考虑全局最优解。
通过这种方式,能够根据任务的特性来动态调整α和β的值,实现更加精细化的任务调度。这是一种与常规蜂群优化算法不同的创新方式,能够更好地适应云平台的多任务调度环境。
蜂群优化算法是一种自然启发式的优化算法,基于蜜蜂寻找食物的行为进行建模,设计出用于寻找函数最优解的方法。通常的蜂群优化模型并没有特定的优化目标,可以用于多种不同的问题,如路径优化、图像处理、数据挖掘等。
本实施例提供的时间最小化的蜂群优化模型则特定针对任务调度问题,目标是最小化所有任务的完成时间。这是对蜂群优化模型的一种创新应用。在该模型中,每只"蜜蜂"代表一种可能的任务分配方案,而"食物源"对应的是任务的完成时间。蜜蜂会根据一定的策略,如比邻搜索和全局搜索,来寻找完成时间最短的任务分配方案。此外,该模型还采用了一种特定的更新策略,将任务的特性和预期奖励值作为输入,更加精准地进行搜索。
创新点主要体现在以下两个方面:
(1)特定的优化目标:时间最小化的蜂群优化模型是专门为了解决任务调度问题设计的,目标是最小化所有任务的完成时间,这与一般的蜂群优化模型有明显区别。
(2)高级的特性向量输入:该模型利用了深度Q-策略梯度增强学习模型计算出的任务特性和预期奖励值,将其作为输入进行搜索,能够更好地处理复杂的任务调度问题,提高调度效率。
步骤S107:根据所述任务分配方案,调度云计算资源执行相应任务。
在任务分配方案确定后,云服务器将所述任务分配方案发送到对应的云计算资源。云计算资源在获取到任务分配方案后,将根据分配方案执行相应任务。例如云计算资源可以执行云服务器分配的计算配送无人机货物的最佳方案。
更进一步地,本实施例还可以根据任务在各云计算资源上的完成时间比例,利用信息熵权重调整模型对各计算资源的权重进行动态调整。
所述根据任务在各资源上的完成时间比例,利用信息熵权重调整模型对各计算资源的权重进行动态调整,包括:
(a)在任务ti开始执行时,记录任务ti在每个云计算资源Rj上的预计完成时间,计算并记录每个云计算资源Rj上的任务完成时间比例pi,j,其中pi,j为任务ti在云计算资源Rj上的预计完成时间占任务ti在所有云计算资源上的总预计完成时间的比例;
(b)在任务ti结束后,根据实际的任务完成时间,更新每个云计算资源Rj上的任务完成时间比例pi,j
(c)利用以下公式动态计算并更新云计算资源Rj的权重wj
其中,N为云平台上的云计算资源总数;
(d)在后续的任务调度决策中,从动态计算的权重中,选择其中权重最高的云计算资源来执行新的任务,以提高资源利用率和系统的整体性能。
假设一个云计算平台有3台云计算资源(服务器),即R1,R2和R3。假设平台有两个任务需要执行,分别为t1和t2。下面是对所述方法的详细举例说明。
(a)首先,当任务t1开始执行时,根据云计算平台的调度策略,假设任务t1被分配给了云计算资源R1执行。在这个时候,需要记录任务t1在云计算资源R1上的预计完成时间,假设为5分钟。那么,在这个阶段,任务t1在云计算资源R1上的完成时间比例p1,1就是100%,因为目前只有R1在执行任务t1
(b)在任务t1结束后,根据实际的任务完成时间,假设实际完成时间为4分钟,那么需要更新任务t1在云计算资源R1上的完成时间比例p1,1。新的p1,1=实际完成时间/预计完成时间=4/5=80%。
(c)然后,可以利用公式计算并更新云计算资源R1的权重w1:
w1=1-1/ln3×∑(p1,j×lnp1,j)
由于当前只有云计算资源R1参与了任务执行,所以j=1,即w1=1-1/ln3×(p1,1×lnp1,1)=1-1/ln3×(0.8×ln0.8)。计算结果会给出云计算资源R1的新权重。
(d)当下一个任务t2到来时,可以根据这些动态调整的权重w1,w2和w3,选择权重最高的云计算资源来执行新的任务t2,以最大限度地提高资源利用率和系统的整体性能。假设在此时,资源R1的权重w1是最高的,那么就选择云计算资源R1来执行新的任务t2
这种方法允许云平台在每次任务调度决策中,根据实时的任务执行情况,动态地调整并利用各计算资源的权重,以实现云平台的多任务调度优化。例如,在上面的例子中,任务t1比预计的完成时间提前完成,因此资源R1的权重w1提高了。这意味着在下次任务调度时,资源R1更有可能被选中来执行新的任务,从而提高整个系统的性能和资源利用率。
更进一步地,所述多任务调度方法还包括根据所述云计算资源在任务执行完成之后发送的反馈结果对深度Q-策略梯度增强学习模型、时间最小化蜂群优化模型和信息熵权重调整模型进行更新和优化。
下面进行举例说明,假设有一个云计算平台,它运行了一个深度Q-策略梯度增强学习模型,一个时间最小化蜂群优化模型,和一个信息熵权重调整法模型,来控制其任务调度和资源分配策略。
假设有三个任务t1、t2、t3需要在三个计算资源R1、R2和R3上进行分配和执行。以下是执行和反馈过程的详细描述:
步骤S2001:任务分配和执行。
首先,云服务器通过深度Q-策略梯度增强学习模型为每个任务选择一个动作。例如,任务t1被分配给资源R1,任务t2给R2,任务t3给R3。然后,这些任务开始在分配给它们的资源上执行。
步骤S2003:任务反馈。
在任务完成之后,每个任务的结果会被反馈给云服务器。例如,任务t1在资源R1上顺利完成,反馈结果是奖励+1;任务t2在资源R2上由于某种原因没有完成,反馈结果是奖励-1;任务t3在资源R3上完成,但花费了比预期更多的时间,反馈结果是奖励0。
步骤S2005:模型更新和优化。
(1)深度Q-策略梯度增强学习模型的更新和优化:
根据反馈的结果,云服务器更新深度Q-策略梯度增强学习模型的参数。例如,由于任务t2未能在资源R2上成功完成,该模型可能会降低将t2类似的任务分配给R2的概率。模型参数的更新使用策略梯度的方式进行。
(2)时间最小化蜂群优化模型的更新和优化:
对于时间最小化蜂群优化模型,服务器使用反馈的任务完成时间来更新每只“蜜蜂”(也就是任务分配方案)的质量评估,然后进行下一轮的迭代优化。例如,如果任务t3在资源R3上的执行时间超过了预期,那么将t3类似的任务分配给R3的“蜜蜂”的质量评估可能会降低。
(3)信息熵权重调整法模型的更新和优化:
最后,云服务器还会根据任务反馈的结果更新资源的权重。例如,由于任务t1在资源R1上顺利完成,可能会提高R1的权重;而由于任务t2在资源R2上未能完成,可能会降低R2的权重;任务t3在资源R3上花费的时间超过预期,可能会对R3的权重产生中性影响。这个权重更新过程是通过更新信息熵权重调整模型的参数进行的。
这个过程将持续进行,云服务器会不断地根据任务的反馈结果来更新和优化这三个模型,以实现更优的任务调度和资源分配策略,提高云平台的整体性能。
在上述的实施例中,提供了一种基于云平台的多任务调度方法,与之相对应的,本申请还提供一种基于云平台的多任务调度系统。请参看图3,其为本申请的一种基于云平台的多任务调度系统实施例的示意图。由于本实施例,即第二实施例,基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
本申请第二实施例提供一种基于云平台的多任务调度系统,包括:
用户设备301,用于向云服务器发送任务请求;
云服务器303,用于运行深度Q-策略梯度的增强学习模型和时间最小化的蜂群优化模型,执行任务调度;
云计算资源305,根据云服务器的调度,执行相应的任务。
更进一步地,所述云服务器还用于,根据任务在各云计算资源上的完成时间比例,利用信息熵权重调整模型对各云计算资源的权重进行动态调整。
更进一步地,所述云服务器在接收到任务请求后,通过深度Q-策略梯度的增强学习模型对任务特征进行预测,然后利用时间最小化的蜂群优化模型对任务进行调度,并在任务执行过程中利用信息熵权重调整模型对各计算资源的权重进行动态调整。
本申请第三实施例提供一种电子设备,所述电子设备包括:
处理器;
存储器,用于存储程序,所述程序在被所述处理器读取执行时,执行本申请第一实施例中提供的多任务调度方法。
本申请第四实施例提供一种计算机可读取存储介质,其上存储有计算机程序,该程序被处理器执行时,执行本申请第一实施例中提供的多任务调度方法。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

Claims (7)

1.一种基于云平台的多任务调度方法,其特征在于,包括:
接收用户设备发送的任务请求;
根据所述任务请求,通过基于深度Q-策略梯度的增强学习模型对任务特征进行预测,得到任务的特征向量,并计算出任务的预期奖励值;
利用时间最小化的蜂群优化模型对任务进行调度,该模型将任务的预期奖励值和特征向量作为输入,模拟蜜蜂寻找食物的行为,通过多次迭代,寻找使得所有任务的完成时间最短的任务分配方案,作为蜂群优化模型的输出;
根据所述任务分配方案,调度云计算资源执行相应任务;
根据任务在云计算资源上的完成时间比例,利用信息熵权重调整模型对各云计算资源的权重进行动态调整,包括:
(a)在任务ti开始执行时,记录任务ti在每个云计算资源Rj上的预计完成时间,计算并记录每个云计算资源Rj上的任务完成时间比例pi,j,其中pi,j为任务ti在云计算资源Rj上的预计完成时间占任务ti在所有云计算资源上的总预计完成时间的比例;
(b)在任务ti结束后,根据实际的任务完成时间,更新每个云计算资源Rj上的任务完成时间比例pi,j
(c)利用以下公式动态计算并更新计算云计算资源Rj的权重wj
其中,N为云平台上的云计算资源总数;
(d)在后续的任务调度决策中,从动态计算的权重中,选择其中权重最高的云计算资源来执行新的任务,以提高资源利用率和系统的整体性能。
2.根据权利要求1所述的多任务调度方法,其特征在于,还包括:
根据所述云计算资源在任务执行完成之后发送的反馈结果对深度Q-策略梯度增强学习模型、时间最小化蜂群优化模型和信息熵权重调整模型进行更新和优化。
3.根据权利要求1所述的多任务调度方法,其特征在于,所述基于深度Q-策略梯度的增强学习模型通过以下公式对模型参数进行更新:
其中,θ'是更新后的模型参数;θ是当前的模型参数;α是学习率,用来控制模型参数更新的步长;Ri是任务i完成后的实际奖励;γ是折扣因子,用于计算未来奖励的现值;maxa Q(Si',a;θ)是估计未来的最大奖励,其中,maxa表示在所有可能的动作a中,选择那些能使Q值最大化的动作,Si'是下一个状态;Q(Si,ai;θ)是模型当前预测的奖励值;是Q值关于模型参数θ的梯度。
4.根据权利要求1所述的多任务调度方法,其特征在于,所述时间最小化蜂群优化模型通过以下公式进行迭代搜索:
Xk+1=Xk+α*(Xp-Xk)+β*(Xg-Xk)
其中,Xk为当前解,表示当前的任务分配方案;Xp为当前解周围的最优解,表示在当前解的领域内,使得所有任务的完成时间最小的任务分配方案;Xg为全局最优解,表示在所有迭代过程中,使得所有任务的完成时间最小的任务分配方案;α和β为随机系数,模拟蜜蜂寻找食物的随机性。
5.根据权利要求4所述的多任务调度方法,其特征在于,α被设置为任务大小的函数,β被设置为任务紧急程度的函数,当蜜蜂进行迭代搜索时,使用动态调整的α和β值来更新当前的任务分配方案。
6.一种基于云平台的多任务调度系统,其特征在于,包括:
用户设备,用于向云服务器发送任务请求;
云服务器,用于根据所述任务请求,运行深度Q-策略梯度的增强学习模型和时间最小化的蜂群优化模型,执行任务调度;根据任务在各云计算资源上的完成时间比例,利用信息熵权重调整模型对各云计算资源的权重进行动态调整,包括:
(a)在任务ti开始执行时,记录任务ti在每个云计算资源Rj上的预计完成时间,计算并记录每个云计算资源Rj上的任务完成时间比例pi,j,其中pi,j为任务ti在云计算资源Rj上的预计完成时间占任务ti在所有云计算资源上的总预计完成时间的比例;
(b)在任务ti结束后,根据实际的任务完成时间,更新每个云计算资源Rj上的任务完成时间比例pi,j
(c)利用以下公式动态计算并更新计算云计算资源Rj的权重wj
其中,N为云平台上的云计算资源总数;
(d)在后续的任务调度决策中,从动态计算的权重中,选择其中权重最高的云计算资源来执行新的任务,以提高资源利用率和系统的整体性能;
云计算资源,根据云服务器的调度,执行相应的任务。
7.根据权利要求6所述的多任务调度系统,其特征在于,所述云服务器在接收到任务请求后,通过深度Q-策略梯度的增强学习模型对任务特征进行预测,然后利用时间最小化的蜂群优化模型对任务进行调度,并在任务执行过程中利用信息熵权重调整模型对各计算资源的权重进行动态调整。
CN202310918506.XA 2023-07-25 2023-07-25 一种基于云平台的多任务调度方法及其系统 Active CN116932164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310918506.XA CN116932164B (zh) 2023-07-25 2023-07-25 一种基于云平台的多任务调度方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310918506.XA CN116932164B (zh) 2023-07-25 2023-07-25 一种基于云平台的多任务调度方法及其系统

Publications (2)

Publication Number Publication Date
CN116932164A CN116932164A (zh) 2023-10-24
CN116932164B true CN116932164B (zh) 2024-03-29

Family

ID=88384035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310918506.XA Active CN116932164B (zh) 2023-07-25 2023-07-25 一种基于云平台的多任务调度方法及其系统

Country Status (1)

Country Link
CN (1) CN116932164B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189564A (zh) * 2018-08-01 2019-01-11 北京奇虎科技有限公司 一种任务处理方法及装置
CN109491761A (zh) * 2018-11-07 2019-03-19 中国石油大学(华东) 基于eda-ga混合算法的云计算多目标任务调度方法
CN109816243A (zh) * 2019-01-24 2019-05-28 浙江财经大学 面向动态任务感知的云制造协同任务调度方法
CN110351348A (zh) * 2019-06-27 2019-10-18 广东石油化工学院 一种基于dqn的云计算资源调度优化方法
CN110515735A (zh) * 2019-08-29 2019-11-29 哈尔滨理工大学 一种基于改进q学习算法的多目标云资源调度方法
CN114741955A (zh) * 2022-01-25 2022-07-12 华北电力大学 一种基于安全云的多目标优化任务调度方法
CN115168027A (zh) * 2022-06-15 2022-10-11 中国科学院沈阳自动化研究所 一种基于深度强化学习的算力资源度量方法
CN115686788A (zh) * 2022-10-31 2023-02-03 北京工业大学 基于深度q网络的云数据中心启发式任务调度和能耗优化方法
CN115794341A (zh) * 2022-11-16 2023-03-14 中国平安财产保险股份有限公司 基于人工智能的任务调度方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113516250B (zh) * 2021-07-13 2023-11-03 北京百度网讯科技有限公司 一种联邦学习方法、装置、设备以及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189564A (zh) * 2018-08-01 2019-01-11 北京奇虎科技有限公司 一种任务处理方法及装置
CN109491761A (zh) * 2018-11-07 2019-03-19 中国石油大学(华东) 基于eda-ga混合算法的云计算多目标任务调度方法
CN109816243A (zh) * 2019-01-24 2019-05-28 浙江财经大学 面向动态任务感知的云制造协同任务调度方法
CN110351348A (zh) * 2019-06-27 2019-10-18 广东石油化工学院 一种基于dqn的云计算资源调度优化方法
CN110515735A (zh) * 2019-08-29 2019-11-29 哈尔滨理工大学 一种基于改进q学习算法的多目标云资源调度方法
CN114741955A (zh) * 2022-01-25 2022-07-12 华北电力大学 一种基于安全云的多目标优化任务调度方法
CN115168027A (zh) * 2022-06-15 2022-10-11 中国科学院沈阳自动化研究所 一种基于深度强化学习的算力资源度量方法
CN115686788A (zh) * 2022-10-31 2023-02-03 北京工业大学 基于深度q网络的云数据中心启发式任务调度和能耗优化方法
CN115794341A (zh) * 2022-11-16 2023-03-14 中国平安财产保险股份有限公司 基于人工智能的任务调度方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hadoop平台下改进的LATE调度算法;胡丹 等;《计算机工程与应用》;20140430;第86-131页 *
面向软件交付的绩效评估系统应用研究;祁长兴 等;《计算机工程与设计》;20110430;第1315-1333页 *

Also Published As

Publication number Publication date
CN116932164A (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
Abed-Alguni et al. Distributed Grey Wolf Optimizer for scheduling of workflow applications in cloud environments
Saeedi et al. Improved many-objective particle swarm optimization algorithm for scientific workflow scheduling in cloud computing
Ben Alla et al. A novel task scheduling approach based on dynamic queues and hybrid meta-heuristic algorithms for cloud computing environment
Kaur et al. Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud
Zade et al. SAEA: A security-aware and energy-aware task scheduling strategy by Parallel Squirrel Search Algorithm in cloud environment
Garg et al. Multi-objective workflow grid scheduling using ε-fuzzy dominance sort based discrete particle swarm optimization
Ran et al. SLAs-aware online task scheduling based on deep reinforcement learning method in cloud environment
CN115330189A (zh) 一种基于改进飞蛾火焰算法的工作流优化调度方法
CN109710372B (zh) 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
Mirsadeghi et al. Hybridizing particle swarm optimization with simulated annealing and differential evolution
Yakubu et al. An efficient meta-heuristic resource allocation with load balancing in IoT-Fog-cloud computing environment
Elsedimy et al. MOTS‐ACO: An improved ant colony optimiser for multi‐objective task scheduling optimisation problem in cloud data centres
Ghafari et al. An efficient task scheduling in fog computing using improved artificial hummingbird algorithm
Yang et al. Vflh: A following-the-leader-history based algorithm for adaptive online convex optimization with stochastic constraints
Abdalrahman et al. The application of hybrid krill herd artificial hummingbird algorithm for scientific workflow scheduling in fog computing
Reddy et al. An energy efficient RL based workflow scheduling in cloud computing
Aliyu et al. Dynamic partial computation offloading for the metaverse in in-network computing
Gupta et al. Neural network inspired differential evolution based task scheduling for cloud infrastructure
Asghari et al. Bi-objective cloud resource management for dependent tasks using Q-learning and NSGA-3
Senthil Kumar et al. An efficient task scheduling using GWO-PSO algorithm in a cloud computing environment
Verma et al. A survey on energy‐efficient workflow scheduling algorithms in cloud computing
CN116932164B (zh) 一种基于云平台的多任务调度方法及其系统
HS et al. A Harris Hawk Optimisation system for energy and resource efficient virtual machine placement in cloud data centers
Hasan et al. An intelligent machine learning and self adaptive resource allocation framework for cloud computing environment
CN115220818A (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
GR01 Patent grant
GR01 Patent grant