首页> 中国专利> 数据中心数据分析类基准测试程序的应用选取方法及系统

数据中心数据分析类基准测试程序的应用选取方法及系统

摘要

本发明公开了一种数据中心数据分析类基准测试程序的应用选取方法及系统,该方法执行于数据中心计算机系统中,包括:步骤一,从多种应用领域中分别选取至少一个应用,组成应用集,该应用集覆盖了特定种类的编程模型;步骤二,运行该应用集中的所有应用,针对每个应用,都分别获取预定性能指标的参数值;步骤三,将各个应用所对应的该参数值分别组成一个特征向量,对所有特征向量进行聚类;步骤四,在聚类得到的每个类中,选择距离类中心点最近和最远的两个应用作为基准测试程序的应用进行基准测试。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-28

    授权

    授权

  • 2013-09-18

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20130416

    实质审查的生效

  • 2013-08-21

    公开

    公开

说明书

技术领域

本发明涉及系统测试领域,特别是涉及数据中心的基准测试程序的应用选 取方法及系统。

背景技术

随着互联网、物联网技术的快速发展和数字信息的急剧膨胀,数据中心需 要服务的用户数越来越多,需要处理的数据量越来越大。数据中心应用的主要 目的是从海量数据中获取信息,并将这些信息提供给用户。

数据中心计算机系统,与传统的主要运行并行应用的高性能计算机不同, 需要处理大量数目的请求、运行很多相互之间耦合性弱的作业,这些请求本身 都是独立的,作业也通常由能够在多个处理器上独立执行的任务组成。与此同 时,系统在服务请求或者执行作业时需要处理和分析海量的数据。更为重要的 是,提供这样的服务需要严格的成本控制,因而系统必须具有低成本特性,否 则服务提供者无法可持续地发展。当前,数据中心越来越多地被一些网络公司, 银行,证券等公司所使用。然而如何对数据中心计算机系统进行评测,是业界 需要解决的问题。

在现有技术中,基准测试是量化数据中心计算机系统架构研究和优化系统 架构的基础。

具体来说,通过运行基准测试程序(Benchmark),研究人员可以获得数 据中心系统整体性能或某一方面性能,来达到评测和比较的目的。基准测试程 序(Benchmark)由代表性应用组成。

目前在各个较成熟的领域中都有各自的benchmark,如高性能计算中的 linpack,联机事务处理中的TPC-C。这些benchmark有各自的特定和相应的 特性,已经得到业界的公认。而在数据中心领域中并没有业界公认的 benchmark。

现有技术中,基准测试程序包括:Hadoop GridMix,HiBench和CloudSuite。 其中Hadoop Gridmix是针对hadoop系统的基准测试程序。它具备评测大规模 数据处理系统所需的各个功能模块,包括:产生数据,生成并提交作业,统计 作业完成时间等。Gridmix通过模拟hadoop cluster中的实际负载来评测 hadoop性能。HiBench是Intel对Hadoop集群构造的一套benchmark suite。 HiBench包含Micro Benchmarks,web search,machine learning等应用。 CloudSuite是用于测试scale-out应用程序性能的标准测试程序集。 CloudSuite的第一个版本由6个应用程序组成,这6个应用程序是当前的数 据中心中较为常用的应用程序。

对于基准测试程序GridMix,从选取的应用的编程模型角度考虑,只选取 了Map Reduce编程模型,而缺乏其他编程模型。由于所选取的应用的编程模 型会对测试结果有很大的影响,因此在评价数据中心计算机系统时如果仅采取 一种编程模型的应用,会造成测试结果对特定编程模型的依赖。而基准测试程 序GridMix仅简单采用了的几种应用的组合,且未对如何选择应用作出规定。

对于基准测试程序HiBench,HiBench选取的应用为基本应用,Web应用, 机器学习,HDFS Benchmark。较之gridmix,HiBench选取的应用比较丰富, 但是还存在不足:首先,HiBench的构造没有一定说服力的应用选取方法学; 从编程模型的角度而言,不具备编程模型的多样性;且选取应用较多。

