无需专有硬件 XSKY 星辰天合 XDcache 大幅提升文件写性能
近日,IDC 发布了《中国软件定义存储 (SDS) 及超融合存储 (HCI) 系统市场季度跟踪报告,2023H1》。报告显示,在文件存储领域,XSKY 星辰天合位列第五,市场份额同比增长 53.4%。
XSKY 文件存储 XGFS 能获得市场高度认可、市场份额快速增长,离不开以客户为中心的需求开发,创新性的技术突破,以及贴近各行业数字化转型的细分解决方案。
在新发布的 XGFS V6.3 版本中,高性能文件缓存模块(以下简称:XDcache)的引入,为医疗影像、云桌面共享、CAD/CAE 工程设计仿真、基因测序比对、工业制造等场景带来了倍数的性能提升。
企业应用软件对文件存储的性能挑战
SMB 协议是传统 NAS 协议的一种,它使得用户可以方便地在 Windows PC 上访问网络共享和文件资源。除了最简单的文档共享,它也承载着非常多样的专业软件的运行。
在医疗行业中,随着影像设备精度的提高,PACS 系统的数据量迅速增长。同时,医疗诊断的实时性不断提高,对 PACS 整体解决方案的响应时间提出了更高的要求。此外,互联网和分级诊疗等业务对历史影像的调阅,也对二级归档存储的读性能提出了挑战。传统文件存储面对上亿级别的小文件存取越来越慢,导致阅片出现卡顿,降低了医院业务高峰期的效率。
在工程设计和分析领域,CAD(计算机辅助设计)、CAE(计算机辅助工程)软件被广泛用于产品设计、建模、绘图、工程分析和仿真。随着云桌面的普及,大量运行在本地的专业软件逐渐转到了自建云上。云架构提供了更高的安全性、灵活性、可扩展性,同时降低了成本,但部分专业软件的使用体验和运行效率却不如本地环境中那么流畅。
在制造业生产环节,AOI(自动光学检测 Automated Optical Inspection)技术已经成熟应用于缺陷检测系统。质检机台每天可能会生成数千万个小文件,这些小文件存放路径很深,而且在一定时间后需要自动归档或删除。如果不能及时将这些文件写入存储,会导致产线的产能大幅下降。
存储性能关乎着各行业的工作效率。为了能更好地支撑细分领域的专业软件,XSKY 对大量专业软件的 IO 模型进行了研究。研究发现,非常多运行在 Windows 上的软件,通过单并发、串行的方式写入存储,IO 大小极小,甚至经常为 4 Byte。(注:1 KB=1024 Byte)。比如:
某 PACS 软件:517 KB 的影像文件写入,先进行 20 多次 4 Byte 写入,后进行几个大块的 IO 写入。写完一个文件后,读取这个文件的前 8 KB,之后才会接着写下一个文件。
某 CAE 软件:分析仿真时,生成 2ds 格式文件,747 KB 大小,通过十几万次 4 Byte 追加写入完成。
某 AOI 软件:将机台本地存储的 4-8 KB 小图片,合并成 20 MB 的图片,上传到共享存储。上传写入过程为 4 KB 追加写。
在存储的基线性能测试中,IOPS 是最常用的指标,高并发的 4KB 读写常用于衡量集群性能。这种测试方式在一定程度上能反映存储性能,但与上述业务软件访问存储的行为差别较大。小 IO 的低并发、串行写入,要求存储提供超低的时延。同时,由于 IO 很小,需要非常多次写入,即使一点点的延迟差别,整体也会带来非常大的应用使用体验差别。这就导致了部分存储在基线测试中表现优异,但在生产业务承接上不满足需求。
传统分布式文件厂商对专有硬件 NVRAM 的使用
从存储介质上来看,从 RAM、NVRAM、NVMe SSD、SATA SSD 到 HDD,延迟逐级增大。传统的分布式文件存储为了能提供低延迟访问,通常会引入 NVRAM。NVRAM(非易失性随机存取存储器)是一种计算机内存类型,在关闭电源时仍可以保留其存储的数据。与传统的随机存取存储器(RAM)不同,RAM 是易失性的,在断电时会丢失数据。
如上图示例,传统存储厂商通常通过专有硬件 NVRAM 和两副本镜像机制来构建写缓存。对于客户端下发的小 IO 同步写,写入 RAM 后持久化到本机 NVRAM,再通过网络镜像写入其他节点 NVRAM,而后给客户端返回成功。这种方式会带来一些问题:
普通的 x86 服务器通常不直接支持 NVRAM,NVRAM 需要特定的硬件支持和集成;
NVRAM 的增加带来了更高的硬件采购成本和维护成本;
镜像两副本在数据冗余度上较低,在两节点同时掉电的情况下,虽然数据不会丢失但部分数据不可访问;
镜像数据通过 TCP 网络协议传输,延迟较大。
基于高性能网络 RoCE 构建软件架构
作为一家专注于软件定义存储领域的专精特新“小巨人”企业,XSKY 致力于通过软件实现存储管理和数据访问控制。XGFS 通过标准硬件 RAM、NVMe 和基于 RoCE 协议的三副本机制来构建写缓存。对于客户端下发的小 IO 同步写,数据同时写入接入节点的 RAM 和 NVMe 盘,通过高速 RoCE 网络,复制到其他两个节点,再返回客户端写入成功。
RoCE(RDMA over Converged Ethernet)是一种基于以太网的远程直接内存访问(RDMA)技术。它通过绕过操作系统的内核,直接在网卡上进行数据传输,避免了传统网络协议栈的处理开销,从而实现了非常低的传输延迟,降低 CPU 负载。同时,它可以通过现有的以太网基础设施进行部署,无需额外的专用网络设备或光纤布线。
在具体延迟表现上,基于 25G 网卡,RoCE 在网络传输的延迟表现上优于 TCP 几倍到几十倍。
区别于基于专有硬件设备的传统的存储系统,XGFS 分布式写缓存方案 XDcache 具有以下特点:
可以在标准硬件上运行,使用不同厂商的硬件设备,从而不受特定硬件供应商的限制;
数据复制网络采用 RDMA/RoCEv2 协议,在低成本的以太网上构建低延迟的数据传输,同时降低 CPU 负载;
默认三副本机制,使得两节点同时掉电的情况下,数据仍然完全可用。
XDcache 为企业级应用提供超低延迟与可靠性
多级缓存架构
在 V5 版本中,网关层缓存技术 XCache 为 XGFS 提供了多种缓存策略来加速文件读性能。(详见:)
提供文件预读能力,对于文件的顺序读 IO,识别并提前异步加载到缓存,达到高命中率。适用于大带宽场景,比如:广电非编、基因测序等;
提供目录预取能力,对于一个目录中大量小文件的加载,识别并提前将批量小文件加载到缓存。适用于小文件场景,比如:医疗影像、AI 训练等;
提供元数据和目录的缓存能力。默认可为千万量级的元数据加速。适用于所有场景;
XGFS 支持协议服务端、网关、元数据集群、存储池多级缓存技术,满足多样文件业务模型访问加速。
XCache 提供节点内的协议读缓存机制,提供客户端事务级的临时缓存能力,使得客户端请求在协议网关内尽可能完成元数据检索
XDCache 提供节点间的写缓存,提供跨节点的缓存一致性,确保不同文件网关节点的一致视图;
XSpeed 存储池是 XSKY SDS 提供的新一代全局缓存技术,通过聚合所有节点的缓存介质提供高性能 IO,同时提供高性价比的 EC+压缩能力,提供更好的空间利用率 。
XDCache 关键技术
XGFS 6.3 版本创新性地采用了多副本内存和异步 SSD 写入结合的高冗余度缓存技术 XDcache(XGFS Distributed Cache),使得该产品不仅可以基于通用硬件实现高性能缓存,为企业级应用提供超低延迟的访问,同时确保了缓存数据的高可靠。
关键技术:
基于自研的文件元数据集群 (XMDS) 集群优势:
融合网关层缓存能力到元数据集群 (XMDS)。合并数据和元数据两条通路,让协议 OP 优化有更大空间;
复用元数据集群 (XMDS) 成熟的多副本和故障恢复功能,基于通用 RAM 实现内存多副本、持久化 WAL(Write-Ahead Logging)保证数据安全;
RDMA/RoCEv2 网络协议支持:使用通用网卡,大幅降低小文件场景的内部 IO 时延;
智能回刷:将低并发转化为高并发、非对齐转对齐下刷,整体提高小 IO 吞吐能力。
智能 IO 过滤:自动识别高并发大 IO,直接写入存储池,提升缓存模块的效率。
XDcache 主要用于提升小文件、小 IO 写性能,支持直写(Writethrough)和回写(Writeback)两种策略:
直写(Writethrough)策略:适用于企业级应用,在线业务存储场景,如:医疗影像、云桌面共享、CAD/CAE 工程设计仿真、质检机台直存、基因比对、EDA 设计等;
回写(Writeback)策略:适用于批量流式写入、AI 训练场景。
多场景验证 XDcache 效果
XDCache 在 6.3 版本中正式发布,在过去的 6.2 版本中已经灰度上线,并在多个领域经过验证,性能实现大幅提升,获得客户认可。
案例 1:某三甲医院 PACS 软件性能提升
在西北某三甲医院,替换某国外分布式 NAS 厂商的项目中,XGFS 在图片上传的性能表现领先国外友商 20%,阅片性能领先 170%。
由于 PACS 系统会将影像数据按照患者、日期和类型等进行分类和归档,阅片时,通常会加载某个子文件夹的全部小文件。得益于 XGFS 的目录预取机制,当探测到这种读取行为时,会提前将这批图片文件预加载到缓存,后续读取命中缓存,降低阅片访问等待时间,提高了医疗工作的效率和准确性。
案例 2:某铁路设计单位 CAE/CAD 软件性能提升
某铁路设计单位集团云的建设中,引入了 XGFS SMB 共享作为所有云桌面共用的网盘资源,承接所有非结构化数据的存储和相关专业 CAD/CAE 软件工程文件的存放。在疫情期间,该存储同时支撑了 3000 多个桌面业务访问连接,使企业员工在家也能丝滑办公。新版本下,以写为主要 IO 模型的工程设计类软件,性能提升了 80%到 200%,大幅提升效率。
案例 3:某 OLED 制造商 AOI 质检业务性能提升
通过测试工具 vdbench,模拟真实机台产生的小文件集合:不同比例的 4 KB、64 KB、128 KB、200 KB、1 MB、2 MB 文件,验证混合读写模式下 4 KB IO 性能。测试结果显示,XGFS 新版本小文件 OPS 比国内 I 厂商高 44%,比 S 厂商高 16%,性能领先。
总结
区别于块存储与对象存储,文件系统遵从 POSIX 标准,真实应用下发到存储的工作负载十分复杂。XSKY 针对文件典型场景应用投入大量研究,通过软件定义存储技术,无需 NVRAM 等特殊硬件支持,基于通用硬件为企业应用提供低成本、高匹配度的文件写缓存解决方案,大大提高文件写性能,满足用户对企业级高性能文件的需求。
评论