首页 > 其他分享 >【硬件相关】SPECpower能效评估工具

【硬件相关】SPECpower能效评估工具

时间:2023-11-25 11:23:15浏览次数:37  
标签:## ptd 能效 硬件 XX ssj 功率 SPECpower

 

一、前言

1、软件说明

官网:
SERT®套件用户指南2.0.5
SPECpower介绍
SPEC基准及工具
SPECpower_ssj2008测试结果
SPECpower_ssj2008-Design_ccs

- SPEC

SPEC(the Standard Performance Evaluation Corporation)是一个由计算机硬件厂商、软件公司、大学、研究机构、系统集成商、出版发型及咨询机构组成的非营利性组织,致力于创建、维护并引导一个计算机系统及业界公认的系统指标。

- SPECpower

SPECpower是由SPEC组织开发的一种性能/功耗比基准测试工具,用于评估基于Java应用程序的服务器功耗情况
SPECpower_ssj2008利用标准Java的JDK计算整体服务器性能,并根据其11个不同的工作负载区域段的功耗得出服务器的工作负载/能耗比的测试方式。它应用specjbb作为工作负载,先实时满负荷的运行3次,求得平均值得到系统的最高性能值,然后系统以此为参照,按100%、90%、80%...10%、0%(idle)运行工作负载,其系统的利用率也依次下降,性能运行结果会以ssj_ops方式记录;同时连接系统电源的功率仪(Yokogawa WT210)会实时记录系统的功率状况(Average Active Power(W)),最后系统会把性能和功率做一个累加并相除得到性能功耗比(∑ssj_ops / ∑power =Performance to Power Ratio)

2、软件应用

SPECpower_ssj2008目前是一个比较客观的服务器能耗标准,常用于中国电信、中国移动等运营商服务器集采选型测试中,它可以很好地检测服务器产品能耗,评估后期运行电费,为IDC机房规划建设、能耗分析与控制提供科学依据

3、系统组成

常见SPECpower最小组网包括以下组件:

3.1、SUT(被测系统)

即被测服务器

3.2、CCS(数据收集和控制系统)

即控制台,用于功率数据收集及相关指令下发

3.3、Power Analyzer(功率仪)

用于统计服务器在不同运行负载下的功率数据

4、组网拓扑

  • 被测系统通过电源线与功率仪连接接入外部电源,用于实时获取功率数据
  • 数据收集和控制系统通过网线与被测系统连接至同一网络环境下,用于下发相关控制指令
  • 数据收集和控制系统通过串口线与功率仪连接,用于获取功率仪生成的功率统计数据

2、测试配置

2.1、硬件配置

序号设备类型主机名硬件配置网络信息操作系统
1 SUT(被测机) node131 CPU: Phytium S5000C/64 * 2
内存:256GB
系统盘:Samsung 500GB m.2 SSD * 1
数据盘:Seagate 8TB SATA HDD * 12
缓存盘:MEMBLAZE 3.2TB PCIE SSD * 2
172.16.5.131 Kylin v10
2 CCS(压力机) node135 CPU:Intel E5-2620 v2 * 2
内存:64GB
系统盘:Samsung 480GB SATA SSD * 2
172.16.5.135 windows server 2012
3 功率计 - 横河电机WT310E - -

2.2、测试工具

软件名称软件版本软件用途
SPECpower ssj2008 v1.10 服务器能耗测试

二、测试过程

1、准备阶段

1.1、SUT配置

  • 安装依赖包:java-11-openjdk、numactl
yum install java-11-openjdk.aarch64 numactl -y
  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
  • 关闭selinux,修改/etc/selinux/configSELINUX=disabled
[root@node131 ~]# cat /etc/selinux/config | grep SELINUX=
SELINUX=disabled
  • 配置JAVA环境变量
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.7-0.ky10h.aarch64/
CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib.dt.jar
PATH=${JAVA_HOME}/bin:$PATH
export JAVA_HOME CLASSPATH PATH
unset _JAVA_OPTIONS
  • 配置ssj/runssj.sh脚本
    上传ssj/runssj.sh脚本到ssj目录下,修改DIRECTOR_HOST为压力机IP地址
#!/bin/sh
## This is an example of what a run script might look like
##

JVMS=128

## Set to TRUE if jvm Director is on this host
LOCAL_DIRECTOR=FALSE
DIRECTOR_HOST=172.16.5.135

## The SETID is used to identify the descriptive configuration properties
## that will be used for the system under test.  For example, with a SETID
## of "sut", the descriptive configuration properties will be read from the
## file SPECpower_ssj_config_sut.props from the Director system.
SETID=sut

DIRECTOR_PROPFILE=SPECpower_ssj.props

## Benchmark run rules require a list of active OS services be retained for publishable runs.
## For Solaris, this can be accomplished by uncommenting the following line.
## svcs -a > services.txt
## For Red Hat Linux, this can be accomplished by uncommenting the following line.
## /sbin/runlevel > services.txt ; /sbin/chkconfig -list >> services.txt
## Other operating systems will require similar commands.