对于基准测试程序CloudSuite,虽然CloudSuite是当前数据中心中比较 流行的应用程序,但是仍有缺点。首先,考虑CloudSuite的构造方法而言, 缺乏应用选取方法学;从编程模型的角度,不具备编程模型的多样性,因此在 实际应用中就有其局限性;从应用选取的角度,选取的应用单一,缺乏基本操 作,数据仓库,数据挖掘等在数据分析中广泛使用的应用,因此应用集不具备 完备性、丰富性、代表性。

WorkLoad suites是美国加州大学伯克利分校提出的一种用于评价 MapReduce性能的Benchmark,该技术的特点是作业满足多样性,作业的密度 可变,选取数据大小具有代表性,容易产生预期的负载或者一定规模的负载, 集群的配置是独立的,所使用的应用程序是代理程序。

WorkLoad suites虽然是一种综合考虑负载性能的benchmark,但还是存 在一些缺点,首先:缺少一种应用选取的方法学,其仅仅根据已有的日志程序 来模拟应用,很难有广泛的代表性;其次:该技术使用的程序是代理程序,而 非真实的程序,并不能反映真实应用中对计算机系统的需求。

综上,现有的基准测试程序在测试数据中心计算机系统时,由于所选取的 应用存在缺陷,导致测试结果容易失真。特别是,目前已有的一些benchmark 没有考虑编程模型的影响,有的则缺少真实应用程序,使benchmark不具备代 表性,导致测试不能完备、全面、准确的评价数据中心的性能,从而降低了测 试过程的可靠性。

发明内容

本发明解决的技术问题在于,获取一组既具有丰富的编程模型类型,又具 有广泛的应用领域,且在各自类别中具有代表性的应用来作为数据中心计算机 系统的benchmark,以提高测试的可靠性。

进一步使得测试结果能够更加完备、全面、准确的评价数据中心的性能。

本发明公开了一种数据中心数据分析类基准测试程序的应用选取方法,, 包括:

步骤一,从多种应用领域中分别选取至少一个应用,组成应用集,该应用 集覆盖了特定种类的编程模型;

步骤二,运行该应用集中的所有应用,针对每个应用,都分别获取预定性 能指标的参数值;

步骤三,将各个应用所对应的该参数值分别组成一个特征向量,对所有特 征向量进行聚类;

步骤四,在聚类得到的每个类中,选择距离类中心点最近和最远的两个应 用作为基准测试程序的应用进行基准测试。

该多种应用领域包括:基本操作、数据挖掘算法、数据仓库操作、生物信 息学和音视频处理。

该特定种类的编程模型包括:

MapReduce、MPI、Workqueu和All-pairs。

该预定性能指标包括:

程序指令集特性、CPU利用率、指令集并行度、访存数据、磁盘读写数据 和传输数据包数据中的一种或多种。

步骤三的该聚类采用K-means算法。

步骤二进一步包括:

通过读取硬件性能计数器获得运行的各种指令的数量以得到该程序指令 集特性,该程序指令集特性为运行的各种指令的比例,该指令包括:装载指令、 存储指令、浮点操作指令、分支指令和整形操作指令中的任意一种或多种;

通过读取硬件性能计数器获取该访存数据,该访存数据包括一级指令缓存 缺失率、二级数据缓存缺失率和二级缓存缺失率;

通过读取磁盘状态文件获得该磁盘读写数据,该磁盘读写数据分别包括磁 盘每秒读取和写入的数据量;

通过读取网络参数文件获得该传输数据包数据,该传输数据包数据包括每 秒收发的数据包总量。

本发明还公开了一种数据中心数据分析类基准测试程序的应用选取系统, 设置于数据中心计算机系统中,包括:

应用选择装置,从多种应用领域中分别选取至少一个应用,组成应用集, 该应用集覆盖了特定种类的编程模型;

