【经验】DapuStor针对FIO历史版本中固有问题进行修复的经验
SSD性能测试第一神器——FIO,对于SSD性能测试来说,最好的工具莫过于FIO了。FIO是Jens Axboe开发的一个开源测试工具,功能非常强大,主流Linux发行版的软件仓库一般都有FIO,如果没有或者版本太老,可以通过https://github.com/axboe/FIO下载最新版本源代码编译安装。进入代码主目录,输入命令(./configure; make && make install)就编译安装完成了。
我们将简要介绍DapuStor在最近使用FIO过程中,发现并解决的一个FIO历史版本中存在的固有问题。该问题的解决方案已提交FIO github库,并成功被采纳,目前已合入:
下面我
(https://github.com/axboe/fio/pull/1479)
使用FIO测试PCIe 5.0 SSD性能过程中发现问题
我们日常的SSD性能测试过程中,一般会关闭CPU超线程和通过cpus_allowed参数绑定FIO测试进程的CPU,这样测试的结果会更加稳定和可复现。然而在使用过程中遇到了新的问题,在特定的系统环境下,设置cpus_allowed会导致FIO报错退出。
下图为某运行于Intel i9-12900K的Linux系统,设置关闭超线程以后的lscpu输出:
从上图中可以看出On-line CPU(s) list 为 0,2,4,6,8,10,12,14,16-19不连续的数字组成,总共12个可用CPU。
当设置参数cpus_allowed=14运行FIO时,FIO就会报错,无法启动测试,报错信息如下:
DapuStor工程师的解决方案
根据上图的报错信息,在FIO的代码中全局搜索too large,我们可以找到报错的代码位置为set_cpus_allowed这个函数。
进一步分析可以看出该函数使用sysconf(_SC_NPROCESSORS_ONLN) - 1作为CPU ID的最大值。
通过man sysconf查询文档,我们发现_SC_NPROCESSORS_ONLN并不适用,改用_SC_NPROCESSORS_CONF更适合用于cpus_allowed的参数校验逻辑。_SC_NPROCESSORS_ONLN指的是online CPUs个数,在当前Linux系统中只有12个online CPUs,但可用CPU ID为0,2,4,6,8,10,12,14,16-19中的任意值,所以存在CPU ID大于cpus_online - 1的个数的情况。而_SC_NPROCESSORS_CONF指的是操作系统可配置的最大CPU个数。
为了确认上述分析,我们写了简单的打印程序,可以看出当前系统的_SC_NPROCESSORS_ONLN对应的返回值为12,_SC_NPROCESSORS_CONF对应的返回值为20。
我们将sysconf参数_SC_NPROCESSORS_ONLN替换为_SC_NPROCESSORS_CONF之后,重新编译FIO,就可以正常使用参数cpus_allowed=14运行FIO了。
基于以上分析,我们的工程师对FIO的代码做了修改,向FIO提交了github pull request:https://github.com/axboe/FIO/pull/1479。经过社区讨论和历史遗留代码清理之后,该提交已经被合入。
DapuStor积极共建开源生态
DapuStor一直是开源技术的支持者,先后加入了阿里云PolarDB、openEuler等开源社区,开源的平台让我们享用了无数工程师们的成果分享和贡献,同时DapuStor也作为开源生态的参与者和贡献者,积极投入其中持续推动开放基础设施生态的发展,希望未来继续以领先的技术和开放的姿态拥抱数字时代的新价值,与行业擦出更多创新的火花,构建了繁荣的开放生态体系。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自DapuStor公众号,原文标题为:共建开源生态—DapuStor对FIO固有问题的一次修复,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】一文介绍SPDK低时延性能测试
大普微电子作为拥有前沿技术的存储企业之一,在过去五年多年的发展中,一直都致力于推出先进优越的存储产品和解决方案,而SPDK的应用势必会进一步提升SSD整体系统的性能,使得产品在同类配置中具有较高的优势。本文主要介绍SPDK低时延性能测试。
【经验】基于大普微电子智能存储SoC DPU600的加密节点设计探讨
大普微(DapuStor)业内首创的智能存储SoC DPU600,基于最新的12nm FinFET工艺,可作为SSD主控提供业界领先的性能,还集成了可计算存储平台,用于ASIC加速的机器学习架构等。
【经验】DapuStor分享芯片开发流程中的重要步骤——门级仿真
一个芯片的开发,经历规格定义、详细架构设计、RTL编码、功能验证、后端物理设计到最终流片等阶段。每个阶段都要经过各种有效论证、验证和反复检查。DapuStor芯片工程师要分享——芯片开发流程中一个重要的步骤——门级仿真,通常也称作后仿真。
【产品】业界首款PCIe 5.0 E1.S SSD——大普微海神5 ,具备PCIe Gen4双倍吞吐量
2022年8月2日,大普微电子宣布推出业界首款PCIe 5.0 E1.S形态的企业和数据中心SSD——海神5(Haishen5),支持QLC NAND,为读密集应用场景提供性能更优、成本更低的解决方案。最早在2022年第四季度向提供样品。
大普微宣布量产搭载Marvell Bravera™ SC5主控企业级PCIe 5.0 SSD,吞吐量提升一倍
DapuStor携手Marvell,正式宣布PCIe 5.0 SSD产品系列——DapuStor Haishen5成功量产,成为全球最早实现搭载Marvell Bravera™ SC5主控SSD产品量产的企业之一。DapuStor Haishen5系列是一款主打高性能、低延时及大容量的企业级SSD,拥有令人瞩目的性能特点。
大普微亮相2022集邦咨询半导体峰会,介绍PCIe5企业级SSD的相关产品性能
DapuStor作为最早布局PCIe Gen5 企业级和数据中心SSD的厂商之一,在关键部件方面,Haishen5系列采用了Marvell的Bravera SC5系列,这是业界第一个支持PCIe 5.0的SSD控制器。
现阶段国内唯一能顺利量产PCIe 4.0企业级SSD,大普微电子计划下半年推出认证的PCIe 5.0产品
2022年是PCIe 4.0在全球开始大规模商用部署的一年,也是前瞻布局PCIe 5.0迎来重要里程节点的一年。DapuStor大普微将继续秉承以技术创新和市场需求为驱动的发展理念,加大技术研发投入,并计划于下半年推出认证的PCIe 5.0产品。
实测企业级NVMe SSD组RAID磁盘阵列有多快!
如今固态硬盘(SSD)比机械盘在性能和可靠性方面都更加优越,但发生故障带来的损失巨大,为此RAID仍然是确保数据可靠持续可用的良好选择。本文中大普微电子企业级PCIe4.0嵘神5系列R5301 NVMe SSD进行RAID10和RAID5的性能测试。
【技术】NVMe-MI协议解读——完整的NVMe SSD管理方式
Nvme-MI(Management Interface),定义了一套完整的NVMe SSD管理方式,独立于NVMe协议且为NVMe SSD服务。与NVMe协议不同,NVMe-MI协议是通过MCTP协议进行传输,同时底层物理层支持PCIe或者SMBus/I2C,本文后续默认物理层都是SMBus/I2C。
【技术】NVMe协议提供管理类命令Device self-test,保障数据安全
NVMe协议提供了一个标准的命令Device self-test来主动触发盘的部件检测,可以快速的发现盘是哪个部件出现了问题,可以相应的做出反应,保障用户数据的安全。在device self-test命令的元数据检查序列里,FW会去对元数据做读校验,确认元数据的完整性。
【技术】Dapustor的Haishen系列NVMe SSD 支持4种带外管理机制,可在BMC服务器上完美显示
当前NVMe SSD的带外管理总共有4种机制,Dapustor的Haishen 系列NVMe SSD对于前述4种带外管理机制已经全部支持,能在各大服务器厂商的BMC服务器上完美显示。
大普微电子企业级SSD硬盘选型表
大普微电子提供企业级SSD硬盘,容量从0.75TB到7.68TB,寿命在1-30年,为企业客户及数据中心客户提供更高性能、更低能耗、更简易运维的完整解决方案,同时提供Open Channel、KV、Zoned Namespace等专业定制产品。
产品型号
|
品类
|
产品系列PS
|
系列
|
外形
|
PCIe&Lane
|
标称容量TB
|
寿命
|
DPH311T4T000T8
|
企业级SSD
|
Haishen3
|
H3100
|
U.2
|
Gen3x4
|
0.8TB
|
DWPD=3
|
选型表 - 大普微电子 立即选型
服务
深圳市启威测实验室,面向所有企业提供信号完整性测试服务,主要包括USB、HDMI 、DP、MIPI、PCIe 、SD/EMMC、DDR接口信号测试。测试手段有波形测试、眼图测试、抖动测试等。
提交需求>
登录 | 立即注册
提交评论