CN116737309A - 服务质量劣化的检测方法、系统及存储介质 - Google Patents

服务质量劣化的检测方法、系统及存储介质 Download PDF

Info

Publication number
CN116737309A
CN116737309A CN202210197573.2A CN202210197573A CN116737309A CN 116737309 A CN116737309 A CN 116737309A CN 202210197573 A CN202210197573 A CN 202210197573A CN 116737309 A CN116737309 A CN 116737309A
Authority
CN
China
Prior art keywords
application
qos
qos degradation
parameters
condition
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.)
Pending
Application number
CN202210197573.2A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202210197573.2A priority Critical patent/CN116737309A/zh
Publication of CN116737309A publication Critical patent/CN116737309A/zh
Pending legal-status Critical Current

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种QoS劣化检测方法,其特征在于,所述方法包括:首先,云管理平台提供参数获取接口,所述参数获取接口用于获取运行第一应用的一个或多个实例所在的至少一个主机的内核参数;所述云管理平台将从所述参数获取接口获取的所述内核参数输入QoS劣化预测模型,获得所述第一应用的QoS劣化情况,其中,所述第一应用的QoS劣化情况用于指示所述第一应用的QoS性能降低的情况。所述方法通过构建所述QoS劣化预测模型,根据主机的内核参数,即可预测运行在主机上的应用的QoS劣化情况,有效地提升了QoS劣化检测的效率。

Description

