首页 基于实际应用测量存储性能

基于实际应用测量存储性能

by 访客作者

想象一下,如果您的锻炼应用程序仅记录您进行的简单养生法,该养生法从不改变,也不需要对您的努力程度进行任何调整。 锻炼的二维图表看起来像心脏监视器上的平线,对您的整体表现几乎没有启发。 不幸的是,这就是工作站存储性能综合基准的情节线。 这些类型的基准测试旨在使用在固件、驱动程序和硬件之间进行大量优化的访问规范,从存储设备中提取峰值。


想象一下,如果您的锻炼应用程序仅记录您进行的简单养生法,该养生法从不改变,也不需要对您的努力程度进行任何调整。 锻炼的二维图表看起来像心脏监视器上的平线,对您的整体表现几乎没有启发。 不幸的是,这就是工作站存储性能综合基准的情节线。 这些类型的基准测试旨在使用在固件、驱动程序和硬件之间进行大量优化的访问规范,从存储设备中提取峰值。

典型案例是测量具有非常高队列深度的 4K 块大小的随机 IO。 在这种情况下,供应商有足够的机会优化存储队列并最大化设备的 IOPS(每秒输入/输出操作)分数。 相比之下,真正的工作站应用程序的平均 IO 范围为 XNUMX 或 XNUMX。 由于队列深度如此之低,重新排序和其他优化不会对性能产生如此显着的影响; 瓶颈向下转移到原始硬件功能,即使使用 RAID 或激进的混合/分层缓存架构也是如此。


为综合基准绘制存储读取和写入的图形。 X 轴是距发生 IO 的起始位置的偏移量。 Y 轴是对该位置进行的交易的块大小。 例如,一个 128K 的块大小将尝试在某个偏移位置从驱动器读取 128K 的数据,所有这些都在一个请求中。

不可预测的存储路径
真正的工作站应用程序不会遵循最佳存储访问的可预测路径。 例如,在非线性视频编辑领域,块大小更符合容器格式或编码方法,而不是针对超大文件传输的最佳块大小。

如果应用程序对所有读入内存的大文件使用 128K 块大小,然后以较小的大小遍历该数据,则速度会快得多。 但是,应用程序要求其他不太理想的存储访问方法这一事实使得任何综合测量都无法代表实际工作的处理方式。

视频编辑只是一个例子。 几乎所有应用程序,甚至是同一行业内的应用程序,都使用不同的读/写方法,这使得峰值性能状态的测量在很大程度上变得无关紧要。 准确测量存储的唯一方法是模拟实际应用程序中发生的操作。

改进方法
对于 2.1 年初发布的 SPECwpc 2016 基准测试,SPEC 工作站性能表征 (SPECwpc) 小组委员会使用 IOMeter——一种 IO 子系统测量和表征工具——来模拟各种专业应用程序的 IO 活动。 存储事务的大小和频率是从这些应用程序中收集的,IOMeter 使用这些数据在指定的时间内生成一串存储事务。

虽然这种技术比测量工作站的最大带宽和延迟要好,但它仍然不太接近应用程序的实际操作。 在下一个版本中,SPECwpc 希望更好地模拟应用程序行为,同时也反映新固态设备、NAND 和 3D Xpoint 等技术以及各种 PCIe 连接选项的影响。

在开发 3 年 2018 月发布的 SPECworkstation XNUMX 基准测试时,SPECwpc 使用 Windows Process Monitor 跟踪来自从事实际工作的各种专业应用程序的存储事务。 SPECwpc 然后编写了一个回放实用程序,将跟踪转换为与实际应用程序几乎相同的存储事务流。


SPECworkstation 3 Handbrake 应用程序的读/写

SPECwpc 没有使用来自应用程序的实际数据(其大小为数百 GB),而是使用随机选择的数据填充存储请求。 播放实用程序然后使用多个线程写入多个文件,就像实际应用程序一样。

SPECworkstation 3 基准测试包含来自各种应用程序的跟踪,包括媒体和娱乐(3D 动画、渲染)、产品开发(CAD/CAM/CAE)、生命科学(医学、分子)、金融服务、能源(石油和天然气) )、一般操作和 GPU 计算。

针对 SPECworkstation 3 存储工作负载跟踪的应用程序包括 7zip、Adobe Media Encoder、Adobe Premier Pro、Ansys Icepak、Ansys Mechanical、Autodesk 3ds Max、Autodesk Maya、Autodesk Revit、Blender、CalculiX、Dassault Systémes Solidworks、Handbrake、Lammps、Microsoft Visual Studio 2015 年,Namd、SPECviewperf 13 能源视图集和 SPECworkstation 3 WPCcfd 工作负载。


SPECworkstation 3 基准测试中 Calculix (CCX) 应用程序的读/写

展望未来
SPECworkstation 3 中使用的回放方法以相当接近实际应用程序的方式生成线程,但它仍然有一个中心问题:IO 的时间顺序和线程间的任何同步都没有准确保存。 这会导致某些线程更快地完成某些 IO,并且跨不同线程的 IOP 的并发性没有完全同步,从而导致偶尔的运行变化。

对于定于 4 年某个时间发布的 SPECworkstation 2020,SPECwpc 将致力于以一种方式保存 IO 时间顺序,以防止 IO 在到达存储设备的总线时合并。

呼吁参与
虽然并不完美,但从实际应用程序处理命令(如不同行业的工作站用户生成的命令)来跟踪存储操作是向前迈出的重要一步。

SPECwpc 小组委员会——包括来自 AMD、戴尔、富士通、惠普、英特尔、联想和 Nvidia 的代表——欢迎设备供应商、应用程序开发商和与存储性能息息相关的用户就未来工作负载提出意见。

与其他 SPEC 基准测试一样,提供最准确的方法来捕获和报告真实世界的工作站存储性能将有助于为开发人员在未来改进他们的流程开辟道路。

– 亚历克斯秀

Alex Shows 是 SPEC 工作站性能特征 (SPECwpc) 小组委员会的主席,也是戴尔的杰出工程师。 他 23 年的行业经验包括 19 年的软件设计、开发和文档编制; 17 年的硬件和驱动程序设计验证; 以及 10 年的硬件和软件技术应用研究。 他拥有 12 项专利,其中 XNUMX 项专利正在申请中。 

要了解有关图形和工作站基准测试的更多信息, 访问 SPEC/GWPG 网站, 订阅 SPEC/GWPG 电子通讯,或加入图形和 工作站基准测试 LinkedIn 组

SPEC/GWPG 基准可用于 免费下载 对除计算机及相关产品和服务供应商以外的所有人 成员 SPEC 图形和工作站性能组 (规范/GWPG).