CN112749724A - 训练分类器、预测应用性能扩展性的方法、设备 - Google Patents

训练分类器、预测应用性能扩展性的方法、设备 Download PDF

Info

Publication number
CN112749724A
CN112749724A CN201911055704.8A CN201911055704A CN112749724A CN 112749724 A CN112749724 A CN 112749724A CN 201911055704 A CN201911055704 A CN 201911055704A CN 112749724 A CN112749724 A CN 112749724A
Authority
CN
China
Prior art keywords
performance
application
sample
standard configuration
category
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
CN201911055704.8A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911055704.8A priority Critical patent/CN112749724A/zh
Publication of CN112749724A publication Critical patent/CN112749724A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches

Abstract

本申请提供了一种预测应用性能扩展性的方案,该方案基于多个样本应用的性能拓展信息进行聚类,并通过聚类结果和样本应用的底层特征指标训练分类器,在预测目标应用性能扩展性时,仅需要获得目标应用在标准配置下的底层特征指标,无需在感知不同配置下的性能指标,因此应用场景不会受限于QoS‑aware的场景,不仅可以适用于私有云环境,同样也适用于公有云。并且处理过程中也不需要执行复制操作,而底层特征指标的采集开销也远小于复制操作,因此操作开销小、不存在数据安全隐患。

Description

