CN113094116B - 一种基于负载特征分析的深度学习应用云配置推荐方法及系统 - Google Patents

一种基于负载特征分析的深度学习应用云配置推荐方法及系统 Download PDF

Info

Publication number
CN113094116B
CN113094116B CN202110356988.5A CN202110356988A CN113094116B CN 113094116 B CN113094116 B CN 113094116B CN 202110356988 A CN202110356988 A CN 202110356988A CN 113094116 B CN113094116 B CN 113094116B
Authority
CN
China
Prior art keywords
workload
configuration
load
user
data
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
CN202110356988.5A
Other languages
English (en)
Other versions
CN113094116A (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202110356988.5A priority Critical patent/CN113094116B/zh
Publication of CN113094116A publication Critical patent/CN113094116A/zh
Application granted granted Critical
Publication of CN113094116B publication Critical patent/CN113094116B/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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于负载特征分析的深度学习应用云配置推荐方法及系统,包括特征分析器,配置推荐器,工作负载执行器,负载运行数据收集器,可视化交互器五部分。本发明采用了负载特征分析的方法,提取负载特征向量,提高了黑盒模型预测的准确性,同时保持了良好的可拓展性,也能根据客户的具体需求推荐更合适的配置;提出了更高效的运行时资源使用数据采集方法,大幅降低了负载特征向量提取的时间成本,进一步提高了云配置推荐系统的收益;提供了一个可供用户交互的管理界面,用户可以通过界面提交自定义的工作负载,获取推荐的配置,快捷部署相应环境,运行工作负载,并获取实时资源使用数据。

Description

一种基于负载特征分析的深度学习应用云配置推荐方法及 系统
技术领域
本发明涉及一种基于负载特征分析的深度学习应用云配置推荐方法及系统,属于云服务和计算技术领域。
背景技术
在信息时代,云服务所使用的数据量日益增加,大数据已经和云计算紧密结合。大数据应用运行在云环境已经成为云计算发展的重要趋势之一。Gartner报告指出,超过半数的全球大型组织的大数据应用正在向云环境迁移。微软的报告指出,40%的大数据应用具有周期性处理相似规模数据的特点,如销售额日统计、月统计、舆情分析等。与此同时,主流公有云厂商(阿里云ECS、亚马逊EC2、微软Azure)提供了超过100种可选云配置,以云主机实例类型(VM instance type)的方式提供服务。
同时,云服务内部所采用的算法日益复杂,从传统的大数据框架(如Spark,Hadoop等)到深度学习架构。自从2012年在ImageNet图像识别大赛中AlexNet以大幅度的准确率提升一举夺冠,采用深度神经网络进行机器学习的方法成为了研究热点,并在计算机视觉,自然语言处理,推荐系统中取得了巨大的成功。2014年,Facebook基于深度学习技术的DeepFace项目,在人脸识别方面的准确率已经能达到97%以上,跟人类的识别准确率几乎没有差别。基于深度神经网络的人工智能项目也被广泛应用到各个生活场景中,包括各种APP的人脸识别,机器翻译,语音识别,电商平台商品推荐等。
目前主流的深度学习应用有卷积神经网络(代表有AlexNet,ResNet,Vgg,DenseNet)、循环神经网络(代表有LSTM,GRU)、对抗网络模型(代表有GAN)、协同过滤模型(代表有NCF)等。与传统大数据应用不同,深度学习应用具有计算量大,数据存储量大,内部通信开销大的特点。一个深度学习应用负载的运行时长可能会长达一周,因此难以多次运行应用负载来搜索最佳配置。总而言之,深度学习应用负载对资源的需求更加多样、运行成本更高、模型更加复杂。这对用户选取云配置的策略提出了更高的要求,也给云配置推荐算法设计带来了困难。同时,微软的研究人员指出现有的人工选择方式为深度学习工作负载选取的配置的GPU利用率不高,均值在50%左右。
选择合适的云配置可以有效提升公有云环境下大数据应用的服务质量Service-Level Agreement(SLA)。实验数据表明,针对同一任务,最佳的云配置相对于最差云配置,在任务完成时间上相差10倍,运行费用相差12倍。因此,研发面向深度学习应用的云配置推荐系统意义重大。
近年来,相关工作在解决云配置选择问题时主要有以下两种研究思路:1)数据驱动的方法:该类方法通常以大量离线数据作为输入条件,通过数据样本对性能模型进行训练,训练好的模型用于预测可选云配置的性能。然而,此类方法数据获取成本较高,通常适用于跨云配置推荐场景;2)全量配置搜索的方法:该类方法将应用看作黑盒,以所有候选的云配置作为搜索空间,通过自身的运行数据不断迭代优化。然而,该类方法在配置选项较多时,存在搜索空间过大容易陷入局部最优解的问题。使用白盒建模的方法只能针对特定的工作负载,准确度高但是泛用性低,要求算法设计人员对工作负载架构有深入了解。面对现有云计算场景下众多的复杂模型,这种方法的工作量过大,难度高。当一种新的模型出现时,重新建模的成本高,花费时间长。而现有的使用黑盒模型的方法在面对现有的众多的工作负载时推荐的准确率不足。现有模型对负载自身特征提取的不够充分,无法细致刻画负载对资源的需求,也没有充分利用配置能够提供的资源的信息,因此在大数据集上容易出现准确率低或搜索时间过长的问题。对于更加复杂的深度学习工作负载,现有的云配置推荐算法在推荐准确率和推荐算法运行开销上的表现并不好。
对大量结构复杂,运行时间长的深度学习工作负载使用传统方法进行特征分析十分困难且繁琐,因此,使用机器学习算法进行工作负载特征向量的提取成为了一个很好的选择。对带有时序性的深度学习工作负载资源使用数据,能够处理序列数据的循环神经网络成为了提取其特征向量的很好的选择。其中,长短期记忆神经网络(LSTM)已经在自然语言处理中证明了其处理序列数据时的有效性、可靠性和准确性。
发明内容
本发明要解决的技术问题是:克服现有技术的不足,提供一种基于负载特征分析的深度学习应用云配置推荐方法及系统,能够提取负载与配置的特征向量,进一步刻画负载与配置间的资源供需关系,以提升推荐的准确度,同时避免对具体模型进行结构分析,具有良好的可扩展性。
本发明的技术解决方案是:
一种基于负载特征分析的深度学习应用云配置推荐方法,包括以下步骤:
执行用户指定的工作负载;
收集工作负载运行时的资源使用数据;
使用能够处理时序数据的神经网络模型(如长短期记忆神经网络模型等)从工作负载运行时的资源使用数据中提取负载的特征向量;
根据工作负载的特征向量并结合虚拟机的配置信息,选取适合工作负载的配置;
根据选取的适合工作负载的配置,执行工作负载。
一种基于负载特征分析的深度学习应用云配置推荐系统,包括特征分析器,配置推荐器,工作负载执行器,负载运行数据收集器,可视化交互器五部分构成,其中:
特征分析器:为了提高黑盒模型的准确率,可以引入对负载特征的分析。由于代码自身执行时具有顺序,可以使用长短期记忆神经网络等能够处理时序数据的神经网络模型分析负载对资源需求的时序特征。使用长短期记忆神经网络分析负载在配置上的运行时资源使用情况,提取负载的特征向量,提高为负载进行配置推荐的算法的准确度。当用户提供一个自定义的工作负载时,特征分析器能够根据该负载在指定的标准负载上运行时的资源使用数据提取出该负载的特征向量。特征向量为一维向量,其长度为模型的超参数。
配置推荐器:根据用户提供的负载的特征向量,结合虚拟机的配置信息,选取适合该负载的配置。推荐配置的标准可以为以下几类。(1)成本最低,即执行工作负载需要的时间乘以虚拟机单位时间使用成本的积最低;(2)用时最少,即提供执行工作负载需要的时间最少的虚拟机。配置推荐器也会推荐排名前列的虚拟机,为用户提供更大的选择空间。
工作负载执行器:在Kubernetes中基于用户选择的配置创建pod(Kubernetes是一个可移植、可拓展的开源平台,用于容器化应用程序的自动化部署,扩展和管理,支持声明式配置文件),执行用户指定的工作负载。工作负载执行器也负责在标准虚拟机上运行用户自定义的负载,用于获取负载的运行时数据。对于耗时较短,不存在巨额耗时迭代过程的大数据任务,工作负载执行器会完整执行这个工作负载。对于现有的深度学习工作负载,其存在训练过程存在大量重复的任务,因此在提取负载的特征向量时,工作负载执行器只会执行若干个batch(批次),以节省时间成本。
负载运行数据收集器:收集pod中负载运行时产生的资源使用数据。负载运行数据收集器收集负载运行时资源使用数据,提供给特征分析器,用于提取负载特征向量。同时,负载运行数据收集器也会监控用户通过工作负载执行器创建的pod,将pod的实时信息通过可视化交互器展示给用户。
可视化交互器:提供一个界面供用户使用并和本云配置推荐系统交互。用户通过界面提交自定义的负载的描述文件,获取配置推荐器推荐的虚拟机类型,之后可以选择虚拟机类型通过工作负载执行器在Kubernetes中创建相应的pod,并在界面中查看该pod的资源使用情况。
进一步地,负载在配置上的资源使用数据可以用矩阵存储,具体的标准如下所示:
hij=在时间Ti采集到的指标Fj的数值
按固定间隔采集数据,采集时间按时序hash(哈希)为从0开始的连续的自然数。资源类别包括但不限于CPU、GPU、内存和网络。设该矩阵为H,矩阵H的第i行第j列元素hij表示在时间Ti采集到的指标Fj的数值。
进一步地,所述负载描述文件的格式为YAML,具体的标准如下所示:
所述负载描述文件用于提供运行工作负载所需资源、运行负载所需输入参数。负载描述文件的示例如下,字段后的尖括号内标识了<字段类型:字段内容>,其中str为字符串类型,dict为字典类型。
Figure BDA0003003749180000041
其中,字段apiVersion的内容为api的版本号,用于指定当前对应的API服务器的版本,作用是不同版本API服务器的上下兼容。字段kind的内容为指定资源的类型,本系统支持的资源类型是pod。字段metadata为字典结构,包括但不限于host、name、namespace子字段,其中metadata→host字段用于标识宿主机的名称;metadata→name用于标识资源实例的名称,是资源实例的唯一标识;metadata→namespace用于标识Kubernetes命名空间的名称,所述命名空间与CRD资源类型类似,是通过调用Kubernetes接口预先创建的,用于对资源的运行环境进行逻辑隔离。字段spec为字典结构,包括但不限于containers子字段。子字段containers为字典结构,包括但不限于name,image,command子字段,其中spec→containers→name用于标识容器名称;spec→containers→image用于标识容器的镜像名称;spec→containers→command用于标识容器的启动命令。
下面说明本发明的关键过程的优选的实现方式:
(1)用户与云配置推荐系统交互过程
用户在交互界面提交自定义负载的YAML文件,如果为深度学习工作负载则YAML文件中需要额外提供控制训练batch数目的接口,并选择工作负载类型为深度学习工作负载。如果是深度学习工作负载,YAML文件中还需要指出工作负载是训练作业,还是推理作业。
负载YAML文件应当包含基础信息包括Kubernetes版本、创建资源的角色/类型、资源的名字、资源的标签、节点选择等,容器名字,容器使用的镜像地址,容器中的环境变量,容器挂载路径。容器镜像中包含容器环境的构建,依赖库的安装,文件的挂载,以及容器启动后执行的命令。
工作负载执行器会根据YAML文件在Kubernetes中创建相应的pod。如果该负载为深度学习工作负载,则工作负载执行器会设置工作负载训练的batch数目。用户根据配置推荐器推荐结果选择合适的虚拟机来运行提交的工作负载。虚拟机会根据排名被不同的颜色标注。用户可以通过TensorBoard查看长短期记忆神经网络模型,也可以通过Grafana查看pod的资源使用数据。
(2)负载特征提取与虚拟机推荐过程
负载运行数据收集器会将收集的资源使用信息储存在矩阵中传输给特征提取器。矩阵行代表指标,包括CPU使用率、GPU使用率、内存使用量、网络使用量。矩阵列代表数据采集时间,每隔一定时间采集一次数据。矩阵第i行第j列元素hij表示时刻Ti时采集到的指标Fj的值。特征提取器首先会对矩阵沿列方向做min-max标准化,即X.std=(X-X.min)/(X.max-X.min),其中的X.min与X.max的值和模型训练阶段的数值相同。接着特征提取器会使用长短期记忆神经网络从矩阵中提取负载的特征向量。之后,配置推荐器会根据用户的需求(成本最低或时间最短)使用负载特征向量和配置特征向量进行逻辑回归,得到预测值,再依据预测值对配置进行排序,返回配置排名。其中成本为执行工作负载所需时间乘以虚拟机单位时间使用成本。
特征提取器使用了能够处理时序数据的神经网络模型,如长短期记忆神经网络。长短期记忆神经网络能够处理序列化的指标数据,分析工作负载对资源需求的时变性,寻找资源不足产生的性能瓶颈,更好地刻画工作负载的资源需求特征。特征提取器神经网络模型由一个长短期记忆神经网络和一个全连接层串联组成。长短期记忆神经网络压缩矩阵维度。输入矩阵的行向量沿列方向组成一个序列作为长短期记忆神经网络的输入。长短期记忆神经网络会对序列中的每一个向量做维度压缩,之后返回一个等长的序列。全连接层将输入矩阵沿列方向压缩为向量,作为工作负载的特征向量。激活函数为ReLU,优化器为Adam,并且使用L2正则化以降低过拟合的影响。若需要进一步降低过拟合的影响,可以使用Adaboost的方法,使用多个特征提取器神经网络模型集成为一个更强的预测模型。
离线阶段会基于大量不同的工作负载在不同的虚拟机上的运行时资源使用数据训练长短期记忆神经网络,并对超参数进行搜索,选取平均误差最小的模型。模型训练过程包括数据集预处理(min-max标准化,X.min与X.max分别为指标沿列方向上的最小值和最大值,数据集划分为训练集、测试集),正向传播和反向传播。为了降低过拟合的影响,在单个模型的训练过程中会选取迭代过程中在测试集上误差最小的一组权重作为迭代过程终止后的最终模型的参数。特征提取器使用的长短期记忆神经网络的权重来源于离线训练的模型中平均误差最小的模型。
(3)负载执行与运行时信息收集过程
工作负载执行器会根据用户选取的虚拟机类型创建pod,并在pod中执行工作负载。负载信息收集器会使用Cadvisor来收集pod中的CPU使用率、内存使用量、网络使用量,使用DCGM(Data Center GPU Manager)收集GPU使用率,这些数据均会带有数据收集时间作为标签。这些数据会被发送到Prometheus监控端口,再经由Prometheus(开源的系统监控和警报工具包)发送到Grafana(用于可视化大型测量数据的开源程序)来可视化展示。Grafana会通过图表展示每个指标随时间变化的折线图,供用户使用。
(4)云配置推荐系统在容器里的部署
本云配置推荐系统可以部署到Kubernetes中。特征提取器,配置推荐器,工作负载执行器被制作成镜像,运行在Kubernetes的pod中,以service的方式向外部提供访问接口。工作负载执行器会在Kubernetes集群中按指定的虚拟机类型创建对应的pod。负载数据收集器运行在工作负载执行器创建的pod中。可视化交互器可以和其余四个组件通信,并提供一个网页作为和用户交互的界面。
本发明与现有技术相比的优点在于:
(1)本发明针对现有的受种类繁多的工作负载和虚拟机类型干扰的配置推荐问题,采用了负载特征分析的方法,提取负载特征向量,提高了黑盒模型预测的准确性,同时保持了良好的可拓展性,也能根据客户的具体需求推荐更合适的配置。
(2)本发明针对现有的深度学习负载,提出了一种更高效的运行时资源使用数据采集方法,大幅降低了负载特征向量提取的时间成本,进一步提高了云配置推荐系统的收益。
(3)本发明针对现有的虚拟机部署问题,提供了一个可供用户交互的管理界面。用户可以通过界面提交自定义的工作负载,获取推荐的配置,之后在Kubernetes上快捷部署相应环境,运行工作负载,并获取pod的实时资源使用数据。
附图说明
图1为本发明的云配置推荐系统的组成架构。
图2为本发明的云配置推荐系统的抽象执行过程。
图3为本发明的云配置推荐系统使用的长短期记忆神经网络的抽象图示。
图4为本发明的云配置推荐系统通过特征提取获取预测值的过程的抽象图示。
具体实施方式
下面将结合本发明的附图,进一步说明本发明的技术方案,所描述的实施例是本发明一部分实施例,而不代表全部的实施例。
对于本领域的技术人员来说,一些公知技术可能未进行详细阐述。
本实施例中,一种基于负载特征分析的深度学习应用云配置推荐系统,如图1所示。在离线训练阶段可分为如下步骤:
步骤001:使用预先收集的大量不同负载在不同配置上的运行数据训练用于提取负载特征的长短期记忆神经网络模型,包括最优超参数搜索和模型参数训练过程。
步骤002:选取训练出的模型中准确率最高的模型作为特征分析器所使用的模型。
本模型支持传统大数据工作负载和深度学习工作负载。
在在线推理阶段,可分为以下步骤:
步骤101:用户通过界面和云配置推荐系统交互。用户提交描述工作负载的YAML文件,标注为深度学习工作负载还是传统大数据工作负载或其它工作负载类型。如有需要,用户还可提交负载的镜像及挂载的文件。
步骤102:可视化交互器将用户提交的YAML文件发送给工作负载执行器。
步骤103:工作负载执行器在YAML文件中添加标准配置信息,调用kubectl apply-f命令在Kubernetes集群中创建对应的pod,使工作负载运行在pod中。如果工作负载为深度学习工作负载,工作负载执行器还会在YAML文件中设置模型训练的batch数目,使模型提前终止。模型训练的batch数目会作为运行镜像的参数输入。
步骤104:负载运行数据收集器通过Cadvisor和DCGM定时收集pod的CPU、GPU、内存、网络等资源的使用数据,将其存储为矩阵的形式。
步骤105:负载运行数据收集器将记录的数据矩阵发送给特征分析器。
步骤106:特征分析器使用长短期记忆神经网络模型从负载运行数据收集器提供的输入矩阵中提取负载的特征向量。之后特征分析器将提取的特征向量发送给配置推荐器。
步骤107:配置推荐器根据负载的特征向量和配置的特征向量进行逻辑回归,得到配置预测值,再对各个配置的预测值汇总排序,将配置依照推荐的优先级排序返回到前端界面。
步骤108:用户根据返回的配置推荐结果选择合适的配置执行工作负载,将选择的配置提交给工作负载执行器。工作负载执行器根据用户选择的配置修改YAML文件中的配置信息,调用Kubernetes相应接口,删除之前创建的标准配置pod,重新创建选择配置的pod。如果工作负载为深度学习工作负载,此时工作负载执行器会完整执行这个工作负载,不会设置模型训练的batch数目使工作负载提前终止。
步骤109:负载运行数据收集器通过Cadvisor和DCGM收集pod的CPU、GPU、内存、网络等资源的使用数据,并发送到Prometheus的监听端口。Prometheus将这些数据发送到Grafana监听端口,以此界面化展示监控数据。用户可以在前端界面实时看到创建的pod和pod中这些数据的界面展示。
在线推理过程的流程图如图2所示:
步骤201:用户访问前端页面。
步骤202:用户提交自定义负载。
步骤203:判断是否是深度学习工作负载。若是则顺序执行步骤204,否则跳转到步骤205。
步骤204:工作负载执行器设置提前终止参数。
步骤205:工作负载执行器创建标准配置的pod。
步骤206:负载运行数据收集器收集运行时数据。
步骤207:特征分析器进行特征提取。
步骤208:配置推荐器进行配置推荐。
步骤209:推荐结果返回前端。
步骤210:用户选择配置。
步骤211:工作负载执行器创建指定配置的pod。
步骤212:负载运行数据收集器实时监控并反馈至前端。
长短期记忆神经网络如图3所示。输入矩阵为X=[x1,x2,···,xn],输出为Y=[y1,y2,···,yn],f为神经元表示的函数,H=[h1,h2,···,hn]为神经元的记忆内容。本系统基于pytorch构建,使用pytorch的LSTM层,超参数由搜索得出,模型参数由训练确定。
步骤107通过特征提取获取配置预测值的过程如图4所示:
步骤401:LSTM层对输入矩阵进行特征分析。
步骤402:全连接层从LSTM层的输出中提取负载特征向量。
步骤403:将负载特征向量和配置特征向量进行拼接。
步骤404:对拼接的向量进行逻辑回归,得到配对(负载,配置)的预测值。
基于同一发明构思,本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
本发明的其他实施例中可以采用以下替代方式:
1.使用的LSTM(长短期记忆神经网络)模型可以被其他的可接受带有时序的输入的模型替代,如GRU、Transformer等。
2.针对的工作负载除了深度学习工作负载,也可适用于传统大数据应用工作负载,如Hadoop、Spark等。
3.系统监控和可视化工具不限于Prometheus和Grafana,也可以使用VUE等前端编写界面。
以上对于本发明实施例的具体实施方法的描述只是举例说明,本发明的保护范围由所述权利要求书阐述。本领域的技术人员在理解了上述说明的基础之上,进行的任何形式的变化和改动均落入本发明的保护范围之内。

