一种基于深度学习的云资源调度方法技术

技术编号:20623858 阅读:17 留言:0更新日期:2019-03-20 15:00
一种基于深度学习的云资源调度方法包括离线训练和在线预测两个阶段。离线训练阶段:在集群节点中,采样云主机资源信息和用户历史需求信息;对采样数据进行清洗并进行规范化处理;构建分类器模型以及打分器模型,并制作分类器数据集和打分器数据集;分类器模型用于预选符合用户请求的云主机资源,打分器模型用于选择对用户请求的匹配度最高的云主机资源;分别训练分类器模型和打分器模型;在线预测阶段:建立分类器调度数据集和打分器调度数据集;将分类器调度数据集输入训练完成的分类器模型对符合用户当前请求的云主机资源进行预选;将打分器调度数据集输入训练完成的打分器模型选择出对用户请求的匹配度最高的云主机资源。

A Cloud Resource Scheduling Method Based on Deep Learning

A cloud resource scheduling method based on in-depth learning includes two stages: off-line training and online prediction. Off-line training stage: Sampling cloud host resource information and user history requirement information in cluster nodes; cleaning and standardizing the sampled data; building classifier model and scorer model, and making classifier data set and scorer data set; classifier model is used to pre-select cloud host resource that meets user's request, scorer model is used to select and use it. Cloud host resources with the highest matching degree of user requests; training classifier model and scorer model respectively; online prediction stage: establishing classifier scheduling data set and scorer scheduling data set; pre-selecting cloud host resources that meet user's current requests by input classifier scheduling data set into the training completed classifier model; and input scorer scheduling data set into training completed. The scorer model chooses the cloud host resources with the highest matching degree to user requests.

