SPECPOWER2008

news2024/11/27 19:43:17

一、前言#

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、硬件配置#
序号设备类型主机名硬件配置网络信息操作系统
1SUT(被测机)node131CPU: 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.131Kylin v10
2CCS(压力机)node135CPU:Intel E5-2620 v2 * 2
内存:64GB
系统盘:Samsung 480GB SATA SSD * 2
172.16.5.135windows server 2012
3功率计-横河电机WT310E--
2.2、测试工具#
软件名称软件版本软件用途
SPECpowerssj2008 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、功率仪连接说明#

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

  • 功率仪产品铭牌

  • 电源盒产品铭牌

  • 电源线接线定义

  • 功率仪电源盒接线说明

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1295991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JPA对数据库修改注意点

同一事务中获取不到修改数据 spring-boot-starter-parent版本2.7.12 Dao Query(value "select * from inventory_list where id in (?1) order by id desc",nativeQuery true) List<InventoryListEntity> getByIds(List<Integer> idList);Modifyin…

openharmony 开发环境搭建和系统应用编译傻瓜教程

一、DevEco Studio 安装 当前下载版本有两个&#xff0c;由于低版本配置会有各种问题&#xff0c;我选择高版本安装 低版本下载链接 HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 高版本下载链接 OpenAtom OpenHarmony 解压后安装 双击安装 安装配置 二、创建测…

字符串指令集

字符串指令的格式 例子1就成功发送了指令 例子2就是发送的字符串有误 查询当前位置就会在附加信息中返回当前座位的坐标 第一个指令的参数就是闪灯的两个参数 如第一个示例就是10ms On Time 第二个就是Off Time 使用标准库来接收字符串命令 字符串指令的接收 因为一个指令就是…

vue实现可拖拽列表

直接上代码 <!-- vue实现可拖拽列表 --> <template><div><button click"logcolig">打印数据</button><TransitionGroup name"list" tag"div" class"container"><divclass"item"v-f…

『PyTorch学习笔记』如何快速下载huggingface模型/数据—全方法总结

如何快速下载huggingface模型/数据—全方法总结 文章目录 一. 如何快速下载huggingface大模型1.1. IDM(Windows)下载安装连接1.2. 推荐 huggingface 镜像站1.3. 管理huggingface_hub cache-system(缓存系统) 二. 参考文献 一. 如何快速下载huggingface大模型 推荐 huggingface…

0013Java程序设计-基于Vue的上课签到系统的设计与实现

文章目录 **摘 要**目录系统设计4.2学生签到4.3 签到信息列表4.4 用户信息管理5.1系统登录5.1.1 登录5.1.2 清除用户登记记录5.1.3 登录拦截 5.2用户管理5.2.2 用户添加5.2.3 用户编辑5.2.4 用户删除5.2.5 用户分页 5.3签到信息5.3.1签到信息列表 5.4学生签到5.4.1学生签到 开发…

智能运维相关算法总结

概念&#xff1a; 智能运维&#xff08;AIOps&#xff09;是基于已有的运维数据&#xff08;日志、监控信息 、应用信息&#xff09;并通过机器学习的方法来进一步解决自动化运维没办法解决的问题&#xff0c;其核心是机器学习和大数据平台。 目标&#xff1a; 事前预警&…

ssh免密登录gitee

文章目录 一、简介二、实现流程1. 生成公钥和私钥 2、在Gitee上创建仓库3、GoLand的连接Gitee4、上传 实现本机与Gitee码云之间的免密码登录&#xff0c;通过SSH协议&#xff0c;用于通过Git与远程仓库进行通信&#xff0c;将本地仓库推送到远程仓库 参考&#xff1a;gitee git…

043:vue项目一直出现 sockjs-node/info?t=XX的解决办法

第043个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

从根上理解elasticsearch(lucene)查询原理(1)-lucece查询逻辑介绍

大家好&#xff0c;我是蓝胖子&#xff0c;最近在做一些elasticsearch 慢查询优化的事情&#xff0c;通常用分析elasticsearch 慢查询的时候可以通过profile api 去分析&#xff0c;分析结果显示的底层lucene在搜索过程中使用到的函数调用。所以要想彻底弄懂elasticsearch慢查询…

[JSMSA_CTF] 2023年12月练习题 pwn

一开始没给附件&#xff0c;还以为是3个盲pwn结果&#xff0c;pwn了一晚上没出来&#xff0c;今天看已经有附件了。 pwn1 在init_0里使用mallopt(1,0) 设置global_max_fast0 任何块释放都会进入unsort在free函数里没有清理指针&#xff0c;有UAF将v6:0x100清0&#xff0c;便于…

ResNeXt(2017)

文章目录 Abstract1. Introductionformer workour work 2. Related Work多分支卷积网络分组卷积压缩卷积网络Ensembling 3. Method3.1. Template3.2. Revisiting Simple Neurons3.3. Aggregated Transformations3.4. Model Capacity 4. Experiment 原文地址 源代码 Abstract 我…

vuepress-----18、图片缩放

图片引入两种方式 地址 # 图片缩放插件 # 实战 md文件引入图片 <img class"zoom-custom-imgs" :src"$withBase(/favicon.ico)" alt"favicon">安装配置插件 vuepress/medium-zoom: {selector: img.zoom-custom-imgs,},效果展示

LVS-DR+Keepalived+动静分离实验

架构图 解释一下架构&#xff0c;大概就是用Keepalived实现两台DR服务器的LVS负载均衡&#xff0c;然后后端服务器是两台Nginx服务器两台Tomcat服务器并且实现动静分离这个实验其实就是把 LVS-DRKeepalived 和 动静分离 给拼起来&#xff0c;真的是拼起来&#xff0c;两个部分…

MVCC是什么

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

关于什么是 JVM

关于什么是 JVM&#xff0c;看看普通⼈和⾼⼿的回答。 普通人 JVM 就是 Java 虚拟机&#xff0c;是⽤来运⾏我们平时所写的 Java 代码的。优点是它会 ⾃动进⾏内存管理和垃圾回收&#xff0c;缺点是⼀旦发⽣问题&#xff0c;要是不了解 JVM 的运⾏ 机制&#xff0c; 就很难…

网工内推 | 外企、合资公司急招网工,国内外旅游,健身年卡

01 深圳市耐施菲信息科技有限公司 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、负责项目的计划、实施、过程管控、项目验收等工作&#xff1b; 2、负责大型项目设备实施、安装调试等售后维护工作&#xff1b; 3、分析、设计网络拓扑结构、配置H3C、华为等交换机…

扁平的MutableList元素每隔若干元素一组装入新MutableList,Kotlin

扁平的MutableList元素每隔若干元素一组装入新MutableList&#xff0c;Kotlin fun main(args: Array<String>) {val array arrayOf("a", "b", "c", "d", "e", "f", "g", "h", "i…

Linux设置root初始密码

目录 一、Linux系统中普通用户和特权用户&#xff08;root&#xff09; 二、Linux系统中设置root初始密码 一、Linux系统中普通用户和特权用户&#xff08;root&#xff09; windows 系统中有普通用户和特权用户&#xff0c;特权用户是 administer&#xff0c;普通用户可以…

Qt练习题

1.使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是否…