CN111213121A - 依据基于应用使用聚类选择计算机配置 - Google Patents
依据基于应用使用聚类选择计算机配置 Download PDFInfo
- Publication number
- CN111213121A CN111213121A CN201780095668.0A CN201780095668A CN111213121A CN 111213121 A CN111213121 A CN 111213121A CN 201780095668 A CN201780095668 A CN 201780095668A CN 111213121 A CN111213121 A CN 111213121A
- Authority
- CN
- China
- Prior art keywords
- computer
- application
- configuration
- usage
- applications
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000005094 computer simulation Methods 0.000 claims description 62
- 238000012360 testing method Methods 0.000 claims description 7
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3442—Recording 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 for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/14—Merging, i.e. combining at least two sets of record carriers each arranged in the same ordered sequence to produce a single set having the same ordered sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种技术包括基于与应用的执行相关联的多个使用度量来对在多个计算机上执行的多个应用进行聚类以提供多个应用聚类。计算机与多个计算机配置相关联,并且给定的应用聚类与使用度量的组相关联。技术包括:对于给定的应用聚类,确定由给定的应用聚类表示的计算机配置的集合。技术包括基于使用度量的组的分布和与每个计算机配置相关联的使用度量的组的子集的分布对计算机配置的集合进行分级。技术包括基于应用简档和计算机配置的分级来选择计算机配置。
Description
背景技术
与不同的计算机配置相关联的不同的计算机型号(model)在性能能力和价格上可能有很大的不同。诸如用户的预算和计算机的预期用途之类的与给定用户相关联的各种因素可能影响哪种特定配置可能最适合用户。
附图说明
图1是根据示例实现的基于应用简档和基于应用使用的聚类(clustering)来提供选择计算机配置的输出的系统的示意图。
图2是根据示例实现的基于应用使用的聚类的图示。
图3是根据示例实现的针对应用聚类生成计算机配置分级(ranking)的过程的图示。
图4是根据示例实现的基于应用简档的图3的计算机配置分级的合并以生成第一合并的计算机配置分级的图示。
图5描绘了根据示例实现的预算过滤器。
图6是根据示例实现的图4的第一合并的计算机配置分级与基于预算的计算机配置分级的合并以生成第二合并的计算机配置分级的图示。
图7是根据示例实现的选择计算机配置的图形用户接口(GUI)的图示。
图8是描绘了根据示例实现的依据基于应用使用的聚类来选择计算机配置的技术的流程图。
图9是根据示例实现的可由机器执行并存储在非暂时性机器可读存储介质上以依据基于应用使用的聚类来选择计算机型号的机器可读指令的图示。
图10是根据示例实现的依据基于应用使用的聚类为用户选择计算机型号的装置的示意图。
具体实施方式
由于计算机的大量可用配置选项,对于特定用户(作为示例,企业,企业的业务单位或个人)而言,选择计算机来充分满足用户对于计算机的使用标准可能是具有挑战性的。在此上下文中,计算机的“配置选项”是指可以定义计算机的一个或多个特性的选项,诸如多个前述特性中以及其他特性中的任何特性:中央处理单元(CPU)的数量,CPU处理核心的数量,CPU技术,易失性存储器容量,存储器技术,存储容量,存储技术,存储带宽,存储等待时间,存储器等待时间以及诸如此类。作为示例,特定的计算机配置可以指特定的计算机型号;具有一个或多个选择的选项的特定的计算机型号;由某个制造商提供的并且具有一个或多个配置选项的集合的、与特定型号没有关联的计算机;具有某些配置选项并且与特定制造商没有从属关系的计算机,并且依此类推。
在本申请的上下文中,“计算机”通常可以是任何基于处理器的平台,诸如,作为示例,台式计算机,膝上型计算机,平板计算机,智能电话,可穿戴设备(例如手表),客户端,服务器,瘦客户端以及诸如此类。
由于计算机的选项和用途的广泛范围,用户可能选择未被最佳地用于用户的目的计算机配置是完全可能的。例如,用户可能选择如下计算机配置,该计算机配置在被用户使用时可能具有始终是高的的CPU使用率(例如,超过70%),这可能表明该计算机是功率不足的(underpowered)并可能导致用户体验到计算机对输入的响应中的显著延迟,以及其他挑战。相反,用户可能选择可能具有未充分利用的资源的计算机配置,这可能意味着例如计算机的购买在经济上并不高效。
根据本文中公开的示例实现,计算机系统依据基于应用使用的聚类和应用简档来选择计算机配置。如本文中所描述的,“应用简档”是指可以由用户提供以定义用户对计算机的应用用途的输入。作为示例,根据一些实现,应用简档可以包括要在计算机上执行的应用的列表;并且根据示例实现,应用简档可以指示应用的分级或顺序以指示对应用的偏好(一个应用可以被指定为是最高优先级的应用,意味着例如相比于其他应用,该应用可能被更多地使用或者对于用户而言可能更重要;就优先级而言,另一个应用可以被指定为是第二应用,并且依此类推)。
“基于应用使用的聚类”是指基于在候选应用在候选计算机配置的集合(例如,候选计算机型号)上执行时观察到的使用度量对候选应用的相对大的集合(即,比给定应用简档的应用的列表更大的应用的集合)的分组。由于该分组,与类似使用度量相关联的应用被分组在一起。例如,可以将具有相对高的存储器和相对高的CPU使用率的候选应用在一个聚类中分组在一起;可以将具有相对高的存储器使用率和相对较低的CPU使用率的候选应用在另一个聚类中分组在一起;可以将具有相对较大的存储使用率的候选应用在另一个聚类中分组在一起;并且以此类推。
给定的候选应用可以在一个或多个候选计算机配置上执行;并且给定的候选计算机配置可以执行一个或多个候选应用。如本文中所描述的,根据示例实现,当候选计算机配置执行给定应用聚类的某百分比的应用时,则候选计算机配置表示聚类。因此,每个应用聚类可以由一个或多个候选计算机配置表示。根据示例实现,基于配置和聚类之间的“适合度(fit)”来对表示每个应用聚类的候选计算机配置进行分级。例如,出于评估适合度的目的,可以将候选计算机配置的特定使用度量的统计分布与应用聚类的相同使用度量的统计分布进行比较。因此,根据示例实现,计算机系统可以确定每个应用聚类的计算机配置的分级。因此,根据示例实现,每个应用聚类是具有相似的观察到的使用度量的候选应用的组;每个应用聚类可以由一个或多个候选计算机配置表示;并且对于每个应用聚类,可以对表示应用聚类的候选计算机配置进行分级。
根据本文中所描述的示例实现,应用简档控制应用聚类的选择以及与选择的应用聚类相关联的分级的合并来提供计算机配置的第一合并的分级。根据一些实现,第一合并的计算机分级的最高分级的计算机配置可以是为用户选择或推荐的配置。然而,根据另外的示例实现,计算机配置选择还可以考虑由用户提供的预算或价格范围。以此方式,根据一些实现,可以确定在应用简档中列出的计算机配置的基于预算的分级;并且然后,可以将基于预算的计算机配置分级与上述第一合并的计算机分级合并,以产生第二合并的计算机分级。因此,根据示例实现,第二合并的计算机分级可以在计算机配置的有序列表中提供,其中最高分级的计算机配置在分配的预算内具有合理的实用性(utility)。
作为更具体的示例,图1描绘了依据基于应用使用的聚类和应用简档来推荐或选择计算机配置的计算机系统100。参考图1,计算机系统100可以包括一个或多个处理器126(一个或多个CPU,一个或多个CPU核心,以及诸如此类)。此外,(一个或多个)处理器126可以执行存储在非暂时性存储器129中的机器可执行指令131,用于执行计算机系统100的一个或多个功能的目的,如本文中所描述的。根据示例实现,非暂时性存储器129可以包括半导体存储设备,基于忆阻器的存储设备,相变存储器设备,易失性存储器设备,非易失性存储器设备,与其他存储技术相关联的存储设备,与一种或多种前述存储技术相关联的存储设备的组合,以及诸如此类。
根据另外的示例实现,计算机系统100可以由不执行机器可执行指令的一个或多个电路部分地或整体地形成。根据另外的示例实现,这样的电路可以包括作为示例的专用集成电路(ASIC),现场可编程门阵列(FPGA)以及诸如此类。
注意,计算机系统100可以被布置在单个地理位置处或者可以由位于多个地理位置处的联网部件形成。
根据示例实现,计算机系统100依据基于应用使用的聚类和来自用户的输入提供表示为用户选择的计算机配置的输出160。用户输入可以包括表示用于将被选择的计算机配置的应用简档150和预算152的数据。计算机系统100的计算机配置推荐引擎140如本文中所描述的针对提供表示选择的计算机配置的输出160的目的可以考虑应用简档150,预算152和计算机配置分级136。
根据示例实现,计算机配置分级136是候选计算机配置的相对大的集合的分级;并且这些分级136由计算机系统100的基于应用使用的聚类引擎120基于应用使用度量来确定。更具体地,根据示例实现,计算机系统100包括数据库110,该数据库110包含表示各种应用使用度量的应用快照数据114。就这一点而言,根据示例实现,快照数据114表示在与候选计算机配置的集合相关联的计算机的集合上执行的候选应用的观察到的快照,并且快照数据114可以由快照收集程序收集。给定的应用快照通常与候选计算机配置和候选应用相关联(即,由于候选应用在候选计算机配置上执行而导出的);并且快照的快照数据114可以包括应用标识;执行应用的计算机配置的标识(例如,由计算机系统100分配的计算机型号的标识);以及与应用执行相关联的各种使用度量。作为示例,使用度量可以属于以下类别中的一个或多个:CPU使用率;存储器使用率;存储使用率,以及诸如此类。根据示例实现,可以在属于不同用户并且布置在不同地理位置处的多个机器上获取快照数据114;并且可以使快照数据114无害化(sanitize),使得应用快照数据114不包含任何可识别的个人信息。
出于生成或提供计算机配置分级136的目的,基于应用使用的聚类引擎120分析应用快照数据114。更具体地,根据示例实现,基于应用使用的聚类引擎120执行应用聚类128以基于使用度量对候选应用进行分组或聚类,使得特定聚类的候选应用具有至少一些相似的使用度量(从统计角度来看);并且根据示例实现,基于应用使用的聚类引擎120可以使用统计分析在聚类之前基于使用度量(如由应用快照数据114表示的)来聚合候选应用。例如,根据示例实现,基于应用使用的聚类引擎120可以确定每个候选应用的每个使用度量类别的平均值和标准偏差;或者,作为另一个示例,基于应用使用的聚类引擎120可以确定每个候选应用的每个使用度量类别的中间值和平均绝对偏差。执行该聚合,使得可以按照中心极限定理(Central Limit Theorem)来控制可能因不同情况而产生的特定变化(换句话说,根据某些实现,可以假设给定使用度量类别的使用度量具有正态分布或高斯分布)。基于应用使用的聚类引擎120然后可以将聚合的应用使用度量用作聚类算法(K-均值聚类算法,自组织映射(SOM)聚类算法以及诸如此类)的特征以生成应用聚类129。
结合图1参见图2,作为示例,应用聚类128可以生成聚类129-1,129-2和129-3。给定应用聚类129中的应用可能具有针对至少一个使用类别的相似的观察到的使用。对于图2的具体示例,应用聚类129-1包含应用1,应用3和应用9;应用聚类129-2包含应用4,应用6和应用7;并且应用聚类129-3包含应用5和应用8。
再次参考图1,在给定最小数据应用覆盖率的情况下,基于应用使用的聚类引擎120接下来可以确定特定计算机配置由给定应用聚类129表现得多好。例如,根据示例实现,出于确定给定计算机配置是否由特定应用聚类129表示的目的,基于应用使用的聚类引擎120可以应用预定阈值。例如,阈值可以是0.75,其意味着聚类129中的至少百分之七十五的应用是由给定计算机配置执行的,以便计算机配置将被视为由聚类129表示。即,针对给定计算机配置,存在0.75的应用比,否则,计算机配置不被视为由聚类129表示。根据另外的示例实现,可以将其他标准用于确定特定计算机配置是否由给定的应用聚类129表示的目的。
因此,基于应用使用的聚类引擎120为每个应用聚类129确定由应用聚类210表示的计算机配置的集合。
根据示例实现,在确定哪些计算机配置由应用聚类210表示之后,基于应用使用的聚类引擎120确定不相似性分数,如图1的参考数字132所指示的。以此方式,根据示例实现,基于应用使用的聚类引擎120计算或确定由给定应用聚类210表示的每个计算机配置的不相似性分数。根据示例实现,不相似性分数表示针对特定计算机配置观察到的使用度量在统计上适合针对应用聚类129观察到使用度量有多好。根据示例实现,不相似性分数越低,计算机配置就适合应用聚类129越好。
作为更具体的示例,根据一些实现,不相似性分数可以基于z测试统计(z-teststatistics)。z测试统计是针对应用聚类的特定使用度量的分布与针对计算机配置的使用度量的分布的相似性的测量。更具体地说,z测试统计可以会考虑所收集的数据的平均值和标准偏差:
根据示例实现,不相似性分数是每个聚合的使用度量的z统计的绝对值的加权和,如下所描述的:
其中“F”表示不相似性分数;“k”表示索引;“n”表示使用度量类别的数量;“m”表示使用度量分布比较值,诸如z测试统计;并且“wk”表示分配给给定度量类别的权重。
结合图1参考图3的图示300,根据一些实现,在确定不相似性分数之后,基于应用使用的聚类引擎120针对每个应用聚类129确定计算机配置分级136(三个示例计算机配置分级136-1,136-2和136-3在图3中被描绘)。以此方式,对于图3中描绘的具体示例,应用聚类129-1表示计算机配置1,计算机配置2,计算机配置3和计算机配置4;应用聚类129-2表示计算机配置3,计算机配置2,计算机配置1和计算机配置8;并且应用聚类129-3表示计算机配置4,计算机配置3,计算机配置2和计算机配置7。应注意,对于该示例,四个计算机配置被示出为由每个应用聚类129表示。然而,应该理解,特定应用聚类129可以表示多于或少于四个计算机配置。此外,根据示例实现,每个应用聚类129的计算机配置的数量可以变化。例如,一个应用聚类129可以表示十个计算机配置,而另一应用聚类129可以表示七个计算机配置。
根据示例实现,基于应用使用的聚类引擎120基于由聚类129表示的计算机配置的不相似性分数确定每个应用聚类129的每个计算机配置分级136。以此方式,在图3中,应用聚类129-3的计算机配置分级136-3对计算机配置2,3,4和7排序或分级如下:计算机配置4,计算机配置3,计算机配置2和计算机配置7。换句话说,对于计算机配置分级136-3,计算机配置4是最高分级的计算机配置。同样,应用聚类129-1和129-2分别具有关联的配置分级136-1和136-2。
再次参考图1,计算机配置分级136由基于应用使用的聚类引擎120提供给计算机配置推荐引擎140。计算机配置推荐引擎140基于在应用简档150中被标识的应用选择某些计算机配置分级136;并且基于应用使用的聚类引擎120基于应用简档150中指示的应用的优先级来组合或合并所选择的分级136。
更具体地,根据示例实现,计算机配置推荐引擎140接收表示应用简档150和预算152的数据(例如,经由图形用户接口(GUI)149提供);并且基于应用简档150,计算机配置推荐引擎140选择权重并将其分配给适当的计算机配置分级136。例如,根据示例实现,计算机配置推荐引擎140可以选择与在应用简档150中列出的应用相关联的配置分级136,并且引擎140可以将权重分配给反映应用排序的选择的分级136,如简档150中所记载的。
根据示例实现,分配的权重可以基于线性简档,该线性简档是简档150中列出的应用的数量的函数。例如,如果应用简档150列出了四个应用,则计算机配置推荐引擎140可以使用从1到0.25的线性展开(linear spread)来分配权重,导致将权重1.00,0.75,0.50和0.25降序分配给关联的计算机分级136。
作为更具体的示例,结合图1参考图4,图示400描绘了根据示例应用简档150的配置分级136的加权。对于该示例,应用简档150标识四个应用并且对四个应用进行分级:应用9(最高分级的应用);应用4(下一最高分级的应用);应用2(下一最高分级的应用);和应用3(最低分级的应用)。计算机配置推荐引擎140相应地选择并加权与应用简档150的应用相对应的计算机配置分级136(如参考数字420处指示的)。以此方式,对于该示例,配置分级136-1对应于应用9并且被分配了权重1.00;配置分级136-2对应于应用4并且被分配了权重0.75;配置分级136-3对应于应用2并且被分配了权重0.50;并且配置分级136-1对应于应用3并且被分配了权重0.25。然后,计算机配置推荐引擎140可以合并加权的计算机配置分级,诸如图4中描绘的加权的配置分级136-1,136-2和136-3,用于确定第一合并的计算机配置分级的目的。
根据一些实现,第一合并的计算机配置分级可以是最终分级,然后可以由计算机配置推荐引擎140使用该最终分级来推荐为用户选择的计算机配置(即,最高分级的计算机配置)。然而,根据另外的示例实现,计算机配置推荐引擎140还考虑预算152。更具体地,根据一些实现,用户可以提供预算范围。例如,可能存在五个候选计算机配置,它们分别具有$400,$500,$600,$700美元和$800的价格;并且用户指定的预算可能是$500到$700的范围中的预算,由此从考虑中排除$400和$800的计算机配置。
根据示例实现,计算机配置推荐引擎140可以基于预算152来应用价格分数曲线(在本文中称为“预算过滤器”)。更具体地,根据一些实现,计算机配置推荐引擎140可以应用预算过滤器500,在图5中示出。以此方式,结合图1参考图5,根据示例实现,用户可以定义预算152(即,价格的范围),并且计算机配置推荐引擎140可以将诸如“1”的权重之类的某个权重分配给预算152的最小值之下的任何计算机配置并且将诸如“0”的权重之类的另一个权重分配给计算机预算510的最大值之上的任何计算机配置。对于上面给出的示例,在$400,$500,$600,$700和$800的价格的情况下,计算机配置推荐引擎140可以使用图5的预算过滤器500分别分配权重1,1,0.5,0以及0。根据另外的示例实现,可以使用基于预算的其他预算过滤器和加权。不管所使用的特定过滤如何,计算机配置推荐引擎可以基于用户指定的预算对候选计算机配置的集合应用某种程度的加权或过滤,以生成计算机配置的基于预算的分级列表。
计算机配置推荐引擎140然后可以如图1的参考数字158所指示的将第一合并的计算机配置分级与基于预算的分级合并来提供第二合并的计算机配置分级。根据一些实现,计算机配置推荐引擎140可以例如应用诸如交叉熵(cross-entropy)或遗传算法之类的加权的分级聚合技术以及其他的加权分级聚合方法。
例如,根据一些实现,如图6中所示,计算机配置推荐引擎140可以执行聚合600,该聚合600涉及将特定权重612(例如,“数字1”的权重)分配给第一合并的计算机配置分级610(即,基于应用使用聚类和应用简档150的分级),并将另一权重(例如,较低的权重,诸如“0.2”的权重)分配给基于预算的计算机配置分级620,以导出第二合并的计算机配置分级630。来自分级630的最高分级的计算机配置继而可以是为用户选择的计算机配置。
如图1中所示,根据一些实现,计算机配置推荐引擎140提供指示选择的计算机配置的数据160。注意,数据160可以指示单个计算机配置,即,顶级分级或最高分级的计算机配置,或者可以指示计算机中的不止一个,这取决于特定的实现。
结合图1参考图7,根据一些实现,GUI 149可以以图形指示对给定制造商的计算机型号(即,计算机配置)的选择以及与该选择相关联的特征。更具体地,根据一些实现,GUI700可以用于解释为什么选择了特定的计算机配置并将其推荐给用户。以此方式,用户可以通过查看诸如CPU、存储器和盘以及预算之类的性能度量的百分比来理解分级。更具体地,如图7中所描绘的,GUI 700可以例如在输入部分710中包含,在其中用户可以通过选择特定应用并对应用排序来提供应用简档。而且,GUI 700可以包含预算选择部分720,用于指示特定预算(例如,通过滑动图形滑动条)的目的。基于输入,GUI 700可以显示推荐730。就这一点而言,这里,推荐是第一或最高分级的计算机配置。但是,通过选择下一个按钮,用户可以查看下一个选择;并且相应地,用户可以使用之前的按钮返回(traverse back)到列表的顶部。
根据示例实现,GUI 700还包括适合度部分740,其列出了性能度量和预算的百分比,诸如这里是涉及预算,CPU,存储器和盘的性能度量。根据一些实现,这些百分比可以是计算机型号推荐引擎140用于测量选择的计算机型号与针对使用度量类别的相应应用聚类之间的不相似性的百分比。而且,多于百分之100的百分比(诸如百分之120的盘适合度,图7)指示了选择的计算机型号可能做得比用户需要的更多(即,可以指示选择的计算机型号对于度量而言是未充分利用的)。
根据另外的示例实现,计算机配置推荐引擎140可以提供计算机配置的替代结果,而不论预算如何,使得用户可以具有关于如下内容的思想:理想的计算机配置可能是什么,并且可能选择购买该型号。
在本文中公开的技术和系统的潜在优势中,可以确定适合于用户需求的计算机配置;简档可以避免表现不佳(underperforming)或性能过高(over performing)的计算机购买。预算的使用允许推荐的计算机配置适合用户的需求。适合度百分比允许用户理解为什么选择了特定的计算机配置。
因此,根据示例实现,图8中描绘的技术800可以包括基于与应用的执行相关联的多个使用度量来对在多个计算机上执行的多个应用进行聚类(框804)以提供多个应用聚类。计算机与多个计算机配置相关联,并且给定的应用聚类与使用度量的组相关联。对于给定的应用聚类,技术800包括确定(框808)由给定的应用聚类表示的计算机配置的集合。技术800包括基于使用度量的组的分布和与每个计算机配置相关联的使用度量的组的子集的分布来对计算机配置的集合进行分级(框812)。技术800包括基于应用简档和计算机配置的分级来选择(框816)计算机配置。
参考图9,更具体地,根据一些实现,计算机配置可以与计算机型号相关联。非暂时性机器可读存储介质900可以存储可以由机器执行的指令904。指令904在由机器执行时可以使机器访问表示从在多个计算机上执行的多个应用观察到的性能简档的第一数据。每个性能简档可以与应用和计算机型号相关联。指令904在由机器执行时使机器基于性能简档将多个应用分组,其中每个应用组与计算机型号的集合相关联并且与应用组的性能简档相关联。指令904在由机器执行时使机器基于与计算机型号相关联的性能简档和与应用组相关联的性能简档之间的相似性来对与每个应用组相关联的计算机型号进行分级。指令904在由机器执行时使机器基于分级的计算机型号和表示应用使用的表征(characterization)的第二数据来选择计算机型号。
参考图10,根据一些实现,装置1010包括处理器和存储器1020以存储指令1030,指令1030在由处理器1010执行时使处理器1010访问表示从在多个计算机上执行的多个应用观察到的性能简档的数据。每个性能简档与应用和计算机型号相关联。指令在由处理器执行时使处理器基于性能简档来对应用进行聚类以提供多个应用聚类。给定的应用聚类与计算机型号的组相关联并与给定的应用组的性能简档相关联。指令在由处理器执行时使处理器针对每个计算机型号,基于与计算机型号相关联的性能简档和与给定应用组相关联的性能简档来确定计算机型号的不相似性分数。不相似性分数表示计算机型号与给定应用组之间的适合度。指令在由处理器执行时使处理器基于不相似性分数对计算机型号的组的计算机型号进行分级;并且基于选择的计算机型号的应用简档和分级选择计算机型号。
构思了在所附权利要求的范围内的其他实现。例如,根据另外的实现,计算机配置推荐引擎140可以应用价格分数曲线,该价格分数曲线不从考虑中消除预算之外的计算机配置。以此方式,再次参考图5,代替应用诸如预算过滤器500之类的价格分数曲线,其将零权重分配给预算152的上端以上的计算机配置,计算机配置推荐140可以将非零权重分配给这些配置,诸如例如随价格衰减(decay)但保持在零以上的权重,使得基于预算的计算机配置分级中列出的应用简档150中列出的所有计算机配置。作为另一变体,根据一些实现,价格分数可以随价格增加直到预算的下端(而不是具有从零的价格到预算152的下端的恒定值一,例如,如图5中所描绘的)。
因此,根据示例实现,在应用简档中列出的所有计算机配置可以出现在基于预算的计算机配置分级中。然而,计算机配置出现的顺序是预算的函数。这允许例如具有预算以下的价格的计算机配置出现在最终分级中,并且根据其应用使用度量,可以可能出现在顶级分级的配置中。以类似的方式,具有预算以上的价格的计算机配置可能在最终分级中显示为顶级分级的配置之一。因此,根据示例实现,用户可以考虑满足在应用简档150中记载的使用标准但是落在用户提供的预算之外的计算机配置。
虽然已经关于有限数量的实现描述了本公开,但是受益于本公开的本领域技术人员将理解其众多修改和变化。所附权利要求旨在覆盖所有这样的修改和变化。
Claims (15)
1.一种方法,包括:
基于与应用的执行相关联的多个使用度量对在多个计算机上执行的多个应用进行聚类以提供多个应用聚类,其中计算机与多个计算机配置相关联,并且多个应用聚类中的给定的应用聚类与使用度量的组相关联;
对于多个应用聚类中的给定的应用聚类,确定由给定的应用聚类表示的多个计算机配置中的计算机配置的集合;
基于使用度量的组的分布和与计算机配置的集合中的每个计算机配置相关联的使用度量的组的子集的分布,对计算机配置的集合进行分级;和
基于应用简档和计算机配置的分级,选择计算机配置。
2.根据权利要求1所述的方法,其中应用简档包括将与选择的计算机配置一起使用的多个应用中的应用的列表。
3.根据权利要求2所述的方法,其中:
应用简档指示列表的应用的排序;和
选择计算机配置包括基于排序选择计算机配置。
4.根据权利要求3所述的方法,其中选择计算机配置还包括:
选择包含列表的应用的多个应用聚类中的应用聚类;
确定选择的应用聚类中的每个的计算机配置分级;
基于应用简档指示的排序对确定的计算机配置分级进行加权;和组合加权的确定的计算机配置分级。
5.根据权利要求1所述的方法,其中对计算机配置的集合进行分级包括:
对于每个计算机配置,基于使用度量的组的分布和与计算机配置相关联的使用度量的子集的分布确定z测试统计;和
基于z测试统计对计算机配置的集合进行分级。
6.根据权利要求1所述的方法,其中确定由给定的应用聚类表示的计算机配置的集合包括:
对于多个计算机配置中的给定的计算机配置,标识与给定的计算机配置相关联的应用聚类中的应用的数量;和
基于数量确定给定的计算机配置是否由给定的应用聚类表示。
7.根据权利要求1所述的方法,其中使用度量包括表示处理器使用率,存储器使用率或存储使用率中的至少一个的度量。
8.根据权利要求1所述的方法,其中:
多个计算机配置与价格的范围相关联;和
选择计算机配置还包括基于价格的范围的子集的选择来选择计算机配置。
9.一种非暂时性机器可读存储介质,用于存储指令,所述指令在由机器执行时使机器:
访问表示从在多个计算机上执行的多个应用观察到的性能简档的第一数据,其中每个性能简档与多个应用中的应用和多个计算机型号中的计算机型号相关联;
基于性能简档对多个应用分组,其中每个应用组与计算机型号的集合相关联并且与应用组的性能简档相关联;
基于与计算机型号相关联的性能简档和与应用组相关联的性能简档之间的相似性,对与每个应用组相关联的计算机型号进行分级;和
基于分级的计算机型号和表示应用使用的表征的第二数据,从计算机型号选择计算机型号。
10.根据权利要求10所述的非暂时性机器可读存储介质,其中存储介质存储指令,所述指令在由机器执行时使机器:
基于分级的计算机型号和应用使用来确定计算机型号的第一分级的列表;
基于预算对计算机型号进行分级以提供计算机型号的第二分级的列表;
组合第一分级的列表和第二分级的列表以提供表示计算机型号的第三分级的列表的第三数据;和
从计算机型号的第三分级的列表选择计算机型号。
11.根据权利要求10所述的非暂时性机器可读存储介质,其中存储介质存储指令,所述指令在由机器执行时使机器:
基于预算对多个计算机型号进行加权以提供计算机型号的第二分级的列表。
12.根据权利要求10所述的非暂时性机器可读存储介质,其中存储介质存储指令,所述指令在由机器执行时使机器:
将不同的权重分配给第一分级的列表和第二分级的列表并且基于加权来组合第一分级的列表和第二分级的列表。
13.一种装置,包括:
处理器;和
存储器,用于存储指令,所述指令在由处理器执行时使处理器:
访问表示从在多个计算机上执行的多个应用观察到的性能简档的数据,其中每个性能简档与多个应用中的应用和多个计算机型号中的计算机型号相关联;
基于性能简档对多个应用进行聚类以提供多个应用聚类,其中多个聚类中的给定的应用聚类与计算机型号的组相关联并且与给定的应用组的性能简档相关联;
对于计算机型号的组的每个计算机型号,基于与计算机型号相关联的性能简档和与给定的应用组相关联的性能简档确定计算机型号的不相似性分数,其中不相似性分数表示计算机型号和给定的应用组之间的适合度;
基于不相似性分数对计算机型号的组的计算机型号进行分级;和
基于选择的计算机型号的应用简档和计算机型号的分级选择计算机型号中的计算机型号。
14.根据权利要求13所述的装置,其中存储器存储指令,所述指令在由处理器执行时使处理器基于与给定的应用组相关联的性能简档和与给定的计算机型号相关联的性能简档基于z测试统计来确定给定计算机型号的不相似性分数。
15.根据权利要求14所述的装置,其中:
指令在由处理器执行时使处理器基于一个不相似性分数提供表示选择的计算机型号相对理想的计算机型号的特性的适合度的输出。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/055275 WO2019070269A1 (en) | 2017-10-05 | 2017-10-05 | SELECTING COMPUTER CONFIGURATIONS BASED ON APPLICATION-BASED CONSOLIDATION |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111213121A true CN111213121A (zh) | 2020-05-29 |
Family
ID=65994318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780095668.0A Pending CN111213121A (zh) | 2017-10-05 | 2017-10-05 | 依据基于应用使用聚类选择计算机配置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210303582A1 (zh) |
EP (1) | EP3692437B1 (zh) |
CN (1) | CN111213121A (zh) |
WO (1) | WO2019070269A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11836507B2 (en) * | 2020-06-18 | 2023-12-05 | Dell Products L.P. | Prioritizing the pre-loading of applications with a constrained memory budget using contextual information |
US11797353B2 (en) * | 2020-10-29 | 2023-10-24 | EMC IP Holding Company LLC | Method and system for performing workloads in a data cluster |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988549A (zh) * | 2005-12-22 | 2007-06-27 | 国际商业机器公司 | 生成用于应用会话的资源使用简档的方法和系统 |
US20110307886A1 (en) * | 2010-06-11 | 2011-12-15 | Oracle International Corporation | Method and system for migrating the state of a virtual cluster |
US20140351394A1 (en) * | 2013-05-21 | 2014-11-27 | Amazon Technologies, Inc. | Reporting performance capabilities of a computer resource service |
WO2016110950A1 (ja) * | 2015-01-07 | 2016-07-14 | 株式会社日立製作所 | 計算機システム、管理システム、及び、リソース管理方法 |
WO2017039627A1 (en) * | 2015-08-31 | 2017-03-09 | Hitachi, Ltd. | Method and apparatus to manage it infrastructure based on application characteristics |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8165862B2 (en) * | 2008-02-05 | 2012-04-24 | The Boeing Company | Methods and systems for predicting application performance |
US7917954B1 (en) | 2010-09-28 | 2011-03-29 | Kaspersky Lab Zao | Systems and methods for policy-based program configuration |
US8818787B2 (en) * | 2011-01-31 | 2014-08-26 | Yahoo! Inc. | Method and system for predicting performance of software applications on prospective hardware architecture |
US8776048B2 (en) * | 2012-05-22 | 2014-07-08 | International Business Machines Corporation | Early configuration in deploying an enterprise application |
US9524465B2 (en) * | 2014-08-05 | 2016-12-20 | E.S.I. Software Ltd | System and method for analyzing and prioritizing changes and differences to configuration parameters in information technology systems |
-
2017
- 2017-10-05 CN CN201780095668.0A patent/CN111213121A/zh active Pending
- 2017-10-05 WO PCT/US2017/055275 patent/WO2019070269A1/en unknown
- 2017-10-05 EP EP17927954.2A patent/EP3692437B1/en active Active
- 2017-10-05 US US16/481,479 patent/US20210303582A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988549A (zh) * | 2005-12-22 | 2007-06-27 | 国际商业机器公司 | 生成用于应用会话的资源使用简档的方法和系统 |
US20110307886A1 (en) * | 2010-06-11 | 2011-12-15 | Oracle International Corporation | Method and system for migrating the state of a virtual cluster |
US20140351394A1 (en) * | 2013-05-21 | 2014-11-27 | Amazon Technologies, Inc. | Reporting performance capabilities of a computer resource service |
WO2016110950A1 (ja) * | 2015-01-07 | 2016-07-14 | 株式会社日立製作所 | 計算機システム、管理システム、及び、リソース管理方法 |
WO2017039627A1 (en) * | 2015-08-31 | 2017-03-09 | Hitachi, Ltd. | Method and apparatus to manage it infrastructure based on application characteristics |
Non-Patent Citations (1)
Title |
---|
杨冬菊等: "HDFS 异构集群中的分级存储调度机制", pages 29 - 34 * |
Also Published As
Publication number | Publication date |
---|---|
EP3692437A4 (en) | 2021-05-12 |
EP3692437A1 (en) | 2020-08-12 |
EP3692437B1 (en) | 2022-09-28 |
WO2019070269A1 (en) | 2019-04-11 |
US20210303582A1 (en) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238083B2 (en) | Intelligently driven visual interface on mobile devices and tablets based on implicit and explicit user actions | |
US10102277B2 (en) | Bayesian visual interactive search | |
CN113574325B (zh) | 通过选择控制设置来控制环境的方法和系统 | |
US8788501B2 (en) | Parallelization of large scale data clustering analytics | |
CN107305637B (zh) | 基于K-Means算法的数据聚类方法和装置 | |
CN110457577B (zh) | 数据处理方法、装置、设备和计算机存储介质 | |
Mansoury et al. | A graph-based approach for mitigating multi-sided exposure bias in recommender systems | |
US20150142521A1 (en) | Customer clustering using integer programming | |
US20080275804A1 (en) | Monte Carlo Grid Scheduling Algorithm Selection Optimization | |
CN103631486A (zh) | 一种调整屏幕显示应用程序菜单的方法、系统及移动终端 | |
CN111213121A (zh) | 依据基于应用使用聚类选择计算机配置 | |
Wang et al. | A reinforcement learning based system for minimizing cloud storage service cost | |
JP2015197721A (ja) | 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法 | |
EP2541409B1 (en) | Parallelization of large scale data clustering analytics | |
US20180113929A1 (en) | Data Clustering and Visualization with Determined Group Number | |
KR101081947B1 (ko) | 대용량 데이터를 위한 하이브리드 추천 방법 및 시스템 | |
CN110287373A (zh) | 基于评分预测和用户特征的协同过滤电影推荐方法及系统 | |
Najjar et al. | Evaluating group recommendation strategies in memory-based collaborative filtering | |
El Alami et al. | Improving Neighborhood-Based Collaborative Filtering by a Heuristic Approach and an Adjusted Similarity Measure. | |
Kumar et al. | Improving energy-efficient management for identifying software requirement prioritization based on optimized fuzzy logic social spider optimization | |
Jadhav et al. | Customer Segmentation and Buyer Targeting Approach | |
CN110399430A (zh) | 用户特征确定方法、装置、设备及计算机可读存储介质 | |
CN112579246A (zh) | 虚拟机迁移处理方法及装置 | |
CN110209938A (zh) | 一种基于服务多粒度属性的潜在用户推荐方法 | |
CN109145059A (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240419 |
|
AD01 | Patent right deemed abandoned |