参数获取装置,运行该应用集中的所有应用,针对每个应用,都分别获取 预定性能指标的参数值;

聚类装置,将各个应用所对应的该参数值分别组成一个特征向量,对所有 特征向量进行聚类;

类别选择装置,在聚类得到的每个类中,选择距离类中心点最近和最远的 两个应用作为基准测试程序的应用进行基准测试。

该多种应用领域包括:基本操作、数据挖掘算法、数据仓库操作、生物信 息学和音视频处理。

该特定种类的编程模型包括:MapReduce、MPI、Workqueu和All-pairs。

该预定性能指标包括:程序指令集特性、CPU利用率、指令集并行度、访 存数据、磁盘读写数据和传输数据包数据中的一种或多种。

该聚类装置采用自适应K-means算法。

参数获取装置进一步包括:

程序指令集特性获取单元,通过读取硬件性能计数器获得运行的各种指令 的数量以得到该程序指令集特性,该程序指令集特性为运行的各种指令的比 例,该指令包括:装载指令、存储指令、浮点操作指令、分支指令和整形操作 指令中的任意一种或多种;

访存数据获取单元,通过读取硬件性能计数器获取该访存数据,该访存数 据包括一级指令缓存缺失率、二级数据缓存缺失率和二级缓存缺失率;

磁盘读写数据获取单元,通过读取磁盘状态文件获得该磁盘读写数据,该 磁盘读写数据分别包括磁盘每秒读取和写入的数据量;

传输数据包数据获取单元,通过读取网络参数文件获得该传输数据包数 据,该传输数据包数据包括每秒收发的数据包总量。

本发明的技术效果在于,可获取一组既具有丰富的编程模型类型,又具有 广泛的应用领域,且在各自类别中具有代表性的应用作为基准测试程序的应 用,参加针对数据中心计算机系统的基准测试,以提高测试的可靠性。同时, 使得测试结果能够更加完备、全面、准确的评价数据中心的性能。

附图说明

图1、2、3所示为本发明的数据中心的数据分析类基准测试的应用选取方 法的流程示意图。

图4为聚类前的应用分布示意图。

图5为聚类后的应用分布示意图。

具体实施方式

本发明的技术方案提供了数据中心的数据分析类基准测试程序的应用选 取方法。本发明在保证了应用选取的广泛性、丰富性的同时,又提炼出最具代 表性最能体现各类应用的核心特点的应用作为基准测试程序的应用,以进行对 数据中心计算机系统的数据分析类基准测试,以提高测试的可靠性,使得测试 结果能够更加完备、全面、准确的评价数据中心的性能。

本发明在选取应用时,首先从应用领域和编程模型这两个维度选取应用, 以保证所选取的应用的广泛性、丰富性,克服现有技术中应用选取的局限性。 其次,从所选取的应用中去除冗余,使得最终得到的能够参加基准测试的基准 测试程序具备代表性、精简性。

如图1所示为本发明的数据中心的数据分析类基准测试程序的应用选取 方法的流程示意图。该方法执行于数据中心计算机系统中。

步骤1,从多种应用领域中分别选取至少一个应用,组成应用集,该应用 集覆盖了特定种类的编程模型;

步骤2,运行该应用集中的所有应用,针对每个应用,都分别获取预定性 能指标的参数值;

步骤3,将各个应用所对应的该参数值分别组成一个特征向量,对所有特 征向量进行聚类;

步骤4,在聚类得到的每个类中,选择距离类中心点最近和最远的两个应 用作为基准测试程序的应用进行基准测试。

以下对图1所述技术方案做详细说明。

现有的基准测试程序集存在所选应用的局限性问题,本发明首先扩大了应 用的选取范围,使得所选取的应用覆盖了多种应用领域,以保证应用领域的多 样性。在当前的数据中心中,不同的应用领域有不同的负载,而在不同应用领 域中的负载也有不同的特性。因此从不同的应用领域汇总选取应用,可降低个 别领域的特性对测试带来的影响。