训练分类器、预测应用性能扩展性的方法、设备
技术领域
本申请涉及信息技术领域,尤其涉及一种训练分类器、预测应用性能扩展性的方法、设备。
背景技术
资源配置是应用在云平台上部署时的重要步骤,不合理的资源配置会造成资源浪费或者是应用QoS(Quality of Service,服务质量)无法满足的情况。一次合理的资源配置往往会消耗大量的人力物力与时间,现有的资源配置方式存在下列问题:
1、为了解目标应用在不同配置下的性能表现,需要测试该应用在不同配置下的性能数据,这会消耗大量的资源与时间。且一旦目标应用或者运行环境有了更新或变化,之前的资源配置结果将会失效,需要重新为应用进行资源配置,这极大的拉低了效率,加大了人力、物力、时间成本。
2、在资源配置的过程中,需要技术人员对上层的目标应用以及底层的性能、系统等知识都有详细的了解,才能保证规划结果的合理性。这拉高了资源配置的技术门槛。
合理的资源配置的目的是在满足性能要求的前提下,为应用规划合理的配置,使得达到资源和性能之间的平衡,即不浪费资源也不会使得应用的QoS无法满足要求。因此,预测应用性能的扩展性是进行合理资源配置的一项重要前提,若能够准确、方便地预测应用性能扩展性,那么即可降低资源配置的成本和难度。
目前存在一种通过协同过滤的方式来预测应用扩展性的方法,该方案中扩展性预测的模型分为Offline与Online两个部分。Offline的部分会分析一些已知应用集合中的应用(可以是基准应用或实际应用组成)。测量这些应用的在不同规格的配置下的性能,得到每个应用的性能扩展矩阵。当一个未知的目标应用到来,Online的部分会复制一份该目标应用到一台新机器,在新机器上调整分配给该目标应用的资源,得到目标应用在某几个配置下的性能指标,(即性能扩展矩阵中的几个点)。最后使用协同过滤的方式,结合Offline部分保存下的各应用的性能扩展矩阵,将目标应用的已知的稀疏的性能扩展矩阵补全完整,得到目标应用的完整的性能扩展矩阵。但是该方案存在以下缺点:
1、只适用于QoS-aware的场景:上面提到的模型在预测应用的性能扩展矩阵时,需要以目标应用的性能扩展矩阵中的某几个点的值为基础,使用协同过滤补全。在获取这几个点的值的过程中,必须要能够感知到目标应用在这些配置下的QoS,因此只适用于可以获取到应用的性能情况的场景中,如私有云。
2、Online的部分在分析一个未知的目标应用时,需要复制该未知应用以及对应的请求到另一台新机器中。上述操作开销较大,且复制操作可能会引发用户对数据安全的担忧,不适用于公有云的场景。
综上,现有的预测应用性能扩展性的方案中应用场景单一、操作开销较大,且存在数据安全隐患。
申请内容
本申请的一个目的是提供一种训练分类器以及预测应用性能扩展性的方案,用以解决现有方案中应用场景单一、操作开销较大,且存在数据安全隐患的问题。
本申请实施例中提供了一种预测应用性能扩展性的方法,该方法包括:
采集目标应用在标准配置下的底层特征指标;
将目标应用在标准配置下的底层特征指标输入分类器,获得所述目标应用所属的类别,并获得目标应用的性能拓展信息,其中,所述分类器是以类别中的样本应用在标准配置下的底层特征指标作为输入、以样本应用的类别作为标签训练获得,所述样本应用的类别根据性能拓展信息对所述样本应用进行聚类获得,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比,所述目标应用的性能拓展信息根据目标应用所属的类别中样本应用的性能拓展信息确定。
本申请实施例还提供了一种训练用于应用性能扩展性预测的分类器的方法,该方法包括:
获取多个样本应用的性能拓展信息,其中,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比;
根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别;
以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器,所述训练器用于在输入目标应用在标准配置下的底层特征指标时,输出所述目标应用所属的类别,所述目标应用所属的类别中样本应用的性能拓展信息用于确定所述目标应用的性能拓展信息。
本申请实施例还提供了一种预测应用性能扩展性的设备,该设备包括:
采集模块,用于采集目标应用在标准配置下的底层特征指标;
性能预测模块,用于将目标应用在标准配置下的底层特征指标输入分类器,获得所述目标应用所属的类别,并获得目标应用的性能拓展信息,其中,所述分类器是以类别中的样本应用在标准配置下的底层特征指标作为输入、以样本应用的类别作为标签训练获得,所述样本应用的类别根据性能拓展信息对所述样本应用进行聚类获得,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比所述目标应用的性能拓展信息根据目标应用所属的类别中样本应用的性能拓展信息确定。
本申请实施例还提供了一种训练用于应用性能扩展性预测的分类器的设备,该设备包括:
样本获取模块,用于获取多个样本应用的性能拓展信息,其中,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比;
聚类模块,用于根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别;
分类训练模块,用于以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器,所述训练器用于在输入目标应用在标准配置下的底层特征指标时,输出所述目标应用所属的类别,所述目标应用所属的类别中样本应用的性能拓展信息用于确定所述目标应用的性能拓展信息。
此外,本申请实施例还提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述的方法。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述的方法。
本申请实施例提供的训练分类器的方案中,获取多个样本应用的性能拓展信息,并以此进行对样本应用进行聚类,而后以类别中的样本应用在标准配置下的底层特征指标作为输入,以聚类的结果作为标签,训练分类器。基于训练好的分类器,可以采集目标应用在标准配置下的底层特征指标输入分类器后,即可确定所述目标应用所属的类别以及目标应用的性能拓展信息。由于仅需要获得目标应用在标准配置下的底层特征指标,无需获取不同配置下的性能指标,并且也不需要执行复制操作,因此,应用场景不会受限于QoS-aware的场景,且操作开销小、不存在数据安全隐患。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供方案中训练分类器以及基于该分类器预测应用性能扩展性的处理流程图;
图2为本申请实施例中一种应用的性能扩展曲线示意图;
图3为本申请实施例提供的一种训练用于预测应用性能扩展性的分类器的设备的结构示意图;
图4为本申请实施例提供的一种预测应用性能扩展性的设备的结构示意图;
图5为本申请实施例提供的一种计算设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供的方案中,基于多个样本应用的性能拓展信息进行聚类,并通过聚类结果和样本应用的底层特征指标训练分类器,在预测目标应用性能扩展性时,仅需要获得目标应用在标准配置下的底层特征指标,无需在感知不同配置下的性能指标,因此应用场景不会受限于QoS-aware的场景,不仅可以适用于私有云环境,同样也适用于公有云。并且处理过程中也不需要执行复制操作,而底层特征指标的采集开销也远小于复制操作,因此操作开销小、不存在数据安全隐患。
在实际场景中,该方案的执行主体可以是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备。其中,所述用户设备包括但不限于个人计算机、智能手机、平板电脑等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图1示出了本申请实施例提供的方案在训练分类器以及基于该分类器预测应用性能扩展性时的处理流程,该方法包括以下处理步骤:
步骤S101,获取多个样本应用的性能拓展信息。其中,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比,用于描述性能随配置改变时的变化情况。所述配置是指为应用所分配的资源规格,可以包括计算资源、内存资源等具体参数,在实际场景中所述计算资源可以用分配的计算核心(core)数量来量化,而内存资源可以用分配的内存(memory)大小来量化。所述性能指标是指用来衡量设备在特定配置下的性能的值,例如可以采用QoS来表示,也可以是将不同类型的具体值进行标准化处理之后的数据。
在实际场景中,所述性能拓展信息的具体形式可以是性能拓展曲面,所述性能拓展曲面基于性能加速比向量确定,所述性能加速比向量由所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标之间的加速比组成。图2示出了一种应用的性能扩展曲面,其中,配置包括了core和memory,而性能指标采用了normalized speed,该性能指标即为通过标准化处理后获得的、用于表示特定配置下的性能的数据。由此,基于上述三个维度(即core、memory和normalized speed),其性能拓展信息的具体形式表现为一个三维曲面,该曲面上的每一个点表示样本应用在对应配置下的性能指标相对于其在标准配置下的加速比。所述标准配置是指应用默认的一种标准配置,可以由人为设定。例如对于一个样本应用A,可以设定其默认配置为6个core、8G的memory,在此标准配置下假设其性能指标normalized speed为1,该样本应用A的性能拓展曲面中,12个core、2G的memory对应的normalized speed为0.8,由此可以确定性能指标的加速比为0.8,即在12个core、2G的memory的配置下,相对于标准配置下的性能降低了20%,而在4个core、12G的memory或者8个core、6G的memory的配置下,对应的normalized speed均为1,由此可以确定这两种配置下的性能指标的加速比均为1.0。
此外,可以根据实际场景调整配置参数以及性能指标的数量,以适应实际场景的需求。相应地,性能拓展信息的具体形式也会随之变化,例如若调整的配置中仅涉及memory,此时性能拓展信息的具体形式即为二维平面上的曲线,若配置的参数或者性能指标更多时,则可以在更加高维的空间中描述性能拓展信息。
所述样本应用的性能拓展信息可以来自已知应用运行的历史数据,在选取样本应用时可以选取便于获得相关数据(性能拓展信息的配置、性能指标等)的典型应用,由此可以方便进行后续的聚类和分类器训练。
步骤S102,根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别。聚类的处理用于将具有类似性能拓展信息的样本应用归入同一个类别,由此使得同一类别内的样本应用之间的类似性能拓展信息具有一定的相似性。
例如,本实施例中可以采用K-Means算法实现聚类,随机从样本应用中选取K个对象作为初始的聚类中心,然后将剩余的样本应用逐个分配至距离最近的聚类中心,属于同一聚类中心的对象就代表一个类别。在分配过程中每分配一个样本应用,聚类中心会根据类别中现有的对象重新计算,由此,这个过程将不断重复直到满足聚类中心不再发生变化,最终聚类成多个类别。
步骤S103,以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器。其中,所述底层特征指标是指应用运行时操作系统底层参数的值,例如可以是处理器的PMU(Performance Monitor Unit,性能监控单元)数据。以linux操作系统为例,可以是node-load-misses、cpu.shares、cpu-cycles、cache-misses、cache-references等,实际场景中可以基于Cgroup机制导出数据或者任意基于Perf Event框架的工具采集获得。
本申请实施例中的分类算法可以是MLP(Multi-Layer Perception,多层感知器)和KNN(K-NearestNeighbor,K近邻)算法等,通过将类别中的样本应用在标准配置下的底层特征指标作为输入,以类别作为标签,进行有监督的学习。训练完成的分类器,可以在输入标准配置下的底层特征指标时,可以输出应用所属的类别。
在此,本领域技术人员应能理解上述实现聚类和分类的具体算法仅为举例,实际场景中可以根据不同的处理需求采用任意适用的算法,其他现有的或今后可能出现的其它方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在实际场景中,不同的底层特征指标之间可能并不独立,会存在一定的相关性,因此可以对所述样本应用在标准配置下的底层特征指标进行数据降维,降低冗余度,以获得预设维度的底层特征指标。例如,在本申请的一些实施例中,首先可以把50维的底层特征指标进行去中心化处理,找到其中的公共因子,并将去中心化后的底层特征指标映射到低维空间中,由此会得到50个低维坐标向量,然后对低维坐标向量进行聚类,取聚类中心所对应的底层特征指标,作为筛选的底层特征指标。降维之后的预设维度可以根据实际需求设定,例如对于50维的底层特征指标可以将其降低至10维或者20维等。例如当预设维度为20个时,可以筛选出如下表所示的底层特征指标:
node-load-misses dTLB-store-misses cpu.shares inactive_anon pgpgin
memory.limit_in_bytes dTLB-load-misses cpu_cycles active_anon pgfault
instructions_per_cycle LLC-store-misses node-stores cache-misses dirty
cache-references cpuacct.usage node-loads pgmajfault cache
此外,也可以采用主成分分析的方式,从采集到的底层特征指标中提取出预设维度的主成分,作为数据降维的结果,或者也可以采用人工的方式预先设定筛选的底层特征指标。
由于降维后可以降低底层特征指标之间的相关性,可以在不影响分类器训练、分类准确度的情况下,降低处理的复杂度,提高处理效率。
在完成分类器的训练之后,可以基于所述分类器预测应用性能扩展性,预测过程包括如下步骤:
步骤S104,采集目标应用在标准配置下的底层特征指标;
步骤S105,将目标应用在标准配置下的底层特征指标输入分类器,获得所述目标应用所属的类别,并获得目标应用的性能拓展信息。所述目标应用即为需要预测性能扩展性的应用,在采集到目标应用在标准配置下的底层特征指标后,将其输入分类器即可输出所述目标应用所属的类别。
而所述目标应用的性能拓展信息则可以根据目标应用所属的类别中样本应用的性能拓展信息确定。例如,可以在获得聚类的结果之后,根据同一类别中的样本应用的性能拓展信息,计算出该类别的一个综合性能扩展信息,具体的计算方式可以是:计算同一类别中的样本应用的性能拓展信息的平均值,即对属于同一类别的样本应用的性能扩展信息进行加和取平均值的处理,以作为对应类别的综合性能拓展信息。进而,可以将所述目标应用所属的类别的综合性能拓展信息,确定为所述目标应用的性能拓展信息。
由此,仅需要获得目标应用在标准配置下的底层特征指标,无需获取不同配置下的性能指标,并且也不需要执行复制操作,因此,应用场景不会受限于QoS-aware的场景,且操作开销小、不存在数据安全隐患。
由此,本方案通过聚类和分类的处理较为简单地预测应用性能扩展性之后,即可快速预测出应用在特定目标配置下的性能指标,而无需在不同配置下对应用进行实际的测试,可以大大提高资源配置的效率,并降低处理成本。由此,本申请实施例的方案用于应用规格推荐,高效、准确地给给出目标应用需要的高性价比配置。此外,本申请实施例的方案也可以用于超卖指导,使得云服务能够实现合理、智能的超卖,提升云平台中资源的利用率。例如,一个目标应用的性能扩展信息表现出该应用的性能指标随其中一项CPU资源的配置变化起伏较小,则可以对该目标应用的CPU资源进行超卖,以最大化的利用云平台中的CPU资源。
为了提高处理效率,在将采集到的目标应用在标准配置下的底层特征指标输入分类器时,也可以先对所述目标应用在标准配置下的底层特征指标进行数据降维,获得预设维度的底层特征指标,然后将所述预设维度的底层特征指标输入分类器。在实际场景中,预设维度的底层特征指标可以预先基于前述降维的方式确定,每次采集时可以直接采集目标应用在标准配置下的所述预设维度的底层特征指标,并将其输入分类器。
在本申请的另一些实施例中,在确定目标应用的性能拓展信息之后,还可以获取目标应用在标准配置下的性能指标,结合目标应用的性能拓展信息,预测所述目标应用在目标配置下的性能指标。由于目标应用的性能拓展信息能够表示其在不同非标准配置下的性能指标相对于在标准配置下的性能指标的加速比,在标准配置下的性能指标已知的情况下,可以基于性能拓展信息快速确定目标应用在目标配置下的加速比,进而预测出所述目标应用在目标配置下的性能指标。例如,标准配置下的性能指标为N,而目标配置下的性能指标相对于在标准配置下的性能指标的加速比为2.0,由此可以预测该目标应用在目标配置下的性能指标是2N。
由此,本方案通过聚类和分类的处理较为简单地预测应用性能扩展性之后,即可快速预测出应用在特定目标配置下的性能指标,而无需在不同配置下对应用进行实际的测试,可以大大提高资源配置的效率,并降低处理成本。由此,本申请实施例的方案用于应用规格推荐,高效、准确地给给出目标应用需要的高性价比配置。此外,本申请实施例的方案也可以用于超卖指导,使得云服务能够实现合理、智能的超卖,提升云平台中资源的利用率。例如,一个目标应用的性能扩展信息表现出该应用的性能指标随其中一项CPU资源的配置变化起伏较小,则可以对该目标应用的CPU资源进行超卖,以最大化的利用云平台中的CPU资源。
基于同一发明构思,本申请实施例中还提供了训练分类器以及预测应用性能扩展性的设备,所述设备对应的方法是前述实施例中训练分类器的方法以及预测应用性能扩展性的方法,并且其解决问题的原理与该方法相似。
本申请实施例提供的一种训练分类器以及预测应用性能扩展性的设备所实现的方案基于多个样本应用的性能拓展信息进行聚类,并通过聚类结果和样本应用的底层特征指标训练分类器,在预测目标应用性能扩展性时,仅需要获得目标应用在标准配置下的底层特征指标,无需在感知不同配置下的性能指标,因此应用场景不会受限于QoS-aware的场景,不仅可以适用于私有云环境,同样也适用于公有云。并且处理过程中也不需要执行复制操作,而底层特征指标的采集开销也远小于复制操作,因此操作开销小、不存在数据安全隐患。
在实际场景中,所述设备可以是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备。其中,所述用户设备包括但不限于个人计算机、智能手机、平板电脑等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图3示出了本申请实施例提供的一种训练用于应用性能扩展性预测的分类器的设备的结构,该设备包括:样本获取模块310、聚类模块320、分类训练模块330。所述样本获取模块310获取多个样本应用的性能拓展信息,所述聚类模块320根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别。所述分类训练模块330用于以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器。
由此,采用上述设备可以完成分类器的训练,本申请实施例提供的一种预测应用性能扩展性的设备可以基于该分类器实现应用性能拓展性的预测。图4示出了所述预测应用性能扩展性的设备的一种结构,包括采集模块410、性能预测模块420。所述采集模块410用于采集目标应用在标准配置下的底层特征指标,性能预测模块420用于将目标应用在标准配置下的底层特征指标输入分类器,获得所述目标应用所属的类别,并获得目标应用的性能拓展信息,其中,所述目标应用的性能拓展信息根据目标应用所属的类别中样本应用的性能拓展信息确定。
所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比,用于描述性能随配置改变时的变化情况。所述配置是指为应用所分配的资源规格,可以包括计算资源、内存资源等具体参数,在实际场景中所述计算资源可以用分配的计算核心(core)数量来量化,而内存资源可以用分配的内存(memory)大小来量化。所述性能指标是指用来衡量设备在特定配置下的性能的值,例如可以采用QoS来表示,也可以是将不同类型的具体值进行标准化处理之后的数据。
在实际场景中,所述性能拓展信息的具体形式可以是性能拓展曲面,所述性能拓展曲面基于性能加速比向量确定,所述性能加速比向量由所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标之间的加速比组成。图2示出了一种应用的性能扩展曲面,其中,配置包括了core和memory,而性能指标采用了normalized speed,该性能指标即为通过标准化处理后获得的、用于表示特定配置下的性能的数据。由此,基于上述三个维度(即core、memory和normalized speed),其性能拓展信息的具体形式表现为一个三维曲面,该曲面上的每一个点表示样本应用在对应配置下的性能指标相对于其在标准配置下的加速比。所述标准配置是指应用默认的一种标准配置,可以由人为设定。例如对于一个样本应用A,可以设定其默认配置为6个core、8G的memory,在此标准配置下假设其性能指标normalized speed为1,该样本应用A的性能拓展曲面中,12个core、2G的memory对应的normalized speed为0.8,由此可以确定性能指标的加速比为0.8,即在12个core、2G的memory的配置下,相对于标准配置下的性能降低了20%,而在4个core、12G的memory或者8个core、6G的memory的配置下,对应的normalized speed均为1,由此可以确定这两种配置下的性能指标的加速比均为1.0。
此外,可以根据实际场景调整配置参数以及性能指标的数量,以适应实际场景的需求。相应地,性能拓展信息的具体形式也会随之变化,例如若调整的配置中仅涉及memory,此时性能拓展信息的具体形式即为二维平面上的曲线,若配置的参数或者性能指标更多时,则可以在更加高维的空间中描述性能拓展信息。
所述样本应用的性能拓展信息可以来自已知应用运行的历史数据,在选取样本应用时可以选取便于获得相关数据(性能拓展信息的配置、性能指标等)的典型应用,由此可以方便进行后续的聚类和分类器训练。
聚类的处理用于将具有类似性能拓展信息的样本应用归入同一个类别,由此使得同一类别内的样本应用之间的类似性能拓展信息具有一定的相似性。
例如,本实施例中可以采用K-Means算法实现聚类,随机从样本应用中选取K个对象作为初始的聚类中心,然后将剩余的样本应用逐个分配至距离最近的聚类中心,属于同一聚类中心的对象就代表一个类别。在分配过程中每分配一个样本应用,聚类中心会根据类别中现有的对象重新计算,由此,这个过程将不断重复直到满足聚类中心不再发生变化,最终聚类成多个类别。
所述底层特征指标是指应用运行时操作系统底层参数的值,例如可以是处理器的PMU(Performance Monitor Unit,性能监控单元)数据。以linux操作系统为例,可以是node-load-misses、cpu.shares、cpu-cycles、cache-misses、cache-references等,实际场景中可以基于Cgroup机制导出数据或者任意基于Perf Event框架的工具采集获得。
本申请实施例中的分类算法可以是MLP(Multi-Layer Perception,多层感知器)和KNN(K-NearestNeighbor,K近邻)算法等,通过将类别中的样本应用在标准配置下的底层特征指标作为输入,以类别作为标签,进行有监督的学习。训练完成的分类器,可以在输入标准配置下的底层特征指标时,可以输出应用所属的类别。
在此,本领域技术人员应能理解上述实现聚类和分类的具体算法仅为举例,实际场景中可以根据不同的处理需求采用任意适用的算法,其他现有的或今后可能出现的其它方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在实际场景中,不同的底层特征指标之间可能并不独立,会存在一定的相关性,因此所述采集模块可以对所述样本应用在标准配置下的底层特征指标进行数据降维,降低冗余度,以获得预设维度的底层特征指标。例如,在本申请的一些实施例中,首先可以把50维的底层特征指标进行去中心化处理,找到其中的公共因子,并将去中心化后的底层特征指标映射到低维空间中,由此会得到50个低维坐标向量,然后对低维坐标向量进行聚类,取聚类中心所对应的底层特征指标,作为筛选的底层特征指标。降维之后的预设维度可以根据实际需求设定,例如对于50维的底层特征指标可以将其降低至10维或者20维等。例如当预设维度为20个时,可以筛选出如下表所示的底层特征指标:
node-load-misses dTLB-store-misses cpu.shares inactive_anon pgpgin
memory.limit_in_bytes dTLB-load-misses cpu_cycles active_anon pgfault
instructions_per_cycle LLC-store-misses node-stores cache-misses dirty
cache-references cpuacct.usage node-loads pgmajfault cache
此外,也可以采用主成分分析的方式,从采集到的底层特征指标中提取出预设维度的主成分,作为数据降维的结果,或者也可以采用人工的方式预先设定筛选的底层特征指标。
由于降维后可以降低底层特征指标之间的相关性,可以在不影响分类器训练、分类准确度的情况下,降低处理的复杂度,提高处理效率。
所述目标应用即为需要预测性能扩展性的应用,在采集到目标应用在标准配置下的底层特征指标后,将其输入分类器即可输出所述目标应用所属的类别。
而所述目标应用的性能拓展信息则可以根据目标应用所属的类别中样本应用的性能拓展信息确定。例如,性能预测模块可以在获得聚类的结果之后,根据同一类别中的样本应用的性能拓展信息,计算出该类别的一个综合性能扩展信息,具体的计算方式可以是:计算同一类别中的样本应用的性能拓展信息的平均值,即对属于同一类别的样本应用的性能扩展信息进行加和取平均值的处理,以作为对应类别的综合性能拓展信息。进而,性能预测模块可以将所述目标应用所属的类别的综合性能拓展信息,确定为所述目标应用的性能拓展信息。
由此,仅需要获得目标应用在标准配置下的底层特征指标,无需获取不同配置下的性能指标,并且也不需要执行复制操作,因此,应用场景不会受限于QoS-aware的场景,且操作开销小、不存在数据安全隐患。
由此,本方案通过聚类和分类的处理较为简单地预测应用性能扩展性之后,即可快速预测出应用在特定目标配置下的性能指标,而无需在不同配置下对应用进行实际的测试,可以大大提高资源配置的效率,并降低处理成本。由此,本申请实施例的方案用于应用规格推荐,高效、准确地给给出目标应用需要的高性价比配置。此外,本申请实施例的方案也可以用于超卖指导,使得云服务能够实现合理、智能的超卖,提升云平台中资源的利用率。例如,一个目标应用的性能扩展信息表现出该应用的性能指标随其中一项CPU资源的配置变化起伏较小,则可以对该目标应用的CPU资源进行超卖,以最大化的利用云平台中的CPU资源。
为了提高处理效率,在将采集到的目标应用在标准配置下的底层特征指标输入分类器时,也可以先对所述目标应用在标准配置下的底层特征指标进行数据降维,获得预设维度的底层特征指标,然后将所述预设维度的底层特征指标输入分类器。在实际场景中,预设维度的底层特征指标可以预先基于前述降维的方式确定,每次采集时可以直接采集目标应用在标准配置下的所述预设维度的底层特征指标,并将其输入分类器。
在本申请的另一些实施例中,所述性能预测模块还可以在确定目标应用的性能拓展信息之后,获取目标应用在标准配置下的性能指标,结合目标应用的性能拓展信息,预测所述目标应用在目标配置下的性能指标。由于目标应用的性能拓展信息能够表示其在不同非标准配置下的性能指标相对于在标准配置下的性能指标的加速比,在标准配置下的性能指标已知的情况下,可以基于性能拓展信息快速确定目标应用在目标配置下的加速比,进而预测出所述目标应用在目标配置下的性能指标。例如,标准配置下的性能指标为N,而目标配置下的性能指标相对于在标准配置下的性能指标的加速比为2.0,由此可以预测该目标应用在目标配置下的性能指标是2N。
由此,本方案通过聚类和分类的处理较为简单地预测应用性能扩展性之后,即可快速预测出应用在特定目标配置下的性能指标,而无需在不同配置下对应用进行实际的测试,由此可以大大提高资源配置的效率,并降低处理成本。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一些实施例包括一个如图5所示的计算设备,该设备包括存储有计算机可读指令的一个或多个存储器510和用于执行计算机可读指令的处理器520,其中,当该计算机可读指令被该处理器执行时,使得所述设备执行基于前述本申请的多个实施例的方法和/或技术方案。
此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (18)