【技术实现步骤摘要】
一种基于深度学习的云资源调度方法
本专利技术涉及基于kubernetes云环境下合理调度计算节点资源并最大化使用资源,尤其是在主机资源无法预期评估的条件下,借助深度学习算法构建智能调度模型。
技术介绍
目前对于传统的云主机资源调度算法,对容器或者虚拟机的资源调度是整个平台稳定运行的关键,同时使得资源充分发挥最大能效,能否合理调度资源并对资源动态伸缩也是调度算法需要考虑的指标。云主机调度器是整个平台集群管理系统的核心,负责收集,分析集群管理系统中节点的资源使用情况,并以此为依据进行节点调度。调度策略主要分为两个阶段:预选和优选。其中预选阶段负责调度哪些节点可用,优选阶段则是筛选出最适合的节点。传统的调度方法属于静态资源调度,在用户服务调度的初期完成资源的分配,运行期间一般不做动态伸缩等,不能很好解决复杂的资源分配问题,具有一定的被动性,同时无法预知平台所需的预期节点资源。结合深度学习的新型算法不仅能够对节点资源进行调度,充分考虑整个云计算环境下资源使用情况,网络I/O等约束,借助人工智能手段,动态评估系统资源,实现智能调度,做到资源优化,动态伸缩,降低功耗等。
技术实现思路
为了解决上述传统方法对资源的静态调度,无法扩展等问题,本专利技术提出了一种基于深度学习的云主机智能调度方法,实现资源的动态伸缩和提前规划等。本方法将智能调度模型的训练过程分为两个阶段:分类器模型和打分器模型的训练。分为两个阶段训练的主要目的是在已经满足用户资源要求的基础之上进行优选,同时避免模型训练数据集维度过大导致的训练无法收敛或者收敛速度过慢。具体技术方案如下:1.数据采样:在集群节点中,采样云主机资源信息和用户历史需求信息,其中,云主机资源信息包含但不仅限于:剩余CPU核心数目,剩余内存大小,已使用端口号,以及剩余磁盘空间大小;用户历史需求信息包含但不仅限于:用户历史请求CPU核心数目,用户历史请求内存大小,用户历史请求的端口号,以及用户历史请求磁盘空间大小;2.对采样数据进行清洗并进行规范化处理;此处所述数据清洗及规范化处理方法采用业内常规处理方法。3.构建分类器模型以及打分器模型,并制作分类器数据集和打分器数据集;所述的分类器模型以及打分器模型均基于神经网络模型;所述的分类器模型用于预选符合用户请求的云主机资源,所述的打分器模型用于选择对用户请求的匹配度最高的云主机资源,其中分类器数据集包括云主机资源信息,用户历史需求信息,以及标签Label1,标签Label1用于表示云主机资源信息是否满足用户历史需求;打分器数据集包括经分类器模型预选之后的满足用户历史请求的云主机资源信息中CPU和内存两个字段,用户历史需求信息中CPU和内存两个字段,以及标签Label2,标签Label2用于代表云主机资源对用户请求信息的匹配度;4.分别训练分类器模型和打分器模型,将分类器数据集分为分类器训练集和分类器验证集,首先通过分类器训练集对分类器模型进行训练,然后用分类器验证集对训练后的分类器模型进行验证,如果分类器模型的预选结果正确率大于阈值A时,分类器模型完成训练,否则,分类器模型继续训练,直到分类器模型的预选结果正确率大于设定阈值A,A大于0.95即可,考虑到实际样本数量可以做适当调整;打分器模型的训练方法与分类器模型训练方法一样,区别仅在于采用打分器数据集,所述的打分器数据集分为打分器训练集和打分器验证集,即首先通过打分器训练集对打分器模型进行训练,然后用打分器验证集对训练后的打分器模型进行验证,如果打分器模型的预选结果正确率大于阈值A时,打分器模型完成训练,否则,打分器模型继续训练,直到打分器模型的预选结果正确率大于设定阈值A,A大于0.95即可,考虑到实际样本数量可以做适当调整;分类器模型利用神经网络模型对平台所有的调度节点进行二分类,可调度节点和不可调度节点。其中可调度节点是满足用户资源需求,可以被调度为用户主机的运行环境,不可调度节点则不满足资源需求,不能被调度为用户主机运行环境;其次根据分类器模型的数据输出,标记出可用节点,利用打分器模型对可用节点进行打分,此阶段主要实现对可用主机的资源负载和整体性能进行评估,得出评分较高的云主机,分配给用户使用,使得用户最终选取合适的节点运行,又能够对整个集群主机实现资源均衡。5.完成对当前用户需求信息进行云资源调度,具体包括:5.1)建立分类器调度数据集和打分器调度数据集,其中分类器调度数据集包括云主机资源信息、用户当前需求信息,以及用于表示云主机资源信息是否满足用户当前需求的标签构成;打分器调度数据集包括经分类器模型预选之后的满足用户当前请求的云主机资源信息中CPU和内存两个字段,用户当前需求信息中CPU和内存两个字段,以及用于代表云主机资源对用户请求信息的匹配度的标签构成;5.2)将分类器调度数据集输入训练完成的分类器模型对符合用户当前请求的云主机资源进行预选;5.3)将打分器调度数据集输入训练完成的打分器模型选择出对用户请求的匹配度最高的云主机资源。步骤3)所属的标签Label1的计算公式如下:分类器数据收集的字段信息如下:nodeport:云主机中是否存在用户请求的端口,若存在,则直接采集该端口,否则,随机端口即可。nodecup:云主机中空闲的CPU资源数量nodedisk:云主机中空闲的磁盘数量nodememory:云主机中空闲的内存大小nodelabel:云主机的标识requestport:请求的端口号requestcpu:请求的cpu数量requestmemory:请求的内存大小requestlable:请求的云主机标识使用有监督学习方式,其中node中所有资源为空闲可用的资源,不包含已经分配出去的资源;label字段的取值方式依据请求数据相对与云主机中采集到的数据,满足用户请求即可取值为1,否则为0处理。步骤3)所属的标签Label2的计算公式如下:此阶段根据分类阶段获取到的可用的主机节点,若存在多个可用主机则进入对主机打分阶段,根据以下信息对主机进行打分,反馈打分高的机器。此阶段的目的主要是在所有符合需求的云主机中获取性能最优主机,均衡主机之间的资源负载,避免出现资源过剩或过度使用。此阶段的训练主要是依据上一阶段输出的可用主机,针对CPU,内存资源进行处理,并对每一可用资源打标记Label2。Label2的计算公式如下:Label2=10-|FractionM-FractionN|*10其中,FractionM=requestM/capacityM,FractionN=requestN/capacityN,request为用户请求资源量,capacity为主机当前可用资源量,M代表CPU,N代表内存。上述计算过程主要为避免CPU,内存消耗不均衡的情形。步骤3)中所述的神经网络模型包括一层输入层,三层隐藏层,一层输出层。分类器模型和打分器模型采用但不局限于三层神经网络结构,模型设计不属于专利技术点。当训练不能满足要求时可增加神经网络层数或训练次数。有益效果传统的云主机调度方法在资源监控是在资源消耗超过某个阈值的情况下进行报警,该机制具有一定局限性,在资源调度机制方面缺乏灵活性方面存在云主机资源动态伸缩,智能决策的不足,相比传统调度方法,本调度方法基于人工智能的深度学习方法构建本文档来自技高网...