服务质量劣化的检测方法、系统及存储介质
技术领域
本申请涉及计算机领域,特别涉及服务质量劣化的检测方法、系统及存储介质。
背景技术
在云计算场景中,由于多个虚拟机或容器共享同一个主机的资源,也即,多个虚拟机或容器对于主机上的计算资源、存储资源和网络资源等存在抢占的情况,从而使得运行在部分或全部虚拟机或容器上的租户的业务负载的服务质量(qualityof service,QoS)劣化。因此,云服务商需要对业务负载QoS的变化有准确的把握,以实现在QoS劣化到一定程度时,及时采取优化措施,从而保障租户的使用体验,防止用户的流失。
因此,如何进行QoS劣化检测成为了亟待解决的问题。
发明内容
本申请提供了一种服务质量劣化的检测方法,能够有效地提高服务质量劣化的检测效率。
本申请的第一方面提供了一种服务质量QoS劣化检测方法,其特征在于,云管理平台提供参数获取接口,该参数获取接口用于获取运行第一应用的一个或多个实例所在的至少一个主机的内核参数;该云管理平台将从该参数获取接口获取的该内核参数输入QoS劣化预测模型,获得该第一应用的QoS劣化情况,其中,该第一应用的QoS劣化情况用于指示该第一应用的QoS性能降低的情况。
该服务质量QoS劣化检测方法利用QoS劣化预测模型获得应用的QoS劣化情况,该模型仅需要以任意应用运行所在的实例的内核参数为输入,即可对确定该应用的QoS劣化情况,避免了以应用为单位逐个进行QoS劣化检测,极大地提升了QoS劣化检测的效率。并且,该方法训练得到的模型可以用于预测未用于训练的未知应用的QoS劣化情况的预测,扩展了QoS劣化检测方法的应用范围。
在一些可能的设计中,该云管理平台获取训练数据,该训练数据包括运行第二应用的一个或多个实例所在的至少一个主机的内核参数、该第二应用的QoS劣化情况,其中,该第二应用的QoS劣化情况用于指示该第二应用的QoS性能降低的情况;该云管理平台利用该训练数据进行模型的训练,以获得该QoS劣化预测模型。
在一些可能的设计中,该训练数据还包括该第二应用的应用类型和该第二应用的关键资源类型,其中,该第二应用的关键资源类型指示该第二应用依赖的资源。
在一些可能的设计中,该内核参数包括下述的一种或多种:处理器资源参数、内存资源参数、网络资源参数。
在一些可能的设计中,将该内核参数输入该QoS劣化预测模型,获得该第一应用的QoS劣化情况和/或下述的一种或多种:该第一应用的应用类型、该第一应用的关键资源类型,其中,该第一应用的关键资源类型指示该第一应用依赖的资源。
在一些可能的设计中,利用性能测试工具运行该第二应用,其中,该性能测试工具用于模拟并产生可以使得该第二应用运行的指令。
在一些可能的设计中,该第一应用运行于公有云场景中。
在一些可能的设计中,该QoS劣化预测模型运行于人工智能平台。
本申请的第二方面提供了一种服务质量QoS劣化检测系统,该系统用于执行第一方面提供的方法。具体的,该系统包括通信单元和处理单元。该通信模块,用于提供参数获取接口,该参数获取接口用于获取运行第一应用的一个或多个实例所在的至少一个主机的内核参数;该处理单元,用于将从该参数获取接口获取的该内核参数输入QoS劣化预测模型,获得该第一应用的QoS劣化情况,其中,该第一应用的QoS劣化情况用于指示该第一应用的QoS性能降低的情况。
在一些可能的设计中,该QoS劣化预测模型运行于云管理平台中。
在一些可能的设计中,该QoS劣化预测模型运行于该云管理平台之外。
在一些可能的设计中,该通信单元,用于获取训练数据,该训练数据包括运行第二应用的一个或多个实例所在的至少一个主机的内核参数、该第二应用的QoS劣化情况,其中,该第二应用的QoS劣化情况用于指示该第二应用的QoS性能降低的情况;该处理单元,用于利用该训练数据进行模型的训练,以获得该QoS劣化预测模型。
在一些可能的设计中,该训练数据还包括该第二应用的应用类型和该第二应用的关键资源类型,其中,该第二应用的关键资源类型指示该第二应用依赖的资源。
在一些可能的设计中,该内核参数包括下述的一种或多种:处理器资源参数、内存资源参数、网络资源参数。
在一些可能的设计中,该处理模块,还用于将该内核参数输入该QoS劣化预测模型,获得该第一应用的QoS劣化情况和下述的一种或多种:该第一应用的应用类型、该第一应用的关键资源类型,其中,该第一应用的关键资源类型指示该第一应用依赖的资源。
在一些可能的设计中,该处理模块,还用于利用性能测试工具运行该第二应用,其中,该性能测试工具用于模拟并产生可以使得该第二应用运行的指令。
在一些可能的设计中,该第一应用运行于公有云场景中。
在一些可能的设计中,该QoS劣化预测模型运行于人工智能平台。
本申请的第三方面提供了一种计算设备集群,该集群包括至少一个计算设备,每个计算设备包括处理器和存储器。该至少一个计算设备的处理器用于执行该存储器中存储的指令,以使得该计算设备集群执行如第一方面或第一方面的任一种实现方式的方法。
本申请的第四方面提供了一种包含指令的计算机程序产品,当该指令在计算机设备集群上运行时,使得该计算机设备集群执行上述第一方面或第一方面的任一种实现方式的方法。
本申请的第五方面提供了一种计算机可读存储介质,该计算机可读存储介质包括计算机程序指令,当该计算机程序指令由计算设备集群执行时,该计算设备集群执行如第一方面或第一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请涉及的一种QoS劣化曲线的示意图;
图2是本申请涉及的一种QoS劣化检测系统100的系统架构图;
图3是本申请涉及的一种QoS劣化检测方法200的流程图;
图4是本申请涉及的一种神经网络模型的架构图;
图5是本申请涉及的一种QoS劣化检测系统100的结构示意图;
图6是本申请涉及的一种计算设备的示意图;
图7是本申请涉及的一种计算设备集群的示意图;
图8是本申请涉及的另一种计算设备集群的示意图;
图9是本申请涉及的另一种计算设备集群的示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解,这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
为了便于理解本申请实施例,首先,对本申请涉及的部分术语进行解释说明。
应用(application,APP):是指针对用户的某种特殊应用目的所撰写的计算机程序。应用可以按照应用目的或功能划分为不同类型,例如应用可以包括电子商务应用、社交应用、办公应用、休闲娱乐应用等类型。
实例(instance):云服务提供商提供了计算实例服务,计算实例是具有计算资源的计算单元,该计算单元可以运行租户的任务。常见的实例包括虚拟机、容器或裸金属服务器。计算实例服务为租户提供了众多适合不同类型任务的实例,按照类型又可以分为按需实例和竞价实例,按照规格可以分为通用型、内存增强型和计算增强型等等。其中,计算资源包括执行计算操作所需要的资源。例如,中央处理器(center processing unit,CPU)或图形处理器(graphics processing unit,GPU)资源、存储资源(内存空间)、网络资源等。
虚拟机(virtualmachine,VM):通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在服务器中能够完成的工作在虚拟机中都能够实现。在服务器中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量,每个虚拟机都有独立的硬盘和操作系统,虚拟机的用户可以像使用服务器一样对虚拟机进行操作。
容器(container),是指通过镜像创建的运行实例。该运行实例可以是包括至少一个只读层和一个读写层(read-write layer)的联合文件系统。该联合文件系统能够将上述至少一个只读层和一个读写层整合成一个文件系统,从而为这些只读层提供一个统一的视角,这样就隐藏了多层的存在,从用户的角度看来,容器存在一个可读写的文件系统。容器运行应用所需元素的轻量级代码包,以实现操作系统级别的虚拟化,从而使得应用运行于相对独立和隔离的环境,简化了应用的部署流程,增强了应用的可移植性和安全性。
服务质量劣化(quality of service degradation,QoS劣化):指的是多个虚拟机共置于同一主机时,由于彼此之间的资源竞争引起的租户业务(例如应用)QoS性能(如吞吐量、时延等)降低的现象。具体地,由于多个虚拟机共享主机内的CPU资源,导致其CPU轮转时隙、最后一级缓存(last level cache,LLC)、以及其他网络、存储IO等维度的临界资源彼此抢占,而使得租户业务负载的QoS或服务等级协议指标显著下降。图1示出了一种QoS劣化曲线,横轴为压力系数,纵轴为QoS劣化情况。例如,在压力系数为2时,应用1的QoS指标A的劣化程度达到50%,而当压力系数增加到10之后,应用1的QoS指标A的劣化程度达到70%。
服务等级协议(service level agreement,SLA):云服务商与租户之间的合同协议,定义了服务类型和质量等。SLA通常定义有平均故障间隔、平均修复时间、吞吐量和抖动等指标。
深度学习(deep learning):一类基于深层次神经网络算法的机器学习技术,其主要特征是使用多重非线性变换构对数据进行处理和分析。主要应用于人工智能领域的感知、决策等场景,例如图像和语音识别、自然语言翻译等。
长短期记忆网络(long short-term memory network,LSTM network):一种时间递归神经网络(recurrent neural network,RNN),其网络结构含有一个或多个具有可遗忘和记忆功能的单元组成,有效缓解了RNN不易处理远距离信息上下文依赖、梯度消失或梯度爆炸等问题。LSTM及其变种适用于处理时序数据建模问题。
多任务学习(multi-task learning):一种任务联合训练的机器学习范式,通常把多个相关的任务放在一起建模,让模型在训练过程中同时学习多个任务。这种训练方式能够让模型学习到更丰富的特征细节,有助于模型取得更高的泛化能力。
为了对不同业务负载对应的QoS劣化曲线有准确的把握,通常会以应用和性能指标为单位进行测试。例如,以吞吐量和时延为指标,分别对电子商务类应用进行QoS劣化检测,从而分别获得该电子商务类应用的吞吐量劣化曲线和时延劣化曲线。其中,每一个劣化曲线的获取是通过设置不同的压力系数获得的。压力系数指示的是利用性能测试软件执行预设好的指令,从而实现一定的运行效果。例如,通过预先设置指令的数量和/或复杂度,从而实现CPU利用率达到指定的数值,从而进一步地获取在该CPU利用率下的QoS劣化情况。
以上仅示例性地示出了两种QoS指标(吞吐量和时延)、一种计算压力系数的方法和一种应用。在实际中,QoS包括的指标可以包括数十种,压力系数的计算/构建方法也有多种,而应用的数量更是多。因此,如果对海量的应用进行上述方法的QoS劣化检测,检测工作量巨大、成本极高,实践可行性极低,将耗费大量的时间和人力。也即,将QoS指标的数量、压力系数的计算方法和应用数量进行排列组合得到的结果将十分巨大。并且,在这一些测试方法中,应用类型、需要检测的QoS指标均需要是已知的。因此,这一些测试方法有着效率低下的缺点,并且存在不知道应用类型和需要检测的QoS指标的情况下,无法进行检测的问题。
有鉴于此,本申请提出一种基于机器学习的QoS劣化检测方法,该方法通过机器学习技术构建实例运行时的内核参数与其所承载的业务应用负载的QoS劣化曲线之间的关系模型。也即,根据实例在运行时的内核参数,即可准确地预测该实例所承载的应用的QoS劣化曲线。
一方面,该方法基于机器学习构建模型,根据所述构建的模型即可自动化地、准确地预测实例所承载的应用的QoS劣化曲线,避免了测试人员通过调整压力系数和QoS指标等方法获取QoS劣化曲线耗费时间长的问题。通过构建通用的QoS检测模型,有效地提升了检测多个应用的QoS劣化情况的效率。
另一方面,该方法仅需要获取实例运行时的内核参数,避免了在不知道应用类型和需要检测的QoS指标的情况下,无法进行检测的问题。其中,内核参数包括处理器参数、网络参数和内存参数等。具体地,处理器参数包括CPU利用率和频率等;网络参数包括吞吐量、时延和带宽等;而内存参数包括读写速度和内存占用率等。
需要说明的是,对于公有云场景下的各类应用,为了实现云服务商和租户之间的SLA或满足QoS,需要了解虚拟机/容器所运行的应用的QoS劣化曲线,然后根据租户购买的资源的运行情况和对应的QoS劣化曲线调整为租户分配的资源。然而在公有云场景下云服务商未经租户允许是不得获取租户运行业务的信息或者入侵业务的。也即,在公有云场景下,云服务商通常是无法获取应用类型和关键QoS指标等参数的。
本申请需要采集的仅是运行所述应用的主机中的内核参数,因此,可以在不入侵业务的情况下实现QoS劣化曲线的获取,避免了违反云服务商与租户之间协议的问题,扩宽了QoS劣化曲线绘制的适用范围,提升了绘制QoS劣化曲线的效率。
为了使得本申请的技术方案更加清楚、易于理解,接下来将对本申请实施例的系统架构进行介绍。
参见图2所示的QoS劣化检测系统100的系统架构图,云管理平台由云服务商提供,用于管理提供计算、存储、通信资源的计算设备集群。也即,主机1、主机2和主机N等计算设备构成的集群。其中,N为大于2的整数。计算设备集群可以部署在本地,也可以部署在云环境中。也即,主机1可以部署在本地机房中,主机2可以远程部署在另一机房中。云管理平台可以与部署应用的主机建立有通信连接。
主机用于提供硬件资源以使得应用可以运行,其中,硬件资源包括CPU和内存等。具体地,应用运行上实例上,而所述实例则是利用所述主机的硬件资源并运行在所述主机上。
QoS劣化检测系统100部署在云管理平台中,其中,QoS劣化检测系统100包括通信单元101、训练单元102和预测单元103。也即,云管理平台还用于训练和发布QoS劣化预测模型。
通信单元101,用于获取计算设备集群中至少一个主机的内核参数。可选的,所述通信单元101还用于对收集到的主机的内核参数进行预处理,以使得收集到的内核参数符合QoS劣化预测模型的输入格式。具体地,预处理包括残值的补齐和时间戳的补齐等。
可选的,为了获得充足的训练数据,还可以利用性能测试工具(benchmark tool)来离线仿真应用运行过程,以获得部分训练数据。
可选的,QoS劣化检测系统100还可以部署在云管平台之外的本地/云服务器中。在这一可能的实现方式中,QoS劣化检测系统100获取计算设备集群中至少一个主机的内核参数并用于对所述QoS劣化预测模型进行训练,而后将训练好的QoS劣化预测模型预测应用的QoS的劣化模型。在获得预测结果后,可以将所述预测结果发送至云管理平台,用于对运行所述应用的实例进行管理。
例如,QoS劣化检测系统100可以运行在任意在线/离线的机器学习平台或人工智能平台上,云管理平台以及计算设备集群通过调用该机器学习平台或人工智能平台的接口实现数据的上传和下载。
可选的,QoS劣化检测系统100包括的三个单元(通信单元101、训练单元102和预测单元103)中的任意一个或多个可以部署在云管理平台之外的本地/云服务器中。
训练单元102,用于根据通信单元101获取并预处理之后的数据对QoS劣化预测模型进行训练。所述QoS劣化预测模型的输入是一定时间窗口内的实例运行时的内核参数,输出至少包括QoS劣化数据或QoS劣化曲线。可选的,输出还包括应用类型和关键资源类型。其中,关键资源类型指示的是应用运行时主要依赖/占用的资源的类型。
预测单元103,用于根据应用运行过程中一定时间窗口内的内核参数,获得所述应用的QoS劣化数据或QoS劣化曲线。可选的,输出还包括应用类型和关键资源类型。
需要说明的是,不同于前述针对一个应用获取一个QoS劣化曲线的方法,在训练单元102完成对模型的训练后,训练得到的模型可以用于获取任意应用的QoS劣化曲线。也即,通过构建QoS劣化预测模型,可以对任意应用进行QoS劣化检测,避免了以应用为单位逐个进行QoS劣化检测,极大地提升了QoS劣化检测的效率。
上文对QoS劣化检测系统100的系统架构进行了详细说明,接下来,从QoS劣化检测系统100的角度对本申请实施例提供的QoS劣化检测方法200进行详细说明。
参见图3所示的QoS劣化检测方法200的流程图,该方法包括数据收集、模型训练和模型调用三个部分,首先介绍数据收集部分:
S201:QoS劣化检测系统100获取运行应用的实例在指定时间窗口内的内核参数、QoS劣化情况、应用类型和关键资源类型。
具体地,QoS劣化检测系统100可以接入主机的运行环境,通过获取接口获得运行应用的一个或多个实例所在的至少一个主机的内核参数。以主机1中的应用1为例,应用1运行在VM11上,而VM11的规格为4虚拟中央处理器(virtualcentral processing unit,vCPU)、16吉字节(gigabyte,GB)。而以上两类资源(处理器资源和内存资源)均是利用虚拟化工具从主机1的硬件资源中虚拟化得到的。也即,应用1实际利用的是主机1中的硬件资源运行的。因此,针对应用1,至少需要采集主机1中实际用于运行VM11的CPU和内存的内核参数以及参数对应的时间戳。
此外,QoS劣化检测系统100还需要获取QoS劣化情况、应用类型和关键资源类型。其中,QoS劣化情况指示的是应用在运行过程中,随着时间或者压力系数的变化产生的QoS劣化情况,而QoS指标的选取可以根据经验进行。可选的,QoS劣化检测系统100还可以获取QoS劣化情况对应的时间戳。
应用类型指示的是应用的类型,如前所述,包括电子商务应用、社交应用、办公应用、休闲娱乐应用等类型。可选的,可以将不同应用类型用不同的标识代替,从而便于训练QoS劣化预测模型。例如,可以规定电子商务应用对应1,社交应用对应2,以此类推。
关键资源类型指示的是应用主要占用/依赖的资源类型。其中,资源类型包括:处理器资源、内存资源和网络资源等。例如,社交应用主要依赖网络资源,而办公应用则主要依赖于处理器资源。在确定应用对应的关键资源类型后,可以根据关键资源类型确定QoS指标,从而构建QoS劣化曲线。例如,可以主要针对网络资源中的吞吐量、时延和带宽中的一种或多种构建QoS劣化曲线,可以主要针对处理器资源中CPU利用率和/或频率构建QoS曲线。因此,内核参数包括下述的一种或多种:处理器资源参数、内存资源参数、网络资源参数。
可选的,可以根据关键资源类型在资源调度时为应用调度相应的资源。例如,当云管理平台检测或预测到压力系数增加到指定数值时,部分应用的QoS指标将发生劣化,可以首先通过调度或增加应用对应的关键资源类型来解决/防止这部分应用的QoS指标的劣化。
可选的,QoS劣化检测系统100也可以无需接入主机的运行环境,而是通过获取接口接收主机侧采集的内核参数、QoS劣化情况、应用类型和关键资源类型。也即,云管理平台提供参数获取接口,用于获取运行应用的一个或多个实例所在的至少一个主机的内核参数。具体地,可以是通过获取接口接收用户上传的主机的内核参数、QoS劣化情况、应用类型和关键资源类型等数据。
需要说明的是,S201中采集的数据中一部分可以用于训练QoS劣化预测模型,一部分可以用于进行应用的QoS劣化情况的预测。
其中,用于训练的数据包括输入数据和输出数据两部分。输入数据包括指定时间窗口内的运行应用的实例的内核参数,输出数据则包括下述的一种或多种:指定时间窗口内的应用对应的QoS劣化情况、应用类型和关键资源类型。关于如何利用收集的数据进行训练将在S205和S207中详细介绍。
用于预测的数据则是仅包括输入数据,具体包括指定时间窗口内的运行应用的实例的内核参数。具体地,包括的是运行应用的一个或多个实例所在的至少一个主机的内核参数。关于如何利用收集的数据进行预测将在S209中详细介绍。
S203:QoS劣化检测系统100通过仿真获得运行应用的实例在多个时刻的内核参数、QoS劣化情况、应用类型和关键资源类型。
因为需要大量的数据才能完成QoS劣化预测模型的训练,而S201中采集的数据的数量可能不足以训练QoS劣化预测模型,因此本申请提出利用性能测试工具进行模拟,以产生足够多的训练数据。
可选的,性能测试工具可以是一个或若干个应用对应一款性能测试工具(或软件)。也即,不同的应用使用的性能测试工具可以不同。常见的性能测试工具包括雅虎云服务测试工具(Yahoo!cloud serving benchmark,YCSB)、麒麟宠物(performance emulationtool,kylinPET)和奇林测试平台(kylinTOP)等。
具体地,利用性能测试工具进行仿真是指通过模拟产生指令,所述指令用于运行应用,从而获得在不同压力系数下的各项QoS指标的数据,从而获得训练数据。
S205:QoS劣化检测系统100对收集到的训练数据进行预处理。
数据预处理在构建神经网络模型时是很重要的,甚至能够决定训练结果。换言之,训练数据的质量将决定神经网络模型的收敛时间等参数。
具体地,这是因为原始训练数据中可能存在部分数据丢失、部分数据的时间戳丢失或者无意义数据等情况出现。其中,无意义数据是指这类数据的出现具有极低的概率,如果基于这类数据进行模型的训练将不会对模型建立起到积极作用,因此对于这类数据通常采用剔除的操作。而对于前述的部分数据丢失、部分数据的时间戳丢失的情况,可以采用插值法和均值法等方法完成丢失数据的补齐和时间戳的补齐。
基于不同的数据集的特征,预处理的方法可以进行相应的选择或调整。常见的数据预处理的方法有归一化(normalization)、零均值和白化(whitened)等。本申请不对预处理的方法的选取和类型进行限制,故不再赘述。
此外,预处理操作中还包括对数据格式的调整,数据格式的调整包括输入/输出数据的选取和顺序,以及输入/输出数据的数据格式。
如前所述,训练数据中的输入数据为运行应用的内核参数以及参数对应的时间戳。而训练数据中的输出数据包括下述的一种或多种:指定时间窗口内的应用对应的QoS指标劣化情况、应用类型和关键资源类型。因此,在预处理时可以从中选择一种或多种作为输出。其中,应用类型和关键资源类型对应的数据格式通常是字符串。在一些可能的实现方式中,可以利用映射表或哈希算法等方法将字符串转换为数字,从而便于对模型进行训练。
模型训练部分:
S207:QoS劣化检测系统100根据预处理过的训练数据训练QoS劣化预测模型。
神经网络模型是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它模拟了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。
而通常一个应用的QoS指标的劣化情况同时受到应用所在的实例包括的资源和处在同一个主机或数据中心的实例包括的资源的影响。具体地,一个应用的QoS指标的劣化情况会受到应用所在的实例包括的处理器资源、内存资源和网络资源等的影响。同时,还有可能受到处在同一个主机或数据中心的实例包括的处理器资源、内存资源和网络资源等的影响。换言之,压力系数的来源多种多样,不仅包括应用所在的实例包括的资源的使用情况,还需要考虑其他应用对于主机或数据中心内资源的抢占。而各种资源对于压力系数的影响难以量化,其他应用对于该应用的影响更是难以量化。因此,神经网络模型这类只需要知道输入与输出的模型适合进行QoS劣化情况的预测。常见的神经网络模型包括深度学习模型、卷积神经网络和长短期记忆网络等。
考虑到输入数据具有明显的时序特征,也即,应用所在的实例的内核参数均具有对应的时间戳,数据存在明显的时序上的先后关系。因此,可以采用长短期记忆网络进行模型的构建。需要说明的是,本申请不对模型的选取进行限定。
可选的,图4示出了一种神经网络模型架构,可以利用多任务学习(multitasklearning)机制构建预测模型。绝大多数神经网络模型都是单任务模型,然而实际上许多任务之间存在一定的相关性,因此通过将存在相关性的任务放在一起学习,可以提升模型训练的效率。
具体地,多任务学习机制中包括主任务(main tasks)和相关任务(relatedtasks)。其中,主任务使用相关任务的训练信号所拥有的领域相关信息,作为一直推导偏差来提升主任务泛化效果的一种机器学习方法。
对应QoS劣化预测模型的训练,如果模型的输出中仅包括QoS劣化情况,模型的训练时间会比较久。但是如果引入另外两个输出(应用类型和关键资源类型),将提升QoS劣化预测模型的训练效率。也即,将输出值为QoS劣化情况的任务定义为主任务,将输出值为应用类型和/或关键资源类型的任务定义为相关任务。
如前所述,不同类型的应用对应的关键资源类型也不同,而QoS劣化曲线的构建正是需要基于关键资源类型中的指标进行。因此,采用多任务学习机制来构建预测模型可以有效地提升模型的训练效率。其中,多任务学习机制可以基于长短期神经网络进行构建。
可选的,在基于多任务学习机制和长短期记忆网络对QoS劣化情况、应用类型和关键资源类型进行预测后,还可以再构建一个神经网络实现对预测值的校正。其中,该神经网络模型的选取和层数等参数不需要和前述的长短期记忆网络一致。
具体的,还可以构建一个浅层神经网络,该神经网络模型的输入为QoS劣化情况的预测值和下述的一种或多种:应用类型的预测误差与关键资源类型的预测误差。而输出为校正后的QoS劣化情况。
需要说明的是,上述浅层神经网络的构建是可选的步骤。此外,当QoS预测模型的训练的次数或误差达到预设的阈值后,可以停止对该模型的训练。
模型调用部分:
S209:QoS劣化检测系统100利用训练好的QoS劣化预测模型预测应用的QoS劣化情况。
在完成S207中的QoS劣化预测模型的训练后,可以将该模型发布至云管理平台,以使得云管理平台上可以根据训练好的QoS劣化预测模型和S201中采集的运行应用的实例在指定时间窗口内的内核参数,获取该应用对应的QoS劣化情况。进一步地,可以根据所述QoS劣化情况,绘制该应用对应的QoS劣化曲线。
可选的,该QoS劣化预测模型的输出还包括:应用的应用类型、应用的关键资源类型。
可选的,该模型也可以发布至机器学习平台或人工智能平台,云管理平台可以通过指定接口从机器学习平台或人工智能平台获取所述应用对应的QoS劣化情况。
可选的,在模型发布之后,随着模型的进一步使用,也将产生越来越多的数据。这些数据可以用于进一步对预测模型进行训练和优化。也即,重复S201-S207的步骤。
基于上述内容描述,本申请实施例提供了一种QoS劣化检测方法。该方法基于神经网络构建QoS劣化预测模型,该模型仅需要以任意应用运行所在的实例的内核参数为输入,即可对确定该应用的QoS劣化情况,避免了以应用为单位逐个进行QoS劣化检测,极大地提升了QoS劣化检测的效率。并且,该方法训练得到的模型可以用于预测未用于训练的未知应用的QoS劣化情况的预测,扩展了QoS劣化检测方法的应用范围。
上文中结合图1至图4,详细描述了本申请所提供的QoS劣化检测方法,下面将结合图5至图9,描述根据本申请所提供的系统和计算设备。
本申请还提供一种QoS劣化检测系统100,如图5所示,包括:
交互单元101,用于在S201中获取运行应用的实例在指定时间窗口内的内核参数、QoS劣化情况、应用类型和关键资源类型。其中,内核参数指示的是运行应用的一个或多个实例所在的至少一个主机的数据。具体地,内核参数包括处理器资源参数、网络资源参数和内存资源参数等。具体地,处理器参数包括CPU利用率和频率等;网络参数包括吞吐量、时延和带宽等;而内存参数包括读写速度和内存占用率等。QoS劣化情况指示的是应用在运行过程中,随着时间或者压力系数的变化产生的QoS劣化情况,而QoS指标的选取可以根据经验进行。应用类型指示的是应用的类型,如前所述,包括电子商务应用、社交应用、办公应用、休闲娱乐应用等类型。关键资源类型指示的是应用主要占用/依赖的资源类型。其中,资源类型包括:处理器资源、内存资源和网络资源等。
处理单元104,用于在S209中,利用训练好的QoS劣化预测模型预测应用的QoS劣化情况的操作也是由处理单元104执行的。
交互单元101,还用于输出在S209中获得的QoS劣化情况。可选的,还用于输出在S209中获得的应用类型和关键资源类型。
存储单元105,用于存储在S201中获得的运行应用的实例在指定时间窗口内的内核参数、QoS劣化情况、应用类型和关键资源类型的数据,以及在S203中通过仿真获得的运行应用的实例在多个时刻的内核参数、QoS劣化情况、应用类型和关键资源类型的数据。在S207中训练好的QoS劣化预测模型中的相关参数也将被存储在存储单元106中。
可选的,在S209中获得的应用的QoS劣化情况也可以存储在存储单元106中。
可选的,处理单元104还包括训练单元102和预测单元103。其中,训练单元102,用于在S104中利用性能测试工具通过仿真获得运行应用的实例在多个时刻的内核参数、QoS劣化情况、应用类型和关键资源类型。在S205中对收集到的训练数据进行预处理的操作也是由训练单元102执行。训练单元102还用于在S207中根据预处理过的训练数据训练QoS劣化预测模型。
预测单元103,用于在S209中,利用训练好的QoS劣化预测模型预测应用的QoS劣化情况。
本申请还提供一种计算设备400。如图6所示,计算设备包括:总线402、处理器404、存储器406和通信接口408。处理器404、存储器406和通信接口408之间通过总线402通信。计算设备400可以是服务器或终端设备。应理解,本申请不限定计算设备400中的处理器、存储器的个数。
总线402可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线404可包括在计算设备400各个部件(例如,存储器406、处理器404、通信接口408)之间传送信息的通路。
处理器404可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器406可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器404还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。存储器406中存储有可执行的程序代码,处理器404执行该可执行的程序代码以实现前述QoS劣化检测方法200。具体的,存储器406上存有QoS劣化检测系统100用于执行QoS劣化检测方法200的指令。
通信接口403使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备400与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。如图7所示,所述计算设备集群包括至少一个计算设备400。计算设备集群中的一个或多个计算设备400中的存储器406中可以存有相同的QoS劣化检测系统100用于执行QoS劣化检测方法200的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备400也可以用于执行QoS劣化检测系统100用于执行QoS劣化检测方法200的部分指令。换言之,一个或多个计算设备400的组合可以共同执行QoS劣化检测系统100用于执行QoS劣化检测方法200的指令。
需要说明的是,计算设备集群中的不同的计算设备400中的存储器406可以存储不同的指令,用于执行QoS劣化检测系统100的部分功能。
图8示出了一种可能的实现方式。如图8所示,两个计算设备400A和400B通过通信接口408实现连接。计算设备400A中的存储器上存有用于执行通信单元101、训练单元102和预测单元103的功能的指令。计算设备400B中的存储器上存有用于执行存储单元105的功能的指令。换言之,计算设备400A和400B的存储器406共同存储了QoS劣化检测系统100用于执行QoS劣化检测方法200的指令。
图8所示的计算设备集群之间的连接方式可以是考虑到本申请提供的QoS劣化检测方法200需要对大量的设备基础信息进行存储。因此,考虑将存储功能交由计算设备400B执行。
应理解,图8中示出的计算设备400A的功能也可以由多个计算设备400完成。同样,计算设备400B的功能也可以由多个计算设备400完成。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图9示出了一种可能的实现方式。如图9所示,两个计算设备400C和400D之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备400C中的存储器406中存有执行通信单元101的指令。同时,计算设备400D中的存储器406中存有执行训练单元102、预测单元103和存储单元105的指令。
图9所示的计算设备集群之间的连接方式可以是考虑到本申请提供的QoS劣化检测方法200需要对大量的设备基础信息进行存储,和执行大量的模型训练和预测操作,因此考虑将训练单元102、预测单元103和存储单元105实现的功能交由计算设备400D执行。
应理解,图9中示出的计算设备400C的功能也可以由多个计算设备400完成。同样,计算设备400D的功能也可以由多个计算设备400完成。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于QoS劣化检测系统100用于执行QoS劣化检测方法200。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算机设备上运行时,使得至少一个计算机设备执行上述QoS劣化检测方法200。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (19)