1.一种预测应用性能扩展性的方法,其中,该方法包括:
采集目标应用在标准配置下的底层特征指标;
将目标应用在标准配置下的底层特征指标输入分类器,获得所述目标应用所属的类别,并获得目标应用的性能拓展信息,其中,所述分类器是以类别中的样本应用在标准配置下的底层特征指标作为输入、以样本应用的类别作为标签训练获得,所述样本应用的类别根据性能拓展信息对所述样本应用进行聚类获得,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比,所述目标应用的性能拓展信息根据目标应用所属的类别中样本应用的性能拓展信息确定。
2.根据权利要求1所述的方法,其中,该方法还包括:
获取目标应用在标准配置下的性能指标,结合所述目标应用的性能拓展信息,预测所述目标应用在目标配置下的性能指标。
3.根据权利要求1所述的方法,其中,获得目标应用的性能拓展信息,包括:
计算同一类别中的样本应用的性能拓展信息的平均值,以作为对应类别的综合性能拓展信息;
将所述目标应用所属的类别的综合性能拓展信息,确定为所述目标应用的性能拓展信息。
4.根据权利要求1所述的方法,其中,在采集目标应用在标准配置下的底层特征指标之前,还包括:
获取多个样本应用的性能拓展信息,其中,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比;
根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别;
以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器。
5.根据权利要求4所述的方法,其中,以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器之前,还包括:
对所述样本应用在标准配置下的底层特征指标进行数据降维,获得预设维度的底层特征指标。
6.根据权利要求1所述的方法,其中,采集目标应用在标准配置下的底层特征指标,包括:
采集目标应用在标准配置下的底层特征指标,对所述目标应用在标准配置下的底层特征指标进行数据降维,获得预设维度的底层特征指标。
7.根据权利要求1至6中任一项所述的方法,其中,所述性能拓展信息为性能拓展曲面,所述性能拓展曲面基于性能加速比向量确定,所述性能加速比向量由所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标之间的加速比组成。
8.一种训练用于应用性能扩展性预测的分类器的方法,其中,该方法包括:
获取多个样本应用的性能拓展信息,其中,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比;
根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别;
以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器,所述训练器用于在输入目标应用在标准配置下的底层特征指标时,输出所述目标应用所属的类别,所述目标应用所属的类别中样本应用的性能拓展信息用于确定所述目标应用的性能拓展信息。
9.一种预测应用性能扩展性的设备,其中,该设备包括:
采集模块,用于采集目标应用在标准配置下的底层特征指标;
性能预测模块,用于将目标应用在标准配置下的底层特征指标输入分类器,获得所述目标应用所属的类别,并获得目标应用的性能拓展信息,其中,所述分类器是以类别中的样本应用在标准配置下的底层特征指标作为输入、以样本应用的类别作为标签训练获得,所述样本应用的类别根据性能拓展信息对所述样本应用进行聚类获得,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比所述目标应用的性能拓展信息根据目标应用所属的类别中样本应用的性能拓展信息确定。
10.根据权利要求9所述的设备,其中,所述性能预测模块,还用于获取目标应用在标准配置下的性能指标,结合目标应用的性能拓展信息,预测所述目标应用在目标配置下的性能指标。
11.根据权利要求9所述的设备,其中,所述性能预测模块,用于计算同一类别中的样本应用的性能拓展信息的平均值,以作为对应类别的综合性能拓展信息,将所述目标应用所属的类别的综合性能拓展信息,确定为所述目标应用的性能拓展信息。
12.根据权利要求9所述的设备,其中,该设备还包括:
训练模块,用于在采集目标应用在标准配置下的底层特征指标之前,获取多个样本应用的性能拓展信息,其中,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比;根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别;以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器。
13.根据权利要求12所述的设备,其中,所述训练模块,还用于在以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器之前,对所述样本应用在标准配置下的底层特征指标进行数据降维,获得预设维度的底层特征指标。
14.根据权利要求9所述的设备,其中,所述采集模块,用于采集目标应用在标准配置下的底层特征指标,对所述目标应用在标准配置下的底层特征指标进行数据降维,获得预设维度的底层特征指标。
15.根据权利要求9至14中任一项所述的设备,其中,所述性能拓展信息为性能拓展曲面,所述性能拓展曲面基于性能加速比向量确定,所述性能加速比向量由所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标之间的加速比组成。
16.一种训练用于应用性能扩展性预测的分类器的设备,其中,该设备包括:
样本获取模块,用于获取多个样本应用的性能拓展信息,其中,所述性能拓展信息表示所述样本应用在不同非标准配置下的性能指标相对于所述样本应用在标准配置下的性能指标的加速比;
聚类模块,用于根据性能拓展信息对所述样本应用进行聚类,获得至少一个类别;
分类训练模块,用于以类别中的样本应用在标准配置下的底层特征指标作为输入,以所述类别作为标签,训练分类器,所述训练器用于在输入目标应用在标准配置下的底层特征指标时,输出所述目标应用所属的类别,所述目标应用所属的类别中样本应用的性能拓展信息用于确定所述目标应用的性能拓展信息。
17.一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至8中任一项所述的方法。
18.一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
CN201911055704.8A 2019-10-31 2019-10-31 训练分类器、预测应用性能扩展性的方法、设备 Pending CN112749724A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911055704.8A CN112749724A (zh) 2019-10-31 2019-10-31 训练分类器、预测应用性能扩展性的方法、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911055704.8A CN112749724A (zh) 2019-10-31 2019-10-31 训练分类器、预测应用性能扩展性的方法、设备