步骤1中的多种应用领域可以包括5种应用领域,分别为基本操作、数据 挖掘算法、数据仓库操作、生物信息学和音视频处理。当然,其他种类的应用 领域也可以包括于本发明之中。以下分别介绍这5种应用领域。

1、基本操作:在数据分析行为中的常用操作:在数据分析中有很多经常 用到的基本操作,这些操作频频出现各个算法中,能代表数据中心中最为基础 的分析过程。

2、数据挖掘算法:数据挖掘算法能从海量的数据中提取数据,挖掘有 价值的信息,是数据中心领域中不可忽略的一大类应用。

3、数据仓库操作:海量的结构化、半结构化和非结构化数据的管理和 存储都要用到数据仓库,数据仓库操作是数据中心中各个上层应用的基石。

4、生物信息学:随着处理器的发展和数据中心规模的扩大,越来越多 的数据中心被用来处理生物信息学的数据,这些海量数据在以往的单一服务中 很难得到有效的处理,而数据中心的出现使得处理海量的生物数据得到可能。 同时这也导致了生物信息学应用在当今数据中心领域内的飞速发展。

5、音视频处理:以Youtube为代表的视频网站的兴起导致了数据中心 影视频数量的大幅度增加,在这种应用场景中数据中心将频频处理音视频文 件,因此这类应用也是数据中心领域中不可忽略的一部分。

例如,分别从5个应用领域中选取了如下应用。

1、从“基本操作”中分别选取如下应用:正则表达式匹配,排序,计数。

2、从“数据挖掘算法”中分别选取如下应用:分类,聚类,主元分析。

3、从“数据仓库操作”中分别选取如下应用:联合查询,数据导入。

4、从“生物信息学”中分别选取如下应用:DNA比配。

5、从“音视频处理”中分别选取如下应用:视频格式转换,MP3解码。

所选取的应用组成了应用集。而该应用集还需覆盖多种编程模型。该编程 模型包括:MapReduce、MPI、Workqueu和All-pairs。其他相关的编程模型也 可以包括在本发明的范围内。

这样使得步骤1所选取的应用集既具有广泛的应用领域,又具有丰富的编 程模型,具备了多样性,避免了后续在基准测试过程中,对单一应用领域或单 一编程模型的依赖。

接下来需要对所选取的应用集进行精简,以去除冗余,提高最终选取的应 用的代表性、针对性、精简性。

步骤2进一步包括:

步骤21,确定用于去除冗余的预定性能指标。

该预定性能指标包括以下的一种或多种:程序指令集特性;CPU利用率; 指令集并行度;访存数据;磁盘读写数据;传输数据包数据。其他相关的计算 机体系结构指标和操作系统方面的指标也可包括在本发明的该预定性能指标 中。

步骤22,运行该应用集中的所有应用,获取每个应用在每个该预定性能 指标上的性能数据。

例如,针对程序指令集特性(预定性能指标1),程序指令集特性可以由 所运行的指令的比例来表示,所运行的指令包括:装载指令,存储指令,浮点 操作指令,分支指令和整形操作指令中的任意一种或多种。通过读取硬件性能 计数器(如perf,vtune)获得当前应用所运行的各种指令的数量,通过计算 各种指令的数量之间的数量比例,可以得到该程序指令集特性。例如:

装载指令:存储指令:浮点操作指令:分支指令:整形操作指令= 38%:11%:3%:13%:35%。

则当前应用的该程序指令集特性为(0.38,0.11,0.03,0.13,0.35)。

对于CPU利用率(预定性能指标2),在当前应用中,通过读取linux文 件系统的中的/proc/stat文件来获得CPU时间的利用情况,包括CPU总时间、 CPU等待时间、CPU空闲时间。CPU利用率=(CPU总时间-CPU等待时间-CPU 空闲时间)/CPU总时间。通过如上的计算公式可获得,该当前应用的cpu利 用率为87%(0.87)。