1.一种服务质量QoS劣化检测方法,其特征在于,包括:
云管理平台提供参数获取接口,所述参数获取接口用于获取运行第一应用的一个或多个实例所在的至少一个主机的内核参数;
所述云管理平台将从所述参数获取接口获取的所述内核参数输入QoS劣化预测模型,获得所述第一应用的QoS劣化情况,其中,所述第一应用的QoS劣化情况用于指示所述第一应用的QoS性能降低的情况。
2.如权利要求1所述的方法,其特征在于,所述将从所述参数获取接口获取的所述内核参数输入QoS劣化预测模型,获得所述第一应用的QoS劣化情况前,所述方法还包括:
所述云管理平台获取训练数据,所述训练数据包括运行第二应用的一个或多个实例所在的至少一个主机的内核参数、所述第二应用的QoS劣化情况,其中,所述第二应用的QoS劣化情况用于指示所述第二应用的QoS性能降低的情况;
所述云管理平台利用所述训练数据进行模型的训练,以获得所述QoS劣化预测模型。
3.如权利要求2所述的方法,其特征在于,所述训练数据还包括所述第二应用的应用类型和所述第二应用的关键资源类型,其中,所述第二应用的关键资源类型指示所述第二应用依赖的资源。
4.如权利要求1至3中任一所述的方法,其特征在于,所述内核参数包括下述的一种或多种:
处理器资源参数、内存资源参数、网络资源参数。
5.如权利要求1至4中任一所述的方法,其特征在于,所述将所述内核参数输入QoS劣化预测模型,获得所述第一应用的QoS劣化情况,还包括:
将所述内核参数输入所述QoS劣化预测模型,获得所述第一应用的QoS劣化情况和/或下述的一种或多种:
所述第一应用的应用类型、所述第一应用的关键资源类型,其中,所述第一应用的关键资源类型指示所述第一应用依赖的资源。
6.如权利要求2或3所述的方法,其特征在于,利用性能测试工具运行所述第二应用,其中,所述性能测试工具用于模拟并产生可以使得所述第二应用运行的指令。
7.如权利要求1至6中任一所述的方法,其特征在于,所述第一应用运行于公有云场景中。
8.如权利要求1至7中任一所述的方法,其特征在于,所述QoS劣化预测模型运行于人工智能平台。
9.一种服务质量QoS劣化检测系统,其特征在于,包括:
通信单元,用于提供参数获取接口,所述参数获取接口用于获取运行第一应用的一个或多个实例所在的至少一个主机的内核参数;
处理单元,用于将从所述参数获取接口获取的所述内核参数输入QoS劣化预测模型,获得所述第一应用的QoS劣化情况,其中,所述第一应用的QoS劣化情况用于指示所述第一应用的QoS性能降低的情况。
10.如权利要求9所述的系统,其特征在于,所述通信单元,用于获取训练数据,所述训练数据包括运行第二应用的一个或多个实例所在的至少一个主机的内核参数、所述第二应用的QoS劣化情况,其中,所述第二应用的QoS劣化情况用于指示所述第二应用的QoS性能降低的情况;
所述处理单元,用于利用所述训练数据进行模型的训练,以获得所述QoS劣化预测模型。
11.如权利要求10所述的系统,其特征在于,所述训练数据还包括所述第二应用的应用类型和所述第二应用的关键资源类型,其中,所述第二应用的关键资源类型指示所述第二应用依赖的资源。
12.如权利要求9至11中任一所述的系统,其特征在于,所述内核参数包括下述的一种或多种:
处理器资源参数、内存资源参数、网络资源参数。
13.如权利要求9至12中任一所述的系统,其特征在于,所述处理单元,还用于将所述内核参数输入所述QoS劣化预测模型,获得所述第一应用的QoS劣化情况和/或下述的一种或多种:
所述第一应用的应用类型、所述第一应用的关键资源类型,其中,所述第一应用的关键资源类型指示所述第一应用依赖的资源。
14.如权利要求10或11所述的系统,其特征在于,所述处理单元,还用于利用性能测试工具运行所述第二应用,其中,所述性能测试工具用于模拟并产生可以使得所述第二应用运行的指令。
15.如权利要求9至14中任一所述的方法,其特征在于,所述第一应用运行于公有云场景中。
16.如权利要求9至15中任一所述的方法,其特征在于,所述QoS劣化预测模型运行于人工智能平台。
17.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至8中任一所述的方法。
18.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如权利要求的1至8中任一所述的方法。
19.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至8中任一所述的方法。
CN202210197573.2A 2022-03-02 2022-03-02 服务质量劣化的检测方法、系统及存储介质 Pending CN116737309A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210197573.2A CN116737309A (zh) 2022-03-02 2022-03-02 服务质量劣化的检测方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210197573.2A CN116737309A (zh) 2022-03-02 2022-03-02 服务质量劣化的检测方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN116737309A true CN116737309A (zh) 2023-09-12