Publications (1)

Publication Number Publication Date
CN112749724A true CN112749724A (zh) 2021-05-04

Family

ID=75644730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911055704.8A Pending CN112749724A (zh) 2019-10-31 2019-10-31 训练分类器、预测应用性能扩展性的方法、设备

Country Status (1)

Country Link
CN (1) CN112749724A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110106734A1 (en) * 2009-04-24 2011-05-05 Terrance Boult System and appartus for failure prediction and fusion in classification and recognition
AU2015101031A4 (en) * 2015-07-31 2016-03-10 Performance Assurance Pty Ltd System and a method for modelling the performance of information systems
CN105608471A (zh) * 2015-12-28 2016-05-25 苏州大学 一种鲁棒直推式标签估计及数据分类方法和系统
CN106469114A (zh) * 2015-08-18 2017-03-01 上海无线通信研究中心 一种面向通信测试的并行计算性能检测系统及其方法
CN106778834A (zh) * 2016-11-29 2017-05-31 北京信息科技大学 一种基于距离测度学习的ap聚类图像标注方法
CN109145937A (zh) * 2018-06-25 2019-01-04 北京达佳互联信息技术有限公司 一种模型训练的方法及装置
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
CN109886289A (zh) * 2019-01-08 2019-06-14 深圳禾思众成科技有限公司 一种深度学习方法、设备及计算机可读存储介质
US20190258904A1 (en) * 2018-02-18 2019-08-22 Sas Institute Inc. Analytic system for machine learning prediction model selection

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110106734A1 (en) * 2009-04-24 2011-05-05 Terrance Boult System and appartus for failure prediction and fusion in classification and recognition
AU2015101031A4 (en) * 2015-07-31 2016-03-10 Performance Assurance Pty Ltd System and a method for modelling the performance of information systems
CN106469114A (zh) * 2015-08-18 2017-03-01 上海无线通信研究中心 一种面向通信测试的并行计算性能检测系统及其方法
CN105608471A (zh) * 2015-12-28 2016-05-25 苏州大学 一种鲁棒直推式标签估计及数据分类方法和系统
CN106778834A (zh) * 2016-11-29 2017-05-31 北京信息科技大学 一种基于距离测度学习的ap聚类图像标注方法
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
US20190258904A1 (en) * 2018-02-18 2019-08-22 Sas Institute Inc. Analytic system for machine learning prediction model selection
CN109145937A (zh) * 2018-06-25 2019-01-04 北京达佳互联信息技术有限公司 一种模型训练的方法及装置
CN109886289A (zh) * 2019-01-08 2019-06-14 深圳禾思众成科技有限公司 一种深度学习方法、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张珩;张立波;武延军;: "基于Multi-GPU平台的大规模图数据处理", 计算机研究与发展, no. 02, 15 January 2018 (2018-01-15) *

