测试工具讲解及数据分析
计算机的性能最本质的定义是“完成一个任务所需要的时间”
目录
测试工具讲解及数据分析
1.SPECCPU2006
1.1描述
1.2组织
1.3官方网站
1.4功能
1.5 测试项目
1.6 测试方法
1.7数据分析
2.lmbench
2.1描述
2.2组织
2.3官方网站
2.4功能
2.5测试方法
2.6测试数据分析
1.SPECCPU2006
1.1描述
SPEC CPU 2006是SPEC组织推出的CPU子系统评估软件软件。
1.2组织
SPEC是标准性能评估公司(Standard Performance Evaluation Corporation)的简称。SPEC是由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标是建立、维护一套用于评估计算机系统的标准。
1.3官方网站
http://www.spec.org/cpu2006/
1.4功能
CINT2006包括C编译程序、量子计算机仿真、下象棋程序等,CFP2006包括有限元模型结构化网格法、分子动力学质点法、流体动力学稀疏线性代数法等。为了简化测试结果,SPEC决定使用单一的数字来归纳所有12种整数基准程序。具体方法是将被测计算机的执行时间标准化,即将被测计算机的执行时间除一个参考处理器的执行时间,结果称为SPECratio。SPECratio值越大,表示性能越快(因为SPECratio是执行时间的倒数)。CINT2006或CFP2006的综合测试结果是取SPECratio的几何平均值。
1.5 测试项目
SPEC CPU 2006 v1.0.1测试项目
子项目
语言
原型/组件
说明
整数测试
400.perlbenchPERL编程语言
ANSI C
Perl v5.8.7 SpamAssassin v2.61Digest-MD5 v2.33HTML-Parser v3.35MHonArc v2.6. 8IO-stringy v1.205MailTools v1.60TimeDate v1.16
负载由三个script组成:主负载是垃圾邮件检测软件SpamAssassin,一个是email到HTML的转换器MHonArc,最后一个是specdiff
401.bzip2 压缩
ANSI C
bzip2 v1.0.3
负载包括六个部分: 两个小的JPEG图片 一个程序 一个tar包起的几个源程序文件 一个HTML文件 混合文件,包括压缩起来的高可压缩文件及不怎么可压缩的文件 测试分别使用了三个不同的压缩等级进行压缩和解压缩
403.gcc C编译器
C
gcc v3.2
对9组C代码进行了编译
429.mcf 组合优化
ANSI C w/libm
MCF v1.2
MCF是一个用于大型公共交通中的单站车辆调度的程序 429.mcf运行于32/64位模型时分别需要约860/1700MB的内存
445.gobmk 人工智能:围棋
C
围棋
456.hmmer 基因序列搜索
C
使用HMMS(Hidden Markov Models,隐马尔科夫模型) 基因识别方法进行基因序列搜索
458.sjeng 人工智能:国际象棋
ANSI C
Sjeng v11.2
国际象棋
462.libquantum 物理:量子计算
ISO/IEC 9899:1999("C99")
libquantum是模拟量子计算机的库文件,用来进行量子计算机应用的研究
464.h264ref 视频压缩
C
h264avc v9.3
使用两种配置对两个YUV格式源文件进行H.264编码
471.omnetpp 离散事件仿真
C++
OMNeT++
包括约8000台计算机和900个交换机/集线器,以及混合了各种从10Mb到1000Mb速率的大型CSMA/CD协议以太网络模拟
473.astar 寻路算法
C++
实现了2D寻路算法A*的三种不同版本
483.xalancbmk XML处理
C++
Xalan-C++ v1.8 mod Xerces-C++ v2.5.0
XML文档/XSL表到HTML文档的转换
浮点测试
410.bwaves 流体力学
Fortran 77
对三维瞬跨音速粘性流中冲击波的模拟计算
416.gamess 量子化学
Fortran
GMAESS
三种SCF自洽场计算: 胞嘧啶分子 水和Cu2+离子 三唑离子
433.milc 量子力学
C
MILC
四维SU(3)格点规范理论的模拟,用来研究QCD量子色动力学、夸克及胶子
434.zeusmp 物理:计算流体力学
Fortran 77/REAL*8
ZEUS-MP
用来计算理想、非相对论条件下的流体力学和磁流体力学,434.zeusmp模拟计算了一个统一磁场中的3D冲击波
435.gromacs 生物化学/分子力学
C & Fortran
GROMACS
GROMACS是一个分子力学计算套件,然而也可以用于非生物系统,435.gromacs模拟了在一个水和离子溶液中的蛋白质溶菌酶结构在各种实验手段如核磁共振的X光照射下的变化
436.cactusADM 物理:广义相对论
Fortran 90, ANSI C
Cactus BenchADM
436.cactusADM对时空曲率由内部物质决定的爱因斯坦演化方程进行求解,爱因斯坦演化方程由10个标准ADM 3+1分解的二阶非线性偏微分方程组成。
437.leslie3d 流体力学
Fortran 90
LESlie3d
LESlie3d是用来计算湍流的计算流体力学程序,437.leslie3d计算了一个如燃油注入燃烧室的时间分层混合流体。
444.namd 生物/分子
C++
NAMD
NAMD是一个大型生物分子系统并行计算程序,444.namd模拟了了92224个原子组成的A-I载脂蛋白
447.dealII 有限元分析
C++ w/Boost lib
deal.II lib
deal.II是定位于自适应有限元及误差估计的C++库,447.dealII对非常系数的亥姆霍兹方程进行求解,它使用了基于二元加权误差估计生成最佳网格的自适应方法,该方程在3维得解
450.soplex 线形编程、优化
ANSI C++
SoPlex v1.2.1
SoPlex使用单纯形算法解线性方程
453.povray 影像光线追踪
ISO C++
POV-Ray
POV-Ray是一个光线追踪渲染软件,453.povray渲染一幅1280x1024的反锯齿国际象棋棋盘图像
454.calculix 结构力学
Fortran 90 & C w/SPOOLES code
CalculiX
CalculiX是一个用于线性及非线性三位结构力学的有限元分析软件,454.calculix计算了一个高速旋转的压缩盘片在离心力的作用下的应力和变形情况
459.GemsFDTD 计算电磁学
Fortran 90
GmesTD from GEMS
459.GemsFDTD使用FDTD(有限差分时域)方法求解三维时域中的麦克斯韦方程,计算了一个理想导体的雷达散射截面
465.tonto 量子化学
Fortran 95
Tonto
Tonto是一个面向对象的量子化学程序包,465.tonto计算面向量子晶体学,它基于一个符合X光衍射实验数据的、约束的分子Hartree-Fock波函数
470.lbm流体动力学
ANSI C
470.lbm使用LBM(格子波尔兹曼方法)模拟非压缩流体,它模拟了两种情况:类似活塞推动的剪切驱动流体和管道流体,测试包含了3000个步骤
481.wrf 天气预报
Fortran 90 & C
WRF v2.0.2
481.wrf基于WRF(Weather Research and Forecastin)模型,对NCAR的数据进行了计算,数据包括了UTC 2001.06.11到UTC 2001.06.12以三小时为间隔的数据
482.sphinx3 语音识别
C
Sphinx-3
语音识别
1.6 测试方法
runspec -c test.cfg -i ref -n 1 all -I 单核测试所有项整型浮点型
runspec -c test.cfg -i ref -r 8 -n 3 all -I 八核测试三次测试所有项整型浮点型
--rate(-r) 核数
-n 测试次数
1.7数据分析
1.7.1在生成的CINT2006.xxx.txt
##############################################################################
# INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN #
# #
# 'reportable' flag not set during run #
# 471.omnetpp peak did not have enough runs! #
# 456.hmmer peak did not have enough runs! #
# 445.gobmk peak did not have enough runs! #
# 458.sjeng peak did not have enough runs! #
# 429.mcf peak did not have enough runs! #
# 473.astar peak did not have enough runs! #
# 483.xalancbmk peak did not have enough runs! #
# 400.perlbench peak did not have enough runs! #
# 464.h264ref peak did not have enough runs! #
# 462.libquantum peak did not have enough runs! #
# 401.bzip2 peak did not have enough runs! #
# 403.gcc peak did not have enough runs! #
# No 'base' runs! Base measurement required! #
# Error 483.xalancbmk: 483.xalancbmk: copy #0 non-zero return code (rc=254, signal=0) #
# Error 483.xalancbmk: Output miscompare #
# #
# INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN #
##############################################################################
SPEC CINT2006 Summary
Loongson 3A2000
Tue Nov 5 16:35:16 2019
SPEC License #0 Test date: May-2015 Hardware availability: May-2015
Test sponsor: Loongson Software availability: May-2015
Estimated Estimated
Base Base Base Peak Peak Peak
Benchmarks Ref. Run Time Ratio Ref. Run Time Ratio
-------------- ------ --------- --------- ------ --------- ---------
400.perlbench 9770 1204 8.12 *
401.bzip2 9650 1628 5.93 *
403.gcc 8050 773 10.4 *
429.mcf 9120 665 13.7 *
445.gobmk 10490 1077 9.74 *
456.hmmer 9330 1166 8.00 *
458.sjeng 12100 1467 8.25 *
462.libquantum 20720 765 27.1 *
464.h264ref 22130 2136 10.4 *
471.omnetpp 6250 1009 6.20 *
473.astar 7020 887 7.91 *
483.xalancbmk 6900 0.0200 RE
==============================================================================
400.perlbench 9770 1204 8.12 *
401.bzip2 9650 1628 5.93 *
403.gcc 8050 773 10.4 *
429.mcf 9120 665 13.7 *
445.gobmk 10490 1077 9.74 *
456.hmmer 9330 1166 8.00 *
458.sjeng 12100 1467 8.25 *
462.libquantum 20720 765 27.1 *
464.h264ref 22130 2136 10.4 *
471.omnetpp 6250 1009 6.20 *
473.astar 7020 887 7.91 *
483.xalancbmk NR
Est. SPECint_base2006 0.00
Est. SPECint2006 Not Run
HARDWARE
--------
CPU Name: Loongson
CPU Characteristics:
CPU MHz: 800
FPU: Integrated
CPU(s) enabled: 1 core, 1 chip, 1 core/chip
CPU(s) orderable: 1
Primary Cache: 64KB I + 64KB D
Secondary Cache: 4096KB(I + D)
L3 Cache: --
Other Cache: --
Memory: 2 x 2GB DDR333
Disk Subsystem: --
Other Hardware: --
SOFTWARE
--------
Operating System: Centos6.4
Compiler: gcc , g++ & gfortran 4.4
Auto Parallel: --
File System: ext3
System State: runlevel 3
Other Software: --
General Notes
-------------
400.perlbench: -DSPEC_CPU_LINUX_IA32
462.libquantum: -DSPEC_CPU_LINUX
C/C++ base flags: -O2
Fortran base flags: -O2
1.7.1在生成的CFP2006.xxx.txt
SPEC License #0 Test date: May-2015 Hardware availability: May-2015
Test sponsor: Loongson Software availability: May-2015
Estimated Estimated
Base Base Base Peak Peak Peak
Benchmarks Ref. Run Time Ratio Ref. Run Time Ratio
-------------- ------ --------- --------- ------ --------- ---------
410.bwaves 13590 1210 11.2 *
416.gamess 19580 2375 8.24 *
433.milc 9180 982 9.34 *
434.zeusmp 9100 947 9.61 *
435.gromacs 7140 1438 4.96 *
436.cactusADM 11950 6619 1.81 *
437.leslie3d 9400 1044 9.01 *
444.namd 8020 1111 7.22 *
447.dealII 11440 666 17.2 *
450.soplex 8340 1034 8.07 *
453.povray 5320 562 9.46 *
454.calculix 8250 1022 8.07 *
459.GemsFDTD 10610 1806 5.88 *
465.tonto 9840 1706 5.77 *
470.lbm 13740 937 14.7 *
481.wrf 11170 1927 5.80 *
482.sphinx3 19490 1720 11.3 *
==============================================================================
410.bwaves 13590 1210 11.2 *
416.gamess 19580 2375 8.24 *
433.milc 9180 982 9.34 *
434.zeusmp 9100 947 9.61 *
435.gromacs 7140 1438 4.96 *
436.cactusADM 11950 6619 1.81 *
437.leslie3d 9400 1044 9.01 *
444.namd 8020 1111 7.22 *
447.dealII 11440 666 17.2 *
450.soplex 8340 1034 8.07 *
453.povray 5320 562 9.46 *
454.calculix 8250 1022 8.07 *
459.GemsFDTD 10610 1806 5.88 *
465.tonto 9840 1706 5.77 *
470.lbm 13740 937 14.7 *
481.wrf 11170 1927 5.80 *
482.sphinx3 19490 1720 11.3 *
Est. SPECfp_base2006 0.00
Est. SPECfp2006 Not Run
HARDWARE
2.lmbench
2.1描述
Lmbench 是一套简易可移植的,符合ANSI/C 标准为UNIX/POSIX 而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench 旨在使系统开发者深入了解关键操作的基础成本。
2.2组织
ANSI/C 标准为UNIX/POSIX 而制定的微型测评工具
2.3官方网站
http://www.bitmover.com/lmbench/
2.4功能
带宽测评工具
反应时间测评工具
其他
读取缓存文件
拷贝内存
读内存
写内存
管道
TCP
上下文切换
网络:连接的建立,管道,TCP,UDP 和RPC hot potato
文件系统的建立和删除
进程创建
信号处理
上层的系统调用
内存读入反应时间
处理器时钟比率计算
2.5测试方法
make results 详细见测试方法文档
2.6测试数据分析
summary.out
L M B E N C H 3 . 0 S U M M A R Y
------------------------------------
(Alpha software, do not distribute)
Basic system parameters
------------------------------------------------------------------------------
Host OS Description Mhz tlb cache mem scal
pages line par load
bytes
--------- ------------- ----------------------- ---- ----- ----- ------ ----
localhost Linux 2.6.36. mips64el-linux-gnu 899 64 32 4.3200 1
localhost Linux 2.6.36. mips64el-linux-gnu 899 64 32 4.4300 1
Processor, Processes - times in microseconds - smaller is better
------------------------------------------------------------------------------
Host OS Mhz null null open slct sig sig fork exec sh
call I/O stat clos TCP inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
localhost Linux 2.6.36. 899 0.46 0.93 9.99 14.5 17.0 0.98 4.33 482. 1733 9723
localhost Linux 2.6.36. 899 0.46 0.93 9.95 14.3 17.0 0.98 4.34 486. 1727 9847
Basic integer operations - times in nanoseconds - smaller is better
-------------------------------------------------------------------
Host OS intgr intgr intgr intgr intgr
bit add mul div mod
--------- ------------- ------ ------ ------ ------ ------
baixin-PC Linux 4.19.34 0.3900 0.3800 3.2700 3.8500
localhost Linux 2.6.36. 2.2300 2.2200 1.4500 29.5 17.8
localhost Linux 2.6.36. 2.2300 2.2300 1.4500 29.5 17.8
Basic uint64 operations - times in nanoseconds - smaller is better
------------------------------------------------------------------
Host OS int64 int64 int64 int64 int64
bit add mul div mod
--------- ------------- ------ ------ ------ ------ ------
localhost Linux 2.6.36. 2.230 5.5600 278.2 254.8
localhost Linux 2.6.36. 2.220 5.5600 280.9 255.9
Basic float operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------
Host OS float float float float
add mul div bogo
--------- ------------- ------ ------ ------ ------
localhost Linux 2.6.36. 7.7900 7.7900 14.5 36.7
localhost Linux 2.6.36. 7.7900 7.7900 14.5 36.7
Basic double operations - times in nanoseconds - smaller is better
------------------------------------------------------------------
Host OS double double double double
add mul div bogo
--------- ------------- ------ ------ ------ ------
baixin-PC Linux 4.19.34 1.5400 1.9200 6.9300 6.9300
localhost Linux 2.6.36. 7.7900 7.7900 22.2 51.8
localhost Linux 2.6.36. 7.7900 7.7900 22.2 51.8
Context switching - times in microseconds - smaller is better
-------------------------------------------------------------------------
Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw
--------- ------------- ------ ------ ------ ------ ------ ------- -------
localhost Linux 2.6.36. 2.1000 2.4800 15.5 21.0 18.5 22.2 34.7
localhost Linux 2.6.36. 2.6300 2.6100 15.7 9.7600 31.6 15.8 28.9
*Local* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------
Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP
ctxsw UNIX UDP TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ----
localhost Linux 2.6.36. 2.100 14.7 24.9 32.6 58.1 46.9 78.1 216.
localhost Linux 2.6.36. 2.630 14.7 25.0 32.9 58.5 46.4 77.4 217.
*Remote* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------
Host OS UDP RPC/ TCP RPC/ TCP
UDP TCP conn
--------- ------------- ----- ----- ----- ----- ----
localhost Linux 2.6.36.
localhost Linux 2.6.36.
File & VM system latencies in microseconds - smaller is better
-------------------------------------------------------------------------------
Host OS 0K File 10K File Mmap Prot Page 100fd
Create Delete Create Delete Latency Fault Fault selct
--------- ------------- ------ ------ ------ ------ ------- ----- ------- -----
localhost Linux 2.6.36. 51.1 43.7 134.0 67.3 1131.0 1.327 4.14750 9.472
localhost Linux 2.6.36. 51.6 43.0 134.7 67.4 1111.0 1.332 4.14210 9.474
*Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------------------------
Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem
UNIX reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- -----
localhost Linux 2.6.36. 609. 554. 31.2 385.9 369.5 136.1 137.2 366. 251.6
localhost Linux 2.6.36. 590. 555. 34.9 385.6 370.1 125.1 124.1 366. 207.1
Memory latencies in nanoseconds - smaller is better
(WARNING - may not be correct, check graphs)
------------------------------------------------------------------------------
Host OS Mhz L1 $ L2 $ Main mem Rand mem Guesses
--------- ------------- --- ---- ---- -------- -------- -------
localhost Linux 2.6.36. 899 5.5630 33.2 164.6 384.9
localhost Linux 2.6.36. 899 5.5610 33.1 164.8 385.5