## Set java options for ssj and director
JAVAOPTIONS_SSJ="-Djava.awt.headless=true -Xms10440m -Xmx10440m"
JAVAOPTIONS_DIRECTOR="-Djava.awt.headless=true -Xms10440m -Xmx10440m"


JAVA=java


CP="ssj.jar:check.jar:lib/jcommon-1.0.16.jar:lib/jfreechart-1.0.13.jar"

date

$JAVA -version

x=1
while [ "$x" -le "$JVMS" ]; do
    a=`expr $x - 1`    
    echo Starting instance $x
    numactl -C $a  -l  $JAVA -cp ${CP} $JAVAOPTIONS_SSJ -XX:+UnlockExperimentalVMOptions -XX:+UseFastSerializer -DfastSerializerEscapeMode=true -XX:+UseParallelGC -XX:+AggressiveUnboxing -XX:+LazyBox -XX:+TieredCompilation  org.spec.power.ssj.SpecPowerSsj -jvmid $x -numJvms $JVMS -director $DIRECTOR_HOST -setid $SETID  > ssjOutput.$x &
#   numactl -N $a  -l  $JAVA -cp ${CP} $JAVAOPTIONS_SSJ -XX:+UnlockExperimentalVMOptions -XX:CompileCommand=blackhole -XX:+UnlockDiagnosticVMOptions -XX:-UseVtableBasedCHA  org.spec.power.ssj.SpecPowerSsj -jvmid $x -numJvms $JVMS -director $DIRECTOR_HOST -setid $SETID  > ssjOutput.$x &
    x=`expr $x + 1`
done

if [ "$LOCAL_DIRECTOR" = "TRUE" ]; then
    echo Starting Director 
    $JAVA -cp ${CP} $JAVAOPTIONS_DIRECTOR -XX:+UnlockExperimentalVMOptions -XX:+UseFastSerializer  -DfastSerializerEscapeMode=true   org.spec.power.ssj.Director -propfile $DIRECTOR_PROPFILE 
else
    wait
fi

date

1.2、CCS配置

  • 下载安装openjdk-11
镜像下载:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/11/jdk/x64/windows/OpenJDK11U-jdk_x64_windows_hotspot_11.0.21_9.msi
  • 修改ssj/SPECpower_ssj.props文件
    修改input.load_level.number_warehouses为被测机线程数
input.load_level.number_warehouses=128
  • 修改ccs/ccs.props文件
    修改ptd.pwr1.config.analyzer.model为功率计型号
    修改ptd.pwr1.config.analyzer.serial为功率计序列号
    修改ptd.pwr1.config.analyzer.connectivity为与功率计的连接方式(串口为RS-232)
ptd.pwr1.config.analyzer.model=WT310E
ptd.pwr1.config.analyzer.serial=C3ZD04018E
ptd.pwr1.config.analyzer.connectivity=RS-232
  • 修改ptd/runpower.bat文件
    修改PTD为配置实际使用的ptd文件
    修改DEVICE为功率计设备号(横河WT210为8 ,WT310为49)
    注:当不知道设备号时,可以改为8,会自动匹配
    修改DEVICE_PORT为连接端口(查看功率计连接在哪个com口上,根据实际情况配置)
set PTD=ptd-windows-x86.exe
set DEVICE=49
set DEVICE_PORT=COM3
  • 修改ccs/ccs.prop文件
ccs.ptd.pwr1.current_range_settings=4
  • 修改ssj/rundirector.bat文件
set JAVAOPTIONS_DIRECTOR=-Xms4096m -Xmx4096m

2、测试阶段

2.1、环境检查

  • 检查被测机上电模式,是否为负载均衡
  • 检查被测机散热模式,是否对风扇转速有限制
  • 被测机配置检查,检查CPU、内存、硬盘、PCIe卡状态是否正常
  • 检查java版本信息
  • 检查压力机与被测机网络连接正常
  • 检查压力机与功率仪连接正常
  • 检查功率仪状态(确保能正确显示服务器电压、电流和功率运行状况)

2.2、启动测试

安装以下测试顺序,依次启动运行程序

1、CCS端运行
  • CCS端运行ptd/runpower.bat
  • CCS端运行ptd/runtemp.bat
  • CCS端运行ssj/rundirector.bat
2、SUT端运行
  • SUT端运行ssj/runssj_ft_s5000c.sh
3、CSS端运行
  • CCS端运行ccs/runCCS.bat

2.3、查看结果

测试执行完成后,会在压力机生成Results\ssj.0180\ssj.0180-main.html文件,重点关注每个阶段ssj_ops∑ssj_ops / ∑power结果

三、Q&A

1、性能调试

不同BIOS配置、系统参数、测试脚本下,对应的能耗表现有所不同,通常情况下,为了快速验证性能调试手段,我们可以修改运行脚本,使其只跑其中1个阶段即可(默认情况下会跑完所有11个阶段阶段,耗时较长)

修改ssj/SPECpower_ssj.props文件,增加参数input.load_level.count=1,使其只运行第一个阶段

input.load_level.count=1

2、功率仪连接说明

