技术简介:
本专利针对广域网数据中心资源调度精度低、响应慢的问题,提出基于图像矩阵化与GAN网络的智能调度方案。通过将集群资源与任务需求转化为图像矩阵,利用自编码器提取特征并预测运行状态,结合智能体决策生成动态调度策略,实现资源的精准快速分配。
关键词:广域网调度,图像矩阵化
1.本技术属于人工智能领域,具体而言,涉及一种广域网数据中心资源调度方法、装置、电子设备及存储介质。
背景技术:2.业务系统的部署大多依赖于依赖分布式的算力,通过对系统和网络中的资源管理,做到广域环境下数据、算力、算法及云网资源随用户需求弹性调度,以减少数据绕转时延,降低长途传输费用,促进数据流通价值传递。
3.而目前,数据大多分布在不同地域的数据中心内,完成资源调度需通过跨多个数据中心进行联合计算实现,现有的调度方法大多是通过将计算机集群资源管理和任务调度建模成一个序列决策问题,将问题建模成马尔科夫决策以获取调度策略,但该方法线上实时数据反馈效果差,对真实、开放环境,获取大量的实时反馈数据效果差,需要多次试错探索,需要人工进行干预,从而浪费大量资源及稀缺带宽。
技术实现要素:4.为解决上述技术问题,本技术的实施例提供了一种广域网数据中心资源调度方法及装置、电子设备、计算机可读存储介质。
5.根据本技术实施例的一个方面,提供了一种广域网数据中心资源调度方法,包括:将计算机集群的当前资源状态以及任务的需求资源分别进行图像矩阵化处理,对应得到集群图像以及需求图像;基于所述集群图像以及所述需求图像,预测将所述任务运行进行后,所述计算机集群的运行状态;根据所述运行状态以及所述集群图像获取所述任务需求资源的调度策略,以基于所述调度策略调度所述任务。
6.在一实施例中,所述基于所述集群图像以及所述需求图像,预测将所述任务运行进行后,所述计算机集群的运行状态,包括:
7.分别对所述集群图像以及所述需求图像进行自编码处理,对应得到集群特征向量与需求特征向量;
8.对所述集群特征向量与所述需求特征向量分别进行特征提取,对应得到集群隐性状态与需求隐性状态;
9.基于所述集群隐性状态与所述需求隐性状态预测所述运行状态。
10.在一实施例中,通过gan网络预测所述运行状态;所述方法还包括:
11.构建初始的gan网络;
12.将经过预处理的历史集群图像、经过预处理的历史需求图像以及历史调度策略输入至初始的生成器,得到训练状态;
13.基于将所述历史集群图像所对应的历史计算机集群的历史运行状态与所述训练状态对所述初始的gan网络进行训练,得到训练后的所述gan网络;其中,所述历史运行状态为所述历史需求图像所对应的任务调度至历史计算机集群后,所述历史计算机集群的运行
状态。
14.在一实施例中,通过ae网络对历史集群图像、历史需求图像进行预处理;所述方法还包括:
15.构建初始的ae网络;
16.将所述历史集群图像、历史需求图像输入至所述初始的ae网络,得到历史集群特征向量以及历史需求特征向量;
17.基于所述历史集群图像与所述历史集群特征向量之间的距离,以及所述历史需求图像与所述历史需求特征向量之间的距离对所述初始的ae网络进行训练,得到训练后的所述ae网络。
18.在一实施例中,所述方法还包括:
19.基于所述集群图像以及所述需求图像设置奖励项;
20.根据所述奖励项、所述运行状态以及所述集群图像进行马儿可夫决策,以得到所述任务需求资源的调度策略。
21.在一实施例中,基于智能体获取所述任务需求资源的调度策略;所述根据所述运行状态以及所述集群图像获取所述任务需求资源的调度策略,以基于所述调度策略调度所述任务,包括:
22.获取奖励项;其中,所述奖励项包括所述ae网络奖励项、gan网络奖励项、所述运行状态生成时间奖励项以及所述运行状态生成成本奖励项;
23.将所述奖励项、所述运行状态、所述集群图像输入至所述智能体,得到所述调度策略。
24.在一实施例中,所述方法还包括:
25.在所述智能体生成所述调度策略后,将所述调度策略以及所述运行状态输入至所述gan网络,以通过所述调度策略以及所述运行状态对所述gan网络进行训练。
26.根据本技术实施例的一个方面,提供了一种广域网数据中心资源调度装置,包括:环境数据获取模块,配置为将计算机集群的当前资源状态以及任务的需求资源分别进行图像矩阵化处理,对应得到集群图像以及需求图像;运行状态获取模块,配置为基于所述集群图像以及所述需求图像,预测将所述任务运行进行后,所述计算机集群的运行状态;调度策略获取模块,配置为根据所述运行状态以及所述集群图像获取所述任务需求资源的调度策略,以基于所述调度策略调度所述任务。
27.根据本技术实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的广域网数据中心资源调度方法。
28.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的广域网数据中心资源调度方法。
29.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的广域网数据中心资源调度方
法。
30.在本技术的实施例所提供的技术方案中,通过将计算机集群资源图像化处理,以对计算机集群的资源环境进行仿真,从而预测任务所对应的运行状态,以此基于运行状态精准获取任务的调度策略,无需占用大量的带宽,调度成本低。
31.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
32.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
33.图1是本技术涉及的一种实施环境的示意图;
34.图2是本技术的一示例性实施例示出的广域网数据中心资源调度方法流程图;
35.图3是本技术的一示例性实施例示出的集群图像的结构图;
36.图4是本技术的一示例性实施例示出的需求图像的结构图;
37.图5是本技术的一示例性实施例示出的调度模型的结构图;
38.图6是本技术的另一示例性实施例示出的广域网数据中心资源调度方法流程图;
39.图7是本技术的一示例性实施例示出的ae网络的结构图;
40.图8是本技术的一示例性实施例示出的初始的gan网络的训练过程图;
41.图9是本技术的一示例性实施例示出的生成器的结构图;
42.图10是本技术的一示例性实施例示出的判别器的结构图;
43.图11是本技术的一示例性实施例示出的广域网数据中心资源调度装置的结构示意图;
44.图12示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
45.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
46.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
47.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
48.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存
在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
49.以下将对本技术实施例提出的广域网数据中心资源调度方法及装置、电子设备、存储介质进行详细说明。
50.首先请参阅图1,图1是本技术涉及的一种实施环境的示意图。该实施环境包括终端100和服务器端200,终端100和服务器端200之间通过有线或者无线网络进行通信。
51.终端100用于接收计算机集群的当前资源状态以及任务的需求资源信息,并将计算机集群的当前资源状态以及任务的需求资源信息发送至服务器端200,以使服务器端200对计算机集群的当前资源状态以及任务的需求资源信息进行广域网数据中心资源调度,得到任务的调度策略,最后可通过终端100自带的显示模块可视化展示调度策略,并可基于调度策略将任务运行至计算机集群上。
52.示例性的,终端100在收到任务后,会将任务的需求资源以及任务所需运行的环境-计算机集群的当前资源状态发送至服务器端200;服务器端200在收到计算机集群的当前资源状态以及任务的需求资源后,先将当前资源状态和需求资源进行图像矩阵化处理,对应得到集群图像以及需求图像;随后基于集群图像以及需求图像,预测将任务运行于计算集群后计算机集群的运行状态;根据运行状态以及集群图像获取任务需求资源的调度策略,以基于调度策略调度任务。
53.服务器端200可将调度策略发送至终端100,通过终端100自带的显示模块可视化展示调度策略,同时,服务器端200还可直接基于该调度策略调度任务。
54.其中,终端100可以是智能手机、平板、笔记本电脑、计算机等任意能够实现数据可视化的电子设备,本处不进行限制。服务器端200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,其中多个服务器可组成一区块链,而服务器为区块链上的节点,服务器端200还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处也不对此进行限制。
55.当然,本实施例中提出的广域网数据中心资源调度方法也可单独在终端100中完成,即终端100既虚拟节点部署信息,也完成广域网数据中心资源调度过程。
56.图2是根据一示例性实施例示出一种广域网数据中心资源调度方法的流程图。该广域网数据中心资源调度方法可应用于图1所示的实施环境,并由该实施环境中的服务器端200具体执行,应该理解的是,该方法也可以是用于其他的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
57.如图2所示,在一示例性实施例中,该方法可以包括步骤s210至步骤s250,详细介绍如下:
58.步骤s210:将计算机集群的当前资源状态以及任务的需求资源分别进行图像矩阵化处理,对应得到集群图像以及需求图像。
59.本实施例中,在收到调度的任务后,可先确定任务的需求资源,以及计算机集群的当前资源,以此可通过当前资源状态以及需求资源确定任务调度后,计算机集群的资源的运行状态。
60.本实施例中,可使用图像计算机集群的当前资源状态的状态定义和描述方法,具
体地,对于整个计算机集群的当前资源状态,可通过t*n*m的矩阵描述,该矩阵可以看作成一个宽为n个像素,高为t个像素,有m个通道的深度图像,即如图3所示的集群图像,其中n表示计算机集群中机器个数,t表示向前看未来t个时间粒度,m表示资源种类数,例如cpu(central processing unit,中央处理单元)核数、内存、磁盘使用率、可用带宽等。
61.如图3所示,图像上的每个像素表示一台集群机,使用不同的图像通道区分不同的资源种类,像素深度表示该集群机所剩余资源状态,由大整数表示,例如对于512g的内存,以mb(存储单位)为单位进行资源分配,则将图像深度设置为524288,至此,计算机集群的资源状态可以被以很小的粒度进行切分。
62.图3中数据代表一个集群机i在某个时间t下的不同种类资源的状态,如,其中,为计算机集群dc中第i台机器在时间t的状态;为t时刻第i台机器空闲的cpu资源,为t时刻第i台机器空闲的内存资源,为t时刻第i台机器空闲的磁盘资源,为t时刻第i台机器可获取的带宽资源,为分配到第i台机器的作业所需的cpu资源,为分配到第i台机器的作业所需的内存,为分配到第i台机器的作业所需的磁盘资源,为分配到第i台机器的作业所需的上行带宽,为分配到第i台机器的作业所需的下行带宽,为分配到第i台机器的作业的所需时间。
63.而对于任务的则使用1*t*m的矩阵表示,如图4所示的需求图像,其表示该任务在未来的t个时间粒度内对m种资源的需求情况。
64.步骤s230:基于集群图像以及需求图像,预测将任务进行调度处理后,计算机集群的运行状态。
65.本实施例中,在得到集群图像以及需求图像后,即预测下一时刻,计算机集群的运行状态。
66.本实施例中,对运行状态的预测可通过gan(生成对抗)网络实现。
67.在一具体实施例中,广域网数据中心资源调度的实现通过如图5所示的调度模型完成,该调度模型包括gan网络、智能体以及奖励模块。
68.其中,gan网络完成运行状态的预测,奖励模块将当前资源状态以及任务的需求资源发送至智能体,以使智能体基于奖励模块的奖励项以及运行状态等获取调度策略。
69.具体地,gan网络用于将马尔可夫决策过程中的环境定义为基于广域网的计算机集群系统环境,在执行完智能体生成的调度策略后,计算机集群系统新的可用资源的状态的变化。
70.本实施例中,有gan网络的不稳定性,还在gan网络中增加一个预处理模块,该预处
理模块用于将集群图像和需求图像进行降维处理,将高维特征降为低维特征。
71.本实施例中,调度模型的输入为集群图像和需求图像,可将集群图像和需求图像视为状态空间,状态空间的数据先进入预处理模块,进行降维,降维处理后的数据在进入gan网络预测运行状态,在此过程中,会生成奖励奖励项,该奖励项、运行状态、集群图像以及需求图像会进入智能体,通过智能体获取对应的调度策略,同时还存在动作空间,该动作空间中包括智能体输出的调度策略,动作空间中的调度策略会反馈至gan网络。
72.本实施例中的动作空间用于将马尔可夫决策过程中的动作定义为调度器做出的调度决策,即将一个任务分配到某台服务器上执行;将作业的依赖关系描述为有向无环图dag,在调度策略中以实例为最小的调度单元,在不违背依赖关系的情况下实现任务并行处理,在选择动作时,检查所以可行的调度动作,即满足资源约束的动作,这些可行的动作组成动作空间。
73.具体地,当集群图像和需求图像进入预处理模块后,预处理模块分别对集群图像以及需求图像进行自编码处理,对应得到集群特征向量与需求特征向量,随后集群特征向量与需求特征向量进入至gan网络,通过gan网络中的生成器对集群特征向量与需求特征向量分别进行特征提取,对应得到集群隐性状态与需求隐性状态;然后基于集群隐性状态与需求隐性状态预测运行状态。
74.智能体可以为ddpg网络(deep deterministic policy gradient,深度确定性策略梯度),本实施例中,通过gan网络仿真来代替真实环境,为减少仿真系统环境模拟与真实系统集群环境状态的偏差,应用条件生成对抗网络gan来拟合真实系统决策行为后系统资源变化的分布对模拟进行训练,为了使gan网络训练更加稳定使用ae网络对输入的状态空间进行降维处理;通过使用gan网络来搭建仿真模拟环境,使其不断产生新的实时反馈数据来进行强化学习策略梯度方法ddpg训练得到调度策略,避免试错成本,从而减少带宽及资源的使用。
75.步骤s250:根据运行状态以及集群图像获取任务需求资源的调度策略,以基于调度策略调度任务。
76.本实施例中,通过图5中的智能体确定对应调度策略,随后,可通过调度策略调度该任务。
77.在智能体获取调度策略时,可预先设置奖励项,该奖励项基于集群图像以及需求图像所得到,具体为通过状态空间的数据进行处理得到运行状态的过程中所得到,该奖励项可包括ae网络奖励项、gan网络奖励项、运行状态生成时间奖励项以及运行状态生成成本奖励项,随后根据奖励项、运行状态以及集群图像进行马儿可夫决策,即智能体对奖励项、运行状态、集群图像输进行运算,从而得到任务需求资源的调度策略。
78.本实施例中提出一种广域网数据中心资源调度方法,通过将计算机集群资源图像化处理,以对资源环境进行仿真,从而通过gan网络对图像化的数据进行状态预测,最终基于智能体获取任务的调度方案,该过程所生成的调度策略准确性高,无需占用大量的带宽,减少现有调度方案中广域网数据中心连表查询的广域网资源成本高的问题。
79.图6是根据另一示例性实施例示出一种广域网数据中心资源调度方法的流程图。该方法可运行于图2的步骤s210之前,该方法为对图5中的调度模型的训练过程;该过程可以包括步骤s610至步骤s650,详细介绍如下:
80.步骤s610:构建初始的gan网络。
81.本实施例中,先构建如图5所示的初始的调度模型,该初始的调度模型中包括初始的gan网络、初始的预处理模块、初始的调度体以及初始的奖励模块。
82.步骤s630:将经过预处理的历史集群图像、经过预处理的历史需求图像以及历史调度策略输入至初始的生成器,得到训练状态。
83.本实施例中,对初始的调度模型的进行训练的数据为历史集群图像以及历史需求图像以及历史需求图像所对应历史任务的历史调度策略,该历史集群图像以及历史需求图像可视为输入调度模型的历史状态空间,而历史调度策略视为输入调度模型的历史动作空间。
84.本实施例中,对初始的调度模型的训练分功能模块进行,首先针对初始预处理模块进行训练。
85.具体地,该预处理模块可以为自编码器,如ae(一种编码网络)模型,如图7所示,为一实施例中的ae网络结构图,本实施例中,通过该ae网络将高维的状态空间的数据特征s,转换成低维的全局特征向量gfv,具体地,先将输入压缩成潜在空间表征,然后通过这种表征来重构输出,通过训练有损表征,使得自编码器能学习到数据中最重要的特征,为解决ae网络的过拟合在输入加入随机噪声noise v来增强模型的鲁棒性,将加入随机噪声后的历史数据s’输入至encoder(编码器),随后进行抽象特征提取,再进行解码(decode),即得到预处理后的数据
86.本实施例中,通过将历史需求图像、历史集群图像输入至初始的ae网络,在训练时,ae网络的输入同时作为神经网络的输入和输出,通过最小化重构误差希望学习到样本的抽象特征表示z,再通过使用抽象特征z来重新组合重构自己。
87.具体地,将历史集群图像、历史需求图像输入至初始的ae网络,得到历史集群特征向量以及历史需求特征向量,随后基于历史集群图像与历史集群特征向量之间的距离,以及历史需求图像与历史需求特征向量之间的距离对初始的ae网络进行训练,得到训练后的ae网络。
88.该ae网络的损失函数为:
[0089][0090]
其中,l
ae
为ae网络的损失函数;argminl为取ae网络损失函数的最小值;argmin dist为输入的历史集群图像、历史需求图像的集群状态特征s与ae网络生成的历史集群特征向量、历史需求特征向量之间的欧式距离。
[0091]
当ae网络训练至符合上述损失函数,则视为该ae网络训练完成,则可进行初始的gan网络的训练。
[0092]
本实施例中,对初始的gan网络的训练过程可参考图8,先将历史集群图像与历史需求图像输入至上述训练好的ae网络,得到预处理后的历史集群图像、经过预处理的历史需求图像,随后将预处理后的历史集群图像、经过预处理的历史需求图像以及对应的历史调度策略输入至初始的gan网络中的生成器,生成器则生成预测的训练状态,此时将历史需求图像的任务的所对应的计算集群的历史运行状态和训练状态一起输入至判别器,通过判别器进行判别来调整生成器内的参数,历史运行状态为历史需求图像所对应的任务调度至
历史计算机集群后,历史计算机集群的运行状态。
[0093]
当然,由于本实施例中所使用的gan网络中的生成器在生成预测的晕了状态时还加入了随机噪声,即实质上,本实施例所使用的为cgan网络(条件生成-对抗网络)。
[0094]
本实施例中,在训练初始的gan网络时,还加入了历史调度策略,这是由于调度模型在线上环境中运行时,智能体所生成的调度策略会进入动作区间,即会反馈至gan模型,因此,在对初始的gan网络进行训练时,会加入历史调度策略来对初始的gan网络进行训练。
[0095]
本实施例中,gan网络训练的收敛条件为判别器无法区分训练状态和历史运行状态,即判判别器对训练状态的判别结果为0.5。
[0096]
具体地,对于初始的gan网络的训练可视为对gan网络中的生成器和编码器训练的过程。
[0097]
参考图9和图10,分别为一实施例中对初始的gan网络中的生成器和判别器的结构图。
[0098]
参考图9,生成器是一个encoder-decoder(编码器-解码器)结构,输入为在t时间段内当前整个计算机集群的历史状态s(c,j),包含n个计算机集群的历史当前资源状态c(即历史集群图像)以及历史任务的历史需求资源j(即历史需求图像)。
[0099]
当然,由于本实施例中初始的gan网络在训练时加入了随机噪声,因此,在训练生成器时,也会加入条件噪声(随机噪声),如图9中输入层的a1至an。
[0100]
在训练过程中,输入为当前历史状态空间s,以及当前的历史动作空间a,经过特征提取及gru层之后得到隐性状态hn,将其视为对应历史任务的调度偏好表示:pe=hn,在解码器阶段的目标是预测下一个要推荐给系统的作业的调度方案,将历史任务当前的偏好表示pe作为输入,经过多层全连接神经网络后得到向量输g(ai|si)。
[0101]
本实施例中,对生成器的训练目标为最小化生成器的损失函数,即:
[0102][0103]
其中,表示无监督分量最小化生成器交叉熵损失,表示关于指定分布的期望值,s
i+1
为历史状态空间中的状态集合,表示s是从历史状态空间中的历史数据分布中采样;d(ai|si)表示s为真实的样本概率,d(1-g(ai|si))表示s为生成器生成的样本的概率;为表示关于指定分布pg(si)分布的期望值;si为生成器生成的集群的状态集合;s~pg(si)表示s为生成器生成的状态。产生的向量g(ai|si),与真实序列中下一个历史任务的调度策略欧式距离:
[0104][0105]
其中,为监督分量最小化生成器的生成损失,即产生的向量g(ai|si)与真实序列中集群下一状态,s
i+1
的欧式距离越小越好;s~p
data(s)
表示s是历史日志数据p
data(s)
中采样数据。
[0106]
参考图10,判别器的训练时为了增强生成器,本实施例中,当前历史状态空间s,以及当前的历史行动空间a,同时对真实的历史运行状态s
i+1
或者生成器生成的g(ai|si)也进
行编码输入,输入到全连接层中,在判别器中输出为前k个是当前历史状态下真实的历史运行状态,后k个是生成器生成的训练状态,输出的结果是经过sigmoid(激活函数)之后的结果。判别器判别网络的输入是真实样本还是生成模型生成数据,收敛于d(s
i+1
|si)表示输入为真实的样本概率,d(g(ai|si))表示输入为生成器生成的样本的概率,e表示关于或pg(ai|si)指定分布的期望值。
[0107]
同样地,由于本实施例中初始的gan网络在训练时加入了随机噪声,因此,在训练判别器时,也会加入条件噪声(随机噪声),如图10中所输入的a1至an。
[0108]
本实施例中,对判别器的训练目标为最大化判别器的损失函数,即:
[0109][0110]
以及,最小化系统真实状态和判别器生成的状态空间的分布:
[0111]
至此,对生成器和判别器的训练可视为初步完成,后续,则可对奖励模块进行设置。
[0112]
步骤s650:基于将历史集群图像所对应的历史计算机集群的历史运行状态与训练状态对初始的gan网络进行训练,得到训练后的gan网络。
[0113]
本实施例中,通过历史集群图像所对应的历史计算机集群的历史运行状态与训练状态可对初始的gan网络中的参数进行调整,最后的得到训练后的gan网络,具体训练过程可参考步骤s630所示出的过程。
[0114]
本实施例中,在对gan网络训练完成后,可定义奖励模块,该奖励模块用于仿真状态空间反馈奖励r,即将奖励项反馈至智能体,该奖励项包括ae网络奖励项、gan网络奖励项、运行状态生成时间奖励项以及运行状态生成成本奖励项,而其中又包括生成器奖励项与判别器奖励项,该奖励模块的定义原则可视为最大化奖励函数r就等价于最小化损失函数,任务延迟及带宽成本
[0115][0116]
其中,r为奖励函数,max为最大值,rg为生成器奖励项,min为最小值,r
ae
为ae网络奖励项,
t
为运行状态生成时间奖励项,r
cost
为运行状态生成成本奖励项,lg为生成器的损失函数,l
ae
为ae网络的损失函数,ld为ae网络的损失函数。
[0117]
具体地,ae网络的最小化损失函数为:
[0118][0119]
其中,si和为输入和输出的状态图像空间。
[0120]
生成器的损失函数可包括2部分:lg=l
gfv
+l
gd
,l
gfv
为输入状态空间s在ae模型生成的noisygfv(表示为v
ae
(si))与生成器生成的fakegfv(表示为vg(ai|si))之间的二范数的平方,该损失函数l
gfv
存在的意义是保证gan生成的状态空间在语义上保持正确,具体的,该
l
gfv
为:
[0121][0122]
l
gd
的损失函数视为输入的计算机集群的历史当前资源状态(历史集群图像)si在调度系统做出决策后服务器的资源变化s
i+1
与生成器生成的训练状态g(ai|si)之间的欧式距离,若历史任务被分配至计算机集群中某台机器,s
i+1
为集群资源状态si,对应减去当前任务分配至的机器所占用的资源:
[0123][0124]
gan判别器的最小化损失函数,即最大化d(g(ai|si))的期望:
[0125]
ld=-d(g(ai|si))
[0126]
奖励模块中还关注长期效益最小化在时间t序列中任务延时及带宽成本,即对应于运行状态生成时间奖励项以及运行状态生成成本奖励项:
[0127][0128]
其中,为在时间t序列中任务耗时;ji为分配到i台机器的作业;cb为在时间t序列中任务所耗带宽;为在时间t序列中分配到i台机器上每个作业的耗时;为在时间t序列中分配到第i台机器的每个作业所需的上行带宽;为在时间t序列中分配到第i台机器的每个作业所需的下行带宽,α与β参数定义为任务延时及带宽成本的优先级权重参数,根据经验设置。
[0129]
如此,则通过历史数据对初始的gan网络、初始的预处理模块以及初始的奖励模块训练完成,此时,则可将在训练过程中生成数据以及历史数据再次对调度模型进行再次训练,再次训练时,不仅对上述训练后的gan网络、预处理模块以及奖励模块进行训练,还对调度模型的初始的智能体进行训练。
[0130]
本实施例中,智能体可以为ddpg网络(deep deterministic policy gradient,深度确定性策略梯度),在训练过程中,通过历史状态空间s,历史运行状态s
′
,历史动作空间a,通过使用gan网络来搭建强化学习系统仿真模拟环境,使其不断产生新的实时反馈数据即奖励项r,来进行强化学习策略梯度方法ddpg训练得到调度策略分布π(s,a)。
[0131]
本实施例中,ddpg的结构可参考图5,ddpg的具体使用流程为:
[0132]
s1:先初始化现实actor(动作者)和现实critic(评论者),然后把现实actor和现实critic的网络参数复制到目标actor和目标critic网络,就得到了四个网络。
[0133]
s2:使用现实actor与gan进行交互,也就是图中输入状态s到现实actor得到动作a,对环境施加动作a,gan网络会返回给你下一时刻的状态s
′
和奖励项r;用四元组(s,a,r,s′
)表示这一过程的数据,同时把这个四元组放到经验池里,这样就得到样本数据(s,a,r,s
′
))。
[0134]
s3:现实critic的更新,从经验池里面取出现实actor得到的样本(s,a,r,s
′
)进行训练,把(s,a,r,s
′
)中的s和a输入到现实critic中,得到现实q(s,a)值,令q=q(s,a);然后把(s,a,r,s
′
)中的s
′
输入到目标actor中,得到动作a
′
。并把s
′
和a
′
一起输入到目标critic中,得到q(s
′
,a
′
),目标的q值:q
′
=r+γ*q(s
′
,a
′
);训练希望现实critic输出的q值要等于目标q
′
的值,于是就是一个监督学习的问题了,q
′
看成标签,更新现实critic使得输出q尽量接近标签q
′
。
[0135]
s4:现实actor的更新。更新现实critic后再更新现实actor,因为现实actor输出的动作,在现实critic里给出了q值,更新actor使得q值输出最大。
[0136]
s5:目标actor和目标critic的更新。每隔一段时间就把这两个网络的参数,复制参数更新目标actor和目标critic。
[0137]
s6:然后回到步骤s2使用现实actor去采样,再更新再采样,不断循环,如此完成ddpg的工作过程。
[0138]
当然,在调度模型训练完上线运行时,调度体所生成的调度策略会到达动作空间,对应的集群图像以及需求图像也会达到状态空间,以对调度模型进行训练,即在调度模型线上使用时,使用过程中所产生的数据会反馈至调度模型,再次对调度模型进行训练。
[0139]
本实施例中提出一种调度模型的训练方法,该方法可以跨广域网进行资源管理及任务调度,且成本较低;同时,在历史数据对调度模型进行训练后,还将gan网络的生成器生成的数据可作为训练数据来训练真正的调度模型,在现有深度强化学习算法中引入了gan网络模型作为计算机集群的仿真环境模拟,使得强化学习模型在使用历史数据进行离线训练的同时也能够通过与仿真环境的交互来不断产生新的反馈数据进行仿在线模型的训练;另一方面,还提出一种具体的强化学习模拟器的训练以及奖励函数设计方式。
[0140]
本实施例中所得到的调度模型可用于广域网环境下数据、算力、算法及云网资源的弹性调度,能解决一些特定领域的资源分配问题,可用于在通信和网络方面;在一些涉及序列化决策的nlp基础任务中,如多文档信息抽取、指代消解、文本去噪、文本摘要,也有较好的应用效果,该模型可应用于推荐系统的用户模型,支持线上学习,又能更好地考虑长期的推荐收益;能将集中部署的业务系统转至依赖分布式部署,减少因不能提前规划云资源,需不断调整东西部云网资源配置的试错成本,降本增效,能有效减少数量绕转时延,降低数据长途传输费用。
[0141]
图11是根据一示例性实施例示出的一种广域网数据中心资源调度装置的结构示意图。如图11所示,在一示例性实施例中,该装置包括:
[0142]
环境数据获取模块1110,配置为将计算机集群的当前资源状态以及任务的需求资源分别进行图像矩阵化处理,对应得到集群图像以及需求图像;
[0143]
运行状态获取模块1130,配置为基于集群图像以及需求图像,预测将任务运行进行后,计算机集群的运行状态;
[0144]
调度策略获取模块1150,配置为根据运行状态以及集群图像获取任务需求资源的调度策略,以基于调度策略调度任务。
[0145]
本实施例所提出的广域网数据中心资源调度装置可用于资源的调度。
[0146]
在一实施例中,运行状态获取模块包括:
[0147]
编码单元,配置为分别对集群图像以及需求图像进行自编码处理,对应得到集群特征向量与需求特征向量;
[0148]
隐性特征获取单元,配置为对集群特征向量与需求特征向量分别进行特征提取,对应得到集群隐性状态与需求隐性状态;
[0149]
运行状态获取单元,配置为基于集群隐性状态与需求隐性状态预测运行状态。
[0150]
在一实施例中,通过gan网络预测运行状态;广域网数据中心资源调度装置还包括:
[0151]
gan网络构建模块,配置为构建初始的gan网络;
[0152]
训练状态获取模块,配置为将经过预处理的历史集群图像、经过预处理的历史需求图像以及历史调度策略输入至初始的生成器,得到训练状态;
[0153]
第一训练模块,配置为基于将历史集群图像所对应的历史计算机集群的历史运行状态与训练状态对初始的gan网络进行训练,得到训练后的gan网络;其中,历史运行状态为历史需求图像所对应的任务调度至历史计算机集群后,历史计算机集群的运行状态。
[0154]
在一实施例中,通过ae网络对历史集群图像、历史需求图像进行预处理;广域网数据中心资源调度装置还包括:
[0155]
ae网络构建模块,配置为构建初始的ae网络;
[0156]
特征向量获取模块,配置为将历史集群图像、历史需求图像输入至初始的ae网络,得到历史集群特征向量以及历史需求特征向量;
[0157]
第二训练模块,配置为基于历史集群图像与历史集群特征向量之间的距离,以及历史需求图像与历史需求特征向量之间的距离对初始的ae网络进行训练,得到训练后的ae网络。
[0158]
在一实施例中,广域网数据中心资源调度装置还包括:
[0159]
奖励项设置模块,配置为基于集群图像以及需求图像设置奖励项;
[0160]
调度策略生成模块,配置为根据奖励项、运行状态以及集群图像进行马儿可夫决策,以得到任务需求资源的调度策略。
[0161]
在一实施例中,基于智能体获取任务需求资源的调度策略;调度策略生成模块包括:
[0162]
奖励项获取单元,配置为获取奖励项;其中,奖励项包括ae网络奖励项、gan网络奖励项、运行状态生成时间奖励项以及运行状态生成成本奖励项;
[0163]
调度策略获取单元,配置为将奖励项、运行状态、集群图像输入至智能体,得到调度策略。
[0164]
在一实施例中,调度策略生成模块还包括:
[0165]
训练单元,配置为在智能体生成调度策略后,将调度策略以及运行状态输入至gan网络,以通过调度策略以及运行状态对gan网络进行训练。
[0166]
需要说明的是,上述实施例所提供的广域网数据中心资源调度装置与上述实施例所提供的广域网数据中心资源调度方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
[0167]
本技术的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用
于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的广域网数据中心资源调度方法。
[0168]
图12示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0169]
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0170]
如图12所示,计算机系统1200包括中央处理单元(central processing unit,cpu)1201,其可以根据存储在只读存储器(read-only memory,rom)1202中的程序或者从存储部分1208加载到随机访问存储器(random access memory,ram)1203中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在ram 1203中,还存储有系统操作所需的各种程序和数据。cpu 1201、rom 1202以及ram1203通过总线1204彼此相连。输入/输出(input/output,i/o)接口1205也连接至总线1204。
[0171]
以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
[0172]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本技术的系统中限定的各种功能。
[0173]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0174]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0175]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0176]
本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的广域网数据中心资源调度方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
[0177]
本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的广域网数据中心资源调度方法。
[0178]
上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。