SPEC亚洲峰会:如何设计好的基准测试大会上,SPEC组织专门用了双倍的议题时间来介绍如何设计一个好的基准测试(Designing a Good Benchmark)。 2016年10月27日至28日,SPEC(Standard Performance Evaluation Corporation,标准性能评估组织)于北京举办了SPEC 2016亚洲峰会,这也是SPEC组织自1988年成立以来首次在中国举办的峰会。 我们现在已经知道,SPEC是一个非营利性的第三方组织,旨在制定、修改以及认证一系列计算系统应用性能评估的标准。SPEC制作的这些基准测试以及性能指标可以广泛适用并真实反映出客户的实际计算环境。
什么是基准测试
基准测试的划分
不同层次的基准测试可以让我们获得同一个系统不同的参数,SPEC组织著名的SPEC CPU基准评测软件可以在从Component级别到Application的级别告诉我们足够多的数字,但在虚拟化和云计算当中,我们就需要SPEC Cloud IaaS这样的System级别的测试才能给我们带来准确、全面的了解。 对基准测试的“评估”——什么才是“好”的基准测试
第一个是相关性(Relevance),也就是说我们在做基准的时候,选择到底什么样的基准时,我们要确保它和我们要做的工作是有相关性的,也就是说我们所选择的基准是能够给我们提供工作所需要的信息。
基准测试的组成——如何设计一个好的基准测试基准测试当中最重要的组件之一,就是工作负载(Workload)。工作负载是基准测试最重要的特征,基于什么样的工作负载,决定了我们的基准测试可以得到什么类型、什么样的测试结果。 其次是一个测试的可用性(Harness),这个词比较模糊,大致是指这个基准测试的“可依赖性”、“可使用性”,可用的基准测试才有意义,才可以得到有意义的测试数据以供进一步的分析研究。 第三个是结果报告(Reporting),也就是说我们运行基准测试之后得到的一个结果,一个基准测试的报告。报告当中一个很重要的部分就是具体的数字和指标,这具体的数字和指标我们是从系统当中测试得出的。一般来说,报告还应当包含一些额外的详细信息,关于比如说一些额外的性能参数以及其它的一些系统的行为等等,它们可以让我们更好地了解测试的系统,以帮助进一步的分析。 第四个是文档(Documentation),包括用户指南之类的说明,一个良好的文档对于测试顺利进行的作用是毋庸置疑的。 第五个是运行规则(Run Rules),这是非常重要的,一个基准测试遵循了什么样的标准,什么样的规范,制定了什么样的规则,这些对公平性非常重要,而且这也应该是公开的。运行规则还有另外一个含义就是指定的测试可能使用了不同的规则,那么也需要列出。 第六个是Peer Review,同行审查,原本是学术界常用的一个术语,在工业界就不那么常见了,因此,并不是所有的基准测试都会具有这个审查。对于SPEC组织的基准测试而言,所有上传的测试结果都会经过委员会的检查,确保是否遵循了运行的规则,审查之后才会公开发表。这种方式对提高测试结果的可用性以及去掉一些恶意测试结果是很有用的,很大程度上也是必须的。 最后一个是Fair Use Guidelines,公平使用指南,外国人比较讲究这个,但这也是基准测试必须讲究的。某种程度上这是一种约束或者约定,确保测试结果可以以一种公平、合理的方式来得到使用。 综上所述,按照这些原则就可以设计出“好”的基准测试。显而易见的是,SPEC组织的基准测试就是按照这些规则来设计的,本次大会还花费了比较多的时间来讲解SPEC CPU测试,有机会我们将会对其进行更详细的介绍。 责编:刘晶晶 ![]() 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新文章
|