Claims (8)

1.一种基于负载特征分析的深度学习应用云配置推荐方法,其特征在于,包括以下步骤:
执行用户指定的工作负载;
收集工作负载运行时的资源使用数据;
使用能够处理时序数据的神经网络模型从工作负载运行时的资源使用数据中提取负载的特征向量;
根据工作负载的特征向量并结合虚拟机的配置信息,选取适合工作负载的配置;
根据选取的适合工作负载的配置,执行工作负载;
所述执行用户指定的工作负载,包括:
用户提交描述工作负载的YAML文件,标注为深度学习工作负载或大数据工作负载或其它工作负载类型;
在YAML文件中添加标准配置信息,在Kubernetes集群中创建对应的pod,使工作负载运行在pod中;
所述根据工作负载的特征向量并结合虚拟机的配置信息,选取适合工作负载的配置,包括:根据负载的特征向量和配置的特征向量进行逻辑回归,得到配置预测值,再对各个配置预测值汇总排序,将配置依照推荐的优先级排序返回到前端界面,供用户根据返回的配置推荐结果选择合适的配置执行工作负载。
2.根据权利要求1所述的方法,其特征在于,所述收集工作 负载运行时的资源使用数据,包括:将负载运行时的资源使用数据存储为矩阵H的形式,矩阵H的第i行第j列元素hij表示在时间i采集到的指标j的数值。
3.根据权利要求1所述的方法,其特征在于,所述根据选取的适合工作负载的配置,执行工作负载,包括:根据用户选择的配置修改YAML文件中的配置信息,调用Kubernetes相应接口,删除之前创建的标准配置pod,重新创建选择的配置的pod。
4.根据权利要求1所述的方法,其特征在于,采用以下步骤得到所述配置预测值:
LSTM层对输入矩阵进行特征分析;
全连接层从LSTM层的输出中提取负载特征向量;
将负载特征向量和配置特征向量进行拼接;
对拼接的向量进行逻辑回归,得到配对(负载,配置)的预测值。
5.根据权利要求1所述的方法,其特征在于,使用预先收集的不同负载在不同配置上的运行数据训练用于提取负载特征的长短期记忆神经网络模型,包括最优超参数搜索和模型参数训练过程。
6.一种基于负载特征分析的深度学习应用云配置推荐系统,其特征在于,包括特征分析器、配置推荐器、工作负载执行器、负载运行数据收集器和可视化交互器;
所述工作负载执行器,用于执行用户提交的自定义的工作负载,以及根据所述配置推荐器推荐的配置执行工作负载;
所述负载运行数据收集器,用于收集工作负载运行时的资源使用数据,并提供给所述特征分析器;
所述特征分析器,用于使用能够处理时序数据的神经网络模型从工作负载运行时的资源使用数据中提取负载的特征向量;
所述配置推荐器,用于根据工作负载的特征向量并结合虚拟机的配置信息,推荐适合工作负载的配置;
所述可视化交互器,用于提供一个界面以与用户进行可视化交互;
所述用户提交的自定义的工作负载,包括:
用户提交描述工作负载的YAML文件,标注为深度学习工作负载或大数据工作负载或其它工作负载类型;
在YAML文件中添加标准配置信息,在Kubernetes集群中创建对应的pod,使工作负载运行在pod中;
所述根据工作负载的特征向量并结合虚拟机的配置信息,推荐适合工作负载的配置,包括:根据负载的特征向量和配置的特征向量进行逻辑回归,得到配置预测值,再对各个配置预测值汇总排序,将配置依照推荐的优先级排序返回到前端界面,供用户根据返回的配置推荐结果选择合适的配置执行工作负载。
7.一种电子装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~5中任一权利要求所述方法的指令。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~5中任一权利要求所述的方法。
CN202110356988.5A 2021-04-01 2021-04-01 一种基于负载特征分析的深度学习应用云配置推荐方法及系统 Active CN113094116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110356988.5A CN113094116B (zh) 2021-04-01 2021-04-01 一种基于负载特征分析的深度学习应用云配置推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110356988.5A CN113094116B (zh) 2021-04-01 2021-04-01 一种基于负载特征分析的深度学习应用云配置推荐方法及系统