Family

ID=87904874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210197573.2A Pending CN116737309A (zh) 2022-03-02 2022-03-02 服务质量劣化的检测方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN116737309A (zh)

Similar Documents

Publication Publication Date Title
TWI620075B (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
US11429434B2 (en) Elastic execution of machine learning workloads using application based profiling
US11144289B1 (en) Dynamic automation of selection of pipeline artifacts
US20210042628A1 (en) Building a federated learning framework
US10585717B2 (en) Hybrid acceleration in a processing environment
US11568242B2 (en) Optimization framework for real-time rendering of media using machine learning techniques
US11188517B2 (en) Annotation assessment and ground truth construction
US20200409731A1 (en) Machine-learning based heap memory tuning
US11294884B2 (en) Annotation assessment and adjudication
US11972382B2 (en) Root cause identification and analysis
US20230034173A1 (en) Incident resolution
US11663505B2 (en) Estimating performance and required resources from shift-left analysis
WO2023072443A1 (en) Workload migration
US20210056457A1 (en) Hyper-parameter management
US20230137184A1 (en) Incremental machine learning for a parametric machine learning model
US20230236922A1 (en) Failure Prediction Using Informational Logs and Golden Signals
WO2022111112A1 (en) Automatically adjusting data access policies in data analytics
US11775655B2 (en) Risk assessment of a container build
WO2022022572A1 (en) Calculating developer time during development process
US20220122038A1 (en) Process Version Control for Business Process Management
CN116737309A (zh) 服务质量劣化的检测方法、系统及存储介质
US20230072913A1 (en) Classification based on imbalanced dataset
US11150971B1 (en) Pattern recognition for proactive treatment of non-contiguous growing defects
US20230161846A1 (en) Feature selection using hypergraphs
US20220405631A1 (en) Data quality assessment for unsupervised machine learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication