Benchmark系列

您所在的位置:网站首页 benchmark工资咋样 Benchmark系列

Benchmark系列

2024-06-15 22:09| 来源: 网络整理| 查看: 265

        本文是关于benchmark的一个普及文章。主要介绍benchmark的基本概念和特征,对当前业界典型的benchmark进行分类和介绍。

一、benchmark的基本概念

        Benchmark本意就是“基准”、“基准测试”,一种定义描述如下:A computer benchmark performs a known set of operations by which computer performance can be measured。直译为计算机Benchmark执行一组已知的操作(测试程序),通过这些操作可以评测计算机的性能。

        狭义的Benchmark就是通常意义上的“跑分”, 包括“跑分软件”、“跑分工具,比如名声不太好的安兔兔、鲁大师等,都属于Benchmark软件。

        广义的Becnmark范围更大,基本上所有在计算机系统上运行的软件业务都可以抽象理解为一种 对应特定业务的Benchmark。

二、Benchmark的主要特征

        Benchmark通常呈现出来的是一组(性能)测试程序,它能刻画应用负载的计算和数据处理的特征、 测试和预测系统的性能、可以对不同平台不同系统给出优缺点评价,有一些必要的特征。有效的benchmark必须具备的特征(spec)

a. 执行一个典型的workload:

b. 生成至少一个度量指标

c. 可复现性(reproducible)

d. 可移植性(portable)

e. 可比较性好(compareble)

f.可查验评测的有效性

g. 有明确的运行规则

三、Benchmark的分类 1) 按照Benchmark的来源和获取方式分类:

1) 按照Benchmark的来源和获取方式分类:

a. 基准组织主导发布的Benchmark,包括SPEC(The Standard Performance Evaluation Corporation)、TPC(The Transaction Processing Performance Council)、BenchCouncil(International Open Benchmark Council)等发布的Industry Standards Benchmarks 

b. 开源组织或开放平台提供的组件,包括HPL、HPCG、Graph500、Green500、PARSEC、NPB等Scientific Benchmarks 

c. 特定应用领域的基准组件和测试工具,包括Dhrystone、Whetstone、Stream、LMbench、IOmeter、FIO、Netperf、 iPerf等专用领域基准软件和Synthetic Benchmarks

更多的benchmark内容可以参考维基百科:https://en.wikipedia.org/wiki/Benchmark_(computing)

2)按照Benchmark的组成形式和应用目的分类

a. application benchmarks:用户真实的应用程序,属于广义上的Benchmark,真实的用户应用程序一般测试环境比较复杂,涉及应用类型多,源代码不易获取

b. System Benchmarks :由真实应用程序中的核心代码(kernel program)组成的Benchmark suites,包括SPEC CPU 2006&2017,SPEC jbb2015、SPECpower2008、SPECvirt2013、HPL、HPCG等。最大程度反映真实业务的应用特征和对计算机系统的需求

c. Micro Benchmarks:通常由小端代码实现的基准程序或工具,针对特定测试目的。包括各种针对性的基准软件和Synthetic Benchmarks。

评测内核整形运算性能的Dhrystone / Coremark评测内核浮点运算性能的Whetstone评测内存带宽的Stream评测内存子系统带宽和时延以及OS基本操作性能的Lmbench评测磁盘基本读写性能的IOmeter和FIO评测网口基本性能的netperf和iperf 四、Benchmark使用误区

a. ~100%的benchmark是错误的

b. benchmark测试的结果通常具有误导性:例如你好像测试了A,但是实际上衡量的维度是B,最后你的总结是测试了C

c. 常见的错误包括:

测试了错误的目标:例如访问disk的测试,实际上测试的是FS cache无效的结果,例如benchmark本身存在bug

推翻benchmark结果需要的工作比执行benchmark测试要大得多,所以根据目标选择正确的benchmark就非常重要。

本文主要介绍Benchmark的基本概念,下一篇将对各类常用的Benchmark进行介绍。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3