Publications (2)

Publication Number Publication Date
CN113094116A CN113094116A (zh) 2021-07-09
CN113094116B true CN113094116B (zh) 2022-10-11

Family

ID=76672702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110356988.5A Active CN113094116B (zh) 2021-04-01 2021-04-01 一种基于负载特征分析的深度学习应用云配置推荐方法及系统

Country Status (1)

Country Link
CN (1) CN113094116B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806018B (zh) * 2021-09-13 2023-08-01 北京计算机技术及应用研究所 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
CN114816506A (zh) * 2022-04-21 2022-07-29 北京金堤科技有限公司 模型特征快速处理方法、装置以及存储介质和电子设备
CN115118592B (zh) * 2022-06-15 2023-08-08 中国科学院软件研究所 基于算子特征分析的深度学习应用云配置推荐方法及系统
CN116522002B (zh) * 2023-06-27 2023-09-08 交通运输部水运科学研究所 一种基于机器学习的通航服务系统的容器推荐方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
CN105046327A (zh) * 2015-06-03 2015-11-11 王宝会 一种基于机器学习技术的智能电网信息系统及方法
CN108874542A (zh) * 2018-06-07 2018-11-23 桂林电子科技大学 基于神经网络的Kubernetes调度优化方法
CN109144670A (zh) * 2018-08-20 2019-01-04 郑州云海信息技术有限公司 一种资源调度方法及装置
CN109445935A (zh) * 2018-10-10 2019-03-08 杭州电子科技大学 云计算环境下一种高性能大数据分析系统自适应配置方法
CN109492774A (zh) * 2018-11-06 2019-03-19 北京工业大学 一种基于深度学习的云资源调度方法
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN111488218A (zh) * 2020-03-13 2020-08-04 合肥中科类脑智能技术有限公司 一种一体机计算系统与方法
CN111984381A (zh) * 2020-07-10 2020-11-24 西安理工大学 一种基于历史数据预测的Kubernetes资源调度优化方法
CN112416585A (zh) * 2020-11-20 2021-02-26 南京大学 面向深度学习的gpu资源管理与智能化调度方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062246B (zh) * 2018-01-25 2019-06-14 北京百度网讯科技有限公司 用于深度学习框架的资源调度方法和装置
US11507430B2 (en) * 2018-09-27 2022-11-22 Intel Corporation Accelerated resource allocation techniques
US11372663B2 (en) * 2019-03-28 2022-06-28 Amazon Technologies, Inc. Compute platform recommendations for new workloads in a distributed computing environment

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
CN105046327A (zh) * 2015-06-03 2015-11-11 王宝会 一种基于机器学习技术的智能电网信息系统及方法
CN108874542A (zh) * 2018-06-07 2018-11-23 桂林电子科技大学 基于神经网络的Kubernetes调度优化方法
CN109144670A (zh) * 2018-08-20 2019-01-04 郑州云海信息技术有限公司 一种资源调度方法及装置
CN109445935A (zh) * 2018-10-10 2019-03-08 杭州电子科技大学 云计算环境下一种高性能大数据分析系统自适应配置方法
CN109492774A (zh) * 2018-11-06 2019-03-19 北京工业大学 一种基于深度学习的云资源调度方法
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN111488218A (zh) * 2020-03-13 2020-08-04 合肥中科类脑智能技术有限公司 一种一体机计算系统与方法
CN111984381A (zh) * 2020-07-10 2020-11-24 西安理工大学 一种基于历史数据预测的Kubernetes资源调度优化方法
CN112416585A (zh) * 2020-11-20 2021-02-26 南京大学 面向深度学习的gpu资源管理与智能化调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于卷积网络与支持向量机的云资源预测模型;杨云等;《陕西科技大学学报》;20201013(第05期);全文 *
面向大数据分析作业的启发式云资源供给方法;吴悦文 等;《软件学报》;20200608;全文 *

