Measuring and Benchmarking Power Consumption and Energy Efficiency
来源
ICPE 18
关键词
功率,能效,性能,基准,测量,负载水平,SPEC
摘要
- 显存能耗测量方法不考虑多个负载级别和工作负载组合。
- 介绍了PTDaemon 能耗测量工具和Chauffeur 能耗评测框架
- SPEC SERT 包含的工作负载,并介绍行业标准的计算效率基准
引言
- 如何精确测量能耗?
- 数据中心的冗余机制(灾难备份)导致的额外负载需要被考虑
- SPEC 能耗方法学多重负载级别下进行能耗效率测评
- 功率测量是在SPEC PTDaemon中实现的,它与功率分析仪和温度传感器进行通信。工作负载分派,结果收集和测试执行由Chauffeur框架处理。
方法
遵守的原则
- 可重现
- 公平
- 可验证
- 可使用
评测电力要求
- 均方根电力测量
- 每秒通过通讯接口将测量值记录到外部设备上
- 不确定性少于1%
- 定期校准至国家标准
- 设备配置控制和程序界面记录
- 能够处理安培数峰值(波峰因数),以在恶劣的功率条件下实现正确的读数
考虑环境温度
PTDaemon
基于TCP-IP的公共接口集成到基准线束中,对评测软件隐藏不同硬件接口的协议和行为
通过PTDaemon与传感器进行交互(TCP/IP),设备类型由守护程序初始调用时在命令行上本地传递的参数指定。
SUT和PTDaemon之间的通信协议独立于特定的功率测量设备类型,可以独立于要支持的测量设备来开发基准。
PTDaemon实现:
- 主进程:控制初试化网络命令界面
- 单独线程:管理功耗仪与温度传感器
为了支持不同的功率分析仪,每个受支持的设备都需要在PTDaemon中拥有自己的模块。周期性的更新各个模块以增加设备支持。可以根据手册来自己提交设备支持。
能耗效率方法学
校准步 :被测机器上的目标负载最大事务率?记为100%。负载的多层次测量。
负载层次定义为最大应用程序吞吐量的百分比,而不是目标CPU利用率。CPU利用率在不同核心和系统上差异较大。使用吞吐量百分比更加精确
设备安装
两个物理系统:
- 控制系统:运行线束,报告器,并与外部测量设备连接。
- 被测机:运行负载
通过网络进行同步,数据收集
每个逻辑CPU生成一个客户端,事务负载在客户端上单独运行。通过运行多个客户端实现并行性。
至少一个功耗仪与温度传感器。温度传感器确保实验环境一致。
负载和工作量
多个worklet构成一个workload,一个worklet是小规模的单元(事务)
阶段和间隔
worklet的三个阶段:
- warmup:不记录测量值,避免瞬时影响
- 校准:得到负载的最大层次
测量:实际测量
每个阶段一个或多个间隔,用于阶段配置工作执行。
每个间隔包含前测量期与后测量期pre-measurement and a post-measurement period.,事务被在目标层次被执行,但不记录测量值。15s
测量阶段在两个时期之间,120s
切换负载,10s的缓冲期避免影响。间隔顺序执行,渐进测量顺序(多层次性能负载的测量 )
事务吞吐率:校准阶段结果和目标负载层次的百分比决定
使用每个间隔的能耗与吞吐率的平均值计算间隔的能耗效率
实现
Chauffeur
框架支持在多种负载下测量能耗。
SPEC PTDaemon与功率分析仪和温度传感器连接,Chauffeur对PTDaemon进行必要的调用,以便在适当的时间间隔内收集数据。
多种用途下运行的能力。与ssh2008相同原则。
可伸缩性 :多进程与多线程,在各种服务器上提供伸缩性。支持多节点运行
易用 : 自动配置,自动验证结果
便携性 Java实现,跨系统
灵活性 灵活的改变运行时行为,(收集不同数据格式)通过配置文件,XML,HTML,TXT,CSV格式进行报告
Chauffeur WDK 测量任意负载
代码编写逻辑
使用框架简化了测试逻辑,只用专注测试逻辑。
自动对负载进行多层次测试
开发一个worklet两个组件:(代码逻辑)
- Transaction事务 :worklet测试的业务逻辑 两个方法
- 产生输入(事务的随机数据)
- 处理(接受输入然后处理并得到结果)
- User用户:获取状态信息
支持协同worklet,多个worklet同时工作。IO写入模拟
SERT 和负载
最基础的配置要求:一个功耗仪,温度传感器,SUT,Controller
使用Chauffeur框架。控制安装在Controller上的软件,处理能耗记录的后勤工作。
SUT从Chauffeur实例(Director)接收指令来执行负载集合。负载集合由Worklet组成,Worklets是实际的代码,旨在强调特定的一个或多个特定系统资源,例如CPU,内存或存储IO。
每个功率分析仪和温度传感器均与SPEC PTDaemon的专用实例进行交互,该SPEC PTDaemon实例在执行Worklet时收集其读数。
报告器收集整理数据产出HTML,XML等格式的输出
评测的挑战:复杂的配置。(格式错误等等)
系统配置发现
SERT通过自动硬件发现过程和易于使用的GUI工作流程来解决这些问题,该流程可帮助用户生成高质量的准确报告。GUI减轻了测试配置,执行和报告编辑的负担,因此用户可以专注于获得结果。
定义和执行
SERT由worklets套件组成,每个worklet从具体放方面测试被测机。LUworklet:CPU密集型的矩阵分解。序列IOworklet执行序列化IO操作。
不同方面的负载:CPU,内存和存储IO。
Worklet连续执行,运行在自己的JVM或进程中避免干扰。每个JVM固定到特定处理器,以避免人为限制扩展。
多个JVM来运行单个worklet避免软件瓶颈限制伸缩性,主要是测量硬件的能耗不是软件的堆栈。
Worklet
12个
CPU
数据压缩,加密/解密,复数算法,矩阵分解,浮点数组处理,排序算法,字符串处理
存储IO
读与写的事务
内存
使用预计算和缓存的数据查找来进行XML文档的操作和验证,以及对数据转换的四个主要类别进行具有读/写操作的数组操作;
主动怠速
稳定阶段,空闲阶段
没有网络IO的worklet,由配置修改器处理
SPECpower_ssj2008
略过
结果
刻画了SPEC Power的方法学
SPEC PTDaemon可实现功耗的精确测量,而Chauffeur框架可实现工作负荷的调度,布置,执行和结果收集。
可以在ChauffeurWDK中使用PTDaemon和Chauffeur,以实现和测试研发工作负载的能源效率。
另一方面,SPEC SERT已经提供了大量可用于研究和服务器评级的工作负载。