对于指令集并行度(预定性能指标3),其通过每个CPU周期(cycle) 执行的指令数(IPC)值来表示。

通过读取硬件性能计数器来获得执行需要总cycle数和退出的指令总数 (Instruction),则IPC的值可以通过如下公式获得:

IPC=总Instruction数/总cycle数

按照如上的公式,可得当前应用的IPC为1.3,也就是当前应用的指令集 并行度为1.3。

对于访存数据(预定性能指标4),利用Cache缺失情况来表示,包括一 级指令缓存缺失率,二级数据缓存缺失率和二级缓存的缺失率。这些数据可以 通过硬件性能计数器获得。硬件性能计数器能获取每一级cache的缺失(cache miss)次数和命中(cache hit)次数。每一级的缺失率(miss ratio)可以 用如下公式获得:

Cache miss ratio=cache miss/(cache miss+cache hit)

利用如上的公式可得当前应用的Cache缺失情况的特征数据可以表示为:

一级指令缓存缺失率:二级数据缓存缺失率:二级缓存的缺失率 =0.013:0.022:0.012。

则当前应用的访存数据为0.013:0.022:0.012。

对于磁盘读写数据(预定性能指标5),使用当前应用的磁盘每秒读取和 写入的数据量来表示。在当前运行的应用中,通过读取磁盘状态文件获得磁盘 每秒读取和写入的数据量,从而得到当前应用的磁盘读写数据。

例如,通过读取linux操作系统中的/proc/diskstats文件得到磁盘每秒 读取和写入的数据量。则当前应用的磁盘读写数据可表示为:磁盘每秒读取的 数据量:磁盘每秒写入的数据量=48.32:6.98。

对于传输数据包数据(预定性能指标6),该传输数据包数据为数据中心 计算机系统每秒收发的数据包总量。该总量可以通过读取linux操作系统中的 /proc/net/snmp文件得到,再处理应用运行的时间,即得到每秒钟收发包量。 例如,当前应用的每秒钟收发包量为889.5,则传输数据包数据为889.5。

对应用集中的所有应用均采集其运行过程中的上述六种预定性能指标的 参数值。

步骤3进一步包括:

步骤31,将每个应用所对应的预定性能指标的参数值组成一个特征向量。

接续步骤2所述,则当前应用的特征向量包括了这六种计算得到的预定性 能指标的参数值,具体例如为:

[0.38,0.11,0.03,0.13,0.35,0.87,1.3,0.013,0.022,0.012,48.32,6.98 ,889.5]

对每个应用都执行步骤22,则每个应用会有一个自己的特征向量,同时 一个特征向量也会代表一个特定的应用。

步骤32,将所有应用的特征向量进行聚类。

该聚类可以采用自适应K-means算法。自适应的k-means算法可以给出最 优的聚类方案,即能给出聚类的类别数,各个类的中心点和确定每个应用所属 的类。

以图4和图5为例,图4中的每个点代表一个应用(聚类前),而图5 是聚类之后的结果,在本例中经过自适应k-means算法,所有的应用被聚成二 类,在图5中右上和左下两个集群分别表示两个类,其聚类中心点用“X”表 示。

步骤4进一步包括:

在每个类中选择两个应用,选择的应用分别满足:一个应用离聚类中心点 几何距离最远,另一个应用离聚类中心几何距离最近。这样,在图5所示实施 例中,可以选取四个应用(在本例中共有两个类,每个类选取两个应用),以 构成基准测试程序,并代表整个数据中心中分析类负载,参与到基准测试中去。

通过本发明的聚类并选择满足特定条件的应用,实现了对应用集的去冗 余。得到了一组满足应用集完备性和应用集精简性的基准测试程序集合。利用 这样的基准测试程序,可以提高测试的可靠性,使得测试结果能够更加完备、 全面、准确的评价数据中心的性能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号