Also Published As

Publication number Publication date
CN113094116A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN113094116B (zh) 一种基于负载特征分析的深度学习应用云配置推荐方法及系统
Alipourfard et al. {CherryPick}: Adaptively unearthing the best cloud configurations for big data analytics
US11315014B2 (en) Workflow optimization
US11403333B2 (en) User interface search tool for identifying and summarizing data
US8839204B2 (en) Determination of function purity for memoization
US8752021B2 (en) Input vector analysis for memoization estimation
Yang et al. Multi-step-ahead host load prediction using autoencoder and echo state networks in cloud computing
US20130074056A1 (en) Memoizing with Read Only Side Effects
US11106713B2 (en) Sampling data using inverted indexes in response to grouping selection
CN111382347A (zh) 一种对象特征的处理和信息推送方法、装置和设备
CN111260073A (zh) 数据处理方法、装置和计算机可读存储介质
CN113239275B (zh) 信息推送方法、装置、电子设备和存储介质
CN108288208A (zh) 基于图像内容的展示对象确定方法、装置、介质及设备
CN111444158A (zh) 长短期用户画像生成方法、装置、设备及可读存储介质
CN110532056A (zh) 一种应用于用户界面中的控件识别方法及装置
US20210326761A1 (en) Method and System for Uniform Execution of Feature Extraction
Cunha et al. Context-aware execution migration tool for data science Jupyter Notebooks on hybrid clouds
CN116738081B (zh) 一种前端组件绑定方法、装置及存储介质
Fatouros et al. Knowledge graphs and interoperability techniques for hybrid-cloud deployment of faas applications
CN111708919B (zh) 一种大数据处理方法及系统
Shen et al. Zeno: A straggler diagnosis system for distributed computing using machine learning
CN117675838A (zh) 一种智能量测主站数据自动同步及共享方法及系统
US11782923B2 (en) Optimizing breakeven points for enhancing system performance
CN109934468A (zh) 一种兼职工作匹配方法及系统、存储介质
US11803464B2 (en) System for automatic identification and selection of optimization metrics and accompanying models in experimentation platforms

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