由于测试机电源需与功率仪连接以此获取测试机电压、电流、功率运行状况,故功率仪连接部分需要用到插排电源盒功率仪三部分,之后测试机电源插入插排即可
注:各线缆连接完成后,电源盒需按下常规测量按钮

  • 功率仪产品铭牌

  • 电源盒产品铭牌

  • 电源线接线定义

  • 功率仪电源盒接线说明

  • 连接路径为测试机-插排-电源盒-功率仪,各线缆连接完成后,按下电源盒常规测量按钮,此时功率仪可正常检测测试机电压、电流、功率运行状况,之后功率仪通过串口或者网络将状况数据传输至压力机

标签:##,ptd,能效,硬件,XX,ssj,功率,SPECpower
From: https://www.cnblogs.com/luxf0/p/17855319.html

相关文章

  • 助力全球硬件创新,让硬科技创业更简单,华秋硬创大赛三强诞生
     11月19日,华秋第九届中国硬件创新创客大赛-全国总决赛在深圳福田会展中心第25届高交会落下了帷幕。在深圳市福田科技创新局副局长刘擎的指导下,华秋与来自华南/华东/华北三大赛区和集成电路赛道的12支路演项目代表,大米创投、华登国际、星视界资本、盛裕资本、OPPO巡星投资、湾......
  • RTL8211EG硬件设计要点
    RTL8211EG硬件问题解决办法问题一:RTL8211在RGMII模式下跑千兆失败的问题1、 连接网线后与PC自协商到100M。原因:RTL8211EG芯片内部自带DCDCBUCK降压电路,需要外置电感电容才能输出稳定的1.05V电压提供给芯片的内核工作。对于电感和电容,要选择手册推荐的型号,如图1.1所示。V2板由......
  • RTL8211EG硬件设计要点
    RTL8211EG硬件问题解决办法问题一:RTL8211在RGMII模式下跑千兆失败的问题1、 连接网线后与PC自协商到100M。原因:RTL8211EG芯片内部自带DCDCBUCK降压电路,需要外置电感电容才能输出稳定的1.05V电压提供给芯片的内核工作。对于电感和电容,要选择手册推荐的型号,如图1.1所示。V2板由于使......
  • 3.6 基于硬件的前瞻执行
    3.6基于硬件的前瞻执行Tomasulo算法通过寄存器重命名、设置预留站和使用公共数据总线等方式,优化指令的并行执行,能够处理数据依赖,但在处理控制依赖时存在局限。如果存在分支带来的控制依赖,Tomasulo算法需要等待分支指令的执行结果,(或者不等待,但可能导致中断的不精确,乱序执行本身就......
  • 硬件驱动为什么要有WHQL数字签名
    硬件驱动要有WHQL数字签名才能实现正常安装、启动、运行,并实现驱动静默安装。目前的桌面操作系统中,Windows系统市场占有率处于优势,Windows的各个版本的系统加起来几乎占领了大部分市场。所以很多工业和行业的硬件设备都要考虑兼容在Windows系统上使用,这个使用过程中难免涉及设备的......
  • 转载:基于WDF的PCI/PCIe接口卡Windows驱动程序(5)-如何为硬件移植驱动程序
    原文地址:http://www.cnblogs.com/jacklu/p/6139347.html如果你觉得这篇博客对你的项目有用,请引用以下论文:MengShengwei,LuJianjie.DesignofaPCIeInterfaceCardControlSoftwareBasedonWDF.FifthInternationalConferenceonInstrumentationandMeasurement,C......
  • 阿里云卡片式硬件终端ASC01使用体验
    大概今年三月份的时候,我收到一条短信说阿里云搞活动,本来这种短信我不会理会的,但是那天可能太闲了,于是点开看来看,结果就看到了一个只卖99元的卡片电脑(原价1000)。当时我就和我同学一起买了一个。  买回来后,发现只有一个巴掌大的合金卡片,手感质感真的非常好,上面有两个typeC接......
  • 轻松定位硬件故障方法-日志分析
    同事发现某台机器上message日志数量突然暴增,简单查看了下有内存相关的报错,所以转交给我来查看。Message日志进入服务器查看message日志,先看看同事说的告警到底是什么,如下图:还真是,通道3,第一个槽位的内存发生故障了。但是,我只知道A1/B1/A2/B2,所以我还是继续。Ipmitool工具不论怎......
  • opengl开发:win11已阻止应用程序访问图形硬件如何处理?
     开发中出现这种问题: 请到设置里面搜索:图形设置,浏览,加入exe,选择选项然后设置。不要选择让windows决定即可。 ......
  • 硬件开发笔记(十二):RK3568底板电路电源模块和RTC模块原理图分析
    前言  做硬件做系统做驱动,很难从核心板做起,所以我们先依赖核心板,分析底板周围的电路,然后使用AD绘制原理图和设计PCB,打样我司测试底板,完成硬件测试,再继续系统适配,驱动移植,从而一步一步完善成为一个功能完善的底板,且搭载了我们跳完的系统和驱动。  本篇文章,先从底板的电源电......