本文是常用的CPU benchmark下篇,将介绍一些系统级的benchmark工具。
a. SPEC CPU2006
下载地址:https://www.spec.org/cpu2006/
测试目的:计算机系统性能,包括CPU芯片、内存层次结构和编译 器的性能
适用范围:Server服务器单节点,移动端处理器性能,包含12个整形子项和17个浮点子项
指标计算:
SPECspeed 每个子项的分数等于参考时间与被测机器执 行时间的比值
SPECrate 每个子项的分数等于参考机器时间与被测机器 执行时间的比值,再乘以运行任务数量 总分:所有子项分数的几何平均值
测试项分析:
- 包括intspeed/intrate/fpspeed/fprate 4组测 试套件,其中intspeed和intrate共用12个子 项的同一套源码,fpspeed和fprate共用19个 子项的同一套源码
- speed评测单核执行单任务的性能,rate测试 整机执行多任务的Throughput性能
- 性能与CPU计算性能、内存子系统、操作系 统、编译器和编译选项均相关;因此基于同 样的服务器硬件平台,测试出最优性能 (peak性能)是一件有挑战的工作
b. SPEC CPU2017
SPEC CPU2017是SPEC CPU2006的继任者,是当前工业领域应用 最广泛的benchmark之一
下载地址:https://www.spec.org/cpu2017/
测试目的:专注于计算密集型性能,包括CPU芯片、内存层次结构 和编译器的性能,适用于server服务器单节点,移动端处理器性能
指标计算:
SPECspeed 每个子项的分数等于参考机器时间与被测机 器执行时间的比值
SPECrate 每个子项的分数等于参考机器时间与被测机器 执行时间的比值,再乘以运行任务数量 总分为所有子项分数的几何平均值
测试项分析:
- 相比SPEC CPU2006,SPEC CPU2017更换了部分子 项,更新了各子项的源码和Workload,程序的特 性随之变化
- 包括intspeed/intrate/fpspeed/fprate 4组测试套 件,speed评测执行单任务的性能,rate测试整机 执行多任务的Throughput性能,其中intspeed增 加了一个多线程用例,而fpspeed全部都是多线程; intspeed/intrate、fpspeed/fprate部分子项共用 同一套源码
- 和CPU2006一样,性能与CPU计算性能、内存子系 统、操作系统、编译器和编译选项均相关;而且 SPEC CPU2017增加支持了OMP多线程,对竟分测 试和建模仿真提出了挑战
c. SPECjbb2015
下载地址(需要购买license):SPECjbb®2015
测试目的:该业务测试JAVA服务器系统在java business applications下的性能和扩展性,适用于单服务器和多服务器集群
测试原理:模拟了一个全球性超市公司处理零售/网上销售/数据挖掘等混合事务的IT基础设施. 它使用了Java 7的特性, 并利用了XML,压缩通信和消息传递与安全性等方法,支持虚拟化和云场景的性能测试。
分数计算:Max-jops分数等于被测机器最大吞吐量(每秒钟处理的事务数量 bjops); critical-jops分数等于被测机器在响应时间约束分别为“10ms、25ms、50ms、75ms、100ms”时的吞吐量的 几何平均值。
性能分析:系统的性能瓶颈可能存在于应用、JVM、OS、硬件(CPU执行速度、内存访问速度)等层面。
测试项分析:SPECjbb2015测试服务器处理事务的吞吐量,事务包 括顾客发起的事务和总部自发的数据挖掘事务。SPECjbb主要由Ctr、TxI、BE三个模块组成,支持单服 务器单JVM、单服务器多JVM、多服务器多JVM几种部署方式。
Ctr:控制端,控制测试流程、输出测试结果
TxI:Transaction Injector,客户端模拟产生客 户请求
BE:BackEnd,负载程序
d. SPECpower_ssj2008
SPECpower_ssj2008是中国移动、中国电信等电信运营商服务器集采时重点关注的benchmark之一。
下载地址:需要购买SPEC license
测试目的:测试单服务器、多服务器集群JAVA服务器系统在java business applications下的性能和功耗
测试原理:评估java服务器系统在不同计算负载下的性能和功耗。业务负载基于Java5实现,模拟了一个在线批发订单 管理系统的业务逻辑层,包括业务逻辑处理和数据库读写操作
分数计算:
- 性能:按10%依次递减,调节系统负载(每秒钟请求的事务数ssj_ops)100%到0%,测出每一级负载下的实际 吞吐量,对各级结果求和,得到总性能
- 功耗:在进行性能测试的同时测试系统功耗,对各级负载功耗求和得到总功耗
- 性能功耗比:总性能与总功耗相除即为最后的整机性能功耗比
性能分析:系统的性能瓶颈可能存在于应用、JVM、OS、硬件(CPU执行速度、内存访问速度)等层面。
测试分析:SPECPower测试需要部署控制端和SUT(Server Under Test), 控制端往往是一台windows的PC主机; SUT为要测试的一台或多台机 器,。控制端上运行功率监视/温度监视/ccs和director四个进程, SUT上运行负载进程,每个负载进程独立模 拟了一个完整的3层java应用服务系统(包含客户端/ 业务逻辑层/ 数据库)。
e. SPECvirt2013
下载地址:需要购买license
测试目的:评价整体系统的性能扩展能力
测试原理:虚拟化云数据中心场景下端到端系统组件性能基准,包括服务器硬件、虚拟化平台、客户机操作系统 和应用业务软件。
分数计算:测试程序自动统计分数
- 单Tile分数:各应用分数的加权平均
- 多Tile分数:由各tile分数相加得出
- QoS要求:每个tile的QoS>95%
性能分析:Specvrit2013是服务器端到端的总体性能呈现,涉及的软件、硬件的任何一个模块都有可能存在性 能瓶颈,需具体分析
测试项分析:
SPECvirt2013是虚拟化云数据中心场景下端到端系统组件性能基准,包括服务器硬件、虚拟化平台、客户机操作系统和应 用业务软件。它模拟了虚拟化和数据中心服务器整合场景下的通用负载,以评价整体系统的性能扩展能力。
- SPECweb2005:一组测试虚拟机网络服务性能的模型,包括infraserver和 webserver两种虚拟机,主要运行的HTTP业务,来测试 虚拟机的web服务质量
- SPECjAPP Server2004:一组测试虚拟机应用软件服务能力的模型,包括appserver和 Dbserver两种虚拟机,主要运行数据库服务,测试虚拟机的 数据库服务能力和应用软件服务能力
- SPECmail2008:一种mail服务器虚拟机,只有一台mailserver虚拟机,主要 运行IMAP mail server,用以测试虚拟机的邮件服务能力
- SPECcpu2006:Batch没有具体业务,就跑了SPECcpu的401.bzip2 “base”加 压,兼做其他3种业务的心跳检测。SPECcpu加压是间歇性 的,一次加压持续75秒,循环10次,多tile轮流,加压时 CPU跑满
f. HPL
下载地址:https://icl.utk.edu/hpl/software/index.html
测试目的:测试高性能计算机系统浮点性能
测试原理:用高斯消元法求解 N 元一次稠密线性代数方程组
分数计算:测试程序自动统计GFLOPS
性能分析:与系统的浮点运算能力强相关
HPL需要系统环境中配备MPI,和BLAS或VSIPL库才可以运行。
g. HPCG
下载地址:https://www.hpcg-benchmark.org/software/index.html
测试目的:高性能计算系统评测
测试原理:生成三维网格偏微分方程模型,并采用预条件共 轭梯度算法迭代求解该稀疏线性系统
分数计算:自动生成Log中统计的GFLOPS
性能分析:与访存带宽正相关,预取敏感,多节点下mpi通 信延迟对性能有一定影响影响