【技术保护点】
1.一种基于深度学习的云资源调度方法,其特征在于包括以下步骤:(1)数据采样:在集群节点中,采样云主机资源信息和用户历史需求信息,其中,云主机资源信息包含但不仅限于:剩余CPU核心数目,剩余内存大小,已使用端口号,以及剩余磁盘空间大小;用户历史需求信息包含但不仅限于:用户历史请求CPU核心数目,用户历史请求内存大小,用户历史请求的端口号,以及用户历史请求磁盘空间大小;(2)对采样数据进行清洗并进行规范化处理;(3)构建分类器模型以及打分器模型,并制作分类器数据集和打分器数据集;所述的分类器模型以及打分器模型均基于神经网络模型;所述的分类器模型用于预选符合用户请求的云主机资源,所述的打分器模型用于选择对用户请求的匹配度最高的云主机资源,其中分类器数据集包括云主机资源信息,用户历史需求信息,以及标签Label1,标签Label1用于表示云主机资源信息是否满足用户历史需求;打分器数据集包括经分类器模型预选之后的满足用户历史请求的云主机资源信息中CPU和内存两个字段,用户历史需求信息中CPU和内存两个字段,以及标签Label2,标签Label2用于代表云主机资源对用户请求信息的匹配度;(4)分别训练分类器模型和打分器模型,将分类器数据集分为分类器训练集和分类器验证集,首先通过分类器训练集对分类器模型进行训练,然后用分类器验证集对训练后的分类器模型进行验证,如果分类器模型的预选结果正确率大于阈值A时,分类器模型完成训练,否则,分类器模型继续训练,直到分类器模型的预选结果正确率大于设定阈值A;打分器模型的训练方法与分类器模型训练方法一样,区别仅在于采用打分器数据集,所述的打分器数据集分为打分器训练集和打分器验证集;(5)完成对当前用户需求信息进行云资源调度,具体包括:5.1)建立分类器调度数据集和打分器调度数据集,其中分类器调度数据集包括云主机资源信息、用户当前需求信息,以及用于表示云主机资源信息是否满足用户当前需求的标签构成;打分器调度数据集包括经分类器模型预选之后的满足用户当前请求的云主机资源信息中CPU和内存两个字段,用户当前需求信息中CPU和内存两个字段,以及用于代表云主机资源对用户请求信息的匹配度的标签构成;5.2)将分类器调度数据集输入训练完成的分类器模型对符合用户当前请求的云主机资源进行预选;5.3)将打分器调度数据集输入训练完成的打分器模型选择出对用户请求的匹配度最高的云主机资源。...

【技术特征摘要】
1.一种基于深度学习的云资源调度方法,其特征在于包括以下步骤:(1)数据采样:在集群节点中,采样云主机资源信息和用户历史需求信息,其中,云主机资源信息包含但不仅限于:剩余CPU核心数目,剩余内存大小,已使用端口号,以及剩余磁盘空间大小;用户历史需求信息包含但不仅限于:用户历史请求CPU核心数目,用户历史请求内存大小,用户历史请求的端口号,以及用户历史请求磁盘空间大小;(2)对采样数据进行清洗并进行规范化处理;(3)构建分类器模型以及打分器模型,并制作分类器数据集和打分器数据集;所述的分类器模型以及打分器模型均基于神经网络模型;所述的分类器模型用于预选符合用户请求的云主机资源,所述的打分器模型用于选择对用户请求的匹配度最高的云主机资源,其中分类器数据集包括云主机资源信息,用户历史需求信息,以及标签Label1,标签Label1用于表示云主机资源信息是否满足用户历史需求;打分器数据集包括经分类器模型预选之后的满足用户历史请求的云主机资源信息中CPU和内存两个字段,用户历史需求信息中CPU和内存两个字段,以及标签Label2,标签Label2用于代表云主机资源对用户请求信息的匹配度;(4)分别训练分类器模型和打分器模型,将分类器数据集分为分类器训练集和分类器验证集,首先通过分类器训练集对分类器模型进行训练,然后用分类器验证集对训练后的分类器模型进行验证,如果分类器模型的预选结果正确率大于阈值A时,分类器模型完成训练,否则,分类器模型继续训练,直到分类器模型的预选结果正确率大于设定阈值A;打分器模型的训练方法与分类器模型训练方法一样,区别仅在于采用打分器数据集,所述的打分器数据集分为打分器训练集和打分器验证集;(5)完成对当前用户需求信息进行云资源调度,具体包括:5.1)建立分类器调度数据集和打分器调度数据集,其中分类器调度数据集包括云主机资源信息、用户当前需求信息,以及用于表示云主机资源信息是否满足用户当前需求的标签构成;打分器调度数据...

【专利技术属性】
技术研发人员:朱小亮鄂新华马肖攀
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1