Similar Documents

Publication Publication Date Title
US10726356B1 (en) Target variable distribution-based acceptance of machine learning test data sets
KR102522005B1 (ko) 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법
CN113435602A (zh) 确定机器学习样本的特征重要性的方法及系统
CN108241722A (zh) 一种数据处理系统、方法及装置
CN106651213B (zh) 服务订单的处理方法及装置
US20230289828A1 (en) Data processing method, computer device, and readable storage medium
US20210295096A1 (en) System and method for machine learning based video quality assessment
US11176187B2 (en) Data insight discovery using a clustering technique
CN106164896B (zh) 用于发现对手方关系的多维递归方法及系统
CN109445936A (zh) 一种云计算负载聚类方法、系统及电子设备
CN111090807A (zh) 一种基于知识图谱的用户识别方法及装置
CN110895706B (zh) 一种目标聚类数的获取方法、装置及计算机系统
Yang et al. Fast and robust key frame extraction method for gesture video based on high-level feature representation
CN111831715A (zh) 一种基于人工智能大数据智慧接访及存证系统及方法
CN109711849B (zh) 以太坊地址画像生成方法、装置、电子设备及存储介质
CN113704389A (zh) 一种数据评估方法、装置、计算机设备及存储介质
CN117251761A (zh) 数据对象分类方法、装置、存储介质及电子装置
Archetti et al. Heterogeneous datasets for federated survival analysis simulation
CN112749724A (zh) 训练分类器、预测应用性能扩展性的方法、设备
CN116228312A (zh) 大额积分兑换行为的处理方法和装置
CN115617998A (zh) 一种基于智能营销场景的文本分类方法及装置
CN111737371B (zh) 可动态预测的数据流量检测分类方法及装置
CN114490262A (zh) 数据库监控方法、装置、设备及存储介质
CN112418260A (zh) 模型训练方法、信息提示方法、装置、设备及介质
CN115830028B (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