热点追踪 / 深度探讨 / 实地探访 / 商务合作
——
超融合概念最早源自Nutanix等存储初创厂商将Google/Facebook等互联网厂商采用的计算存储融合架构用于虚拟化环境,为企业客户提供一种基于X86硬件平台的计算存储融合产品或解决方案。
——
最近几年,超融合在中国市场的火热程度不亚于云计算、人工智能等新技术,自 2013 年超融合概念首次在中国出现;到 2016 年中国迎来“超融合元年”;再到 2019 年超融合开始广泛落地行业市场。可以说,在不到 10 年的时间内,超融合就完成了市场鸿沟的跨越。
但是,随着越来越多的客户进一步认识和应用超融合架构,一个新的问题又出现了,那就是当超融合进入到企业的核心生产业务系统,其存储性能和延迟能否媲美传统的高端存储阵列?
在此背景下,作为中国超融合领域的专业领导厂商,SmartX 率先采用英特尔傲腾持久内存搭配 NVMe NAND SSD 开发出了新一代全闪超融合解决方案,整体性能获得显著提升,更好地满足客户核心业务对 IO 吞吐、延迟等性能的严苛要求。
正如 SmartX CEO 徐文豪所言:“SmartX 深知硬件技术对超融合产品的重要性,并始终和英特尔在研发领域保持紧密合作,而本次 SmartX 基于创新的英特尔傲腾持久内存技术对 SMTX OS 进行深度优化和架构升级,不仅为超融合产品性能带来质的飞跃,更是对解决性能敏感型核心业务向云化基础架构转型这一难题进行了深度的探索,真正有效加速了超融合基础架构在金融核心等领域的落地。”
“Sailfish”项目诞生背后
SmartX 自 2013 年成立开始,就一致致力于打造高可靠、高性能、易扩展、生产就绪、具备自主研发的超融合产品,其产品核心 SMTX OS 超融合软件如今可以运行在几乎所有主流的 x86 服务器上,且被广泛地应用于金融、医疗和制造业等领域。
数据显示,行业客户对 SmartX 超融合产品的增购率已超过 200%,其中,70% 以上的客户将 SmartX 超融合产品部署在核心生产场景。此外,SmartX 也不断获得专业市场分析机构的认可。在 Forrester 发布的全球超融合厂商报告《Now Tech: Hyperconverged Infrastructure, Q2 2020》中,SmartX 凭借专业开放的产品和优质客户案例入选;IDC 评定 SmartX 为软件定义存储创新者,Gartner 也在中国区超融合市场竞争格局报告中将 SmartX 列为重点关注企业。
但与此同时,SmartX 在和客户交流中也发现,很多客户在规划将核心生产应用迁移到超融合系统时,往往没有足够的信心,他们担心超融合系统的存储和传统架构相比延迟较高,特别是在面对性能敏感型业务应用更为严苛的 IO 及延迟要求场景时,以往在超融合领域广泛使用的 NAND SSD 存储设备会成为瓶颈,这也逐渐成为了超融合系统未来发展的阻碍。
因此,如何突破当前超融合系统在 IO 及延迟方面的局限,无疑是 SmartX 进一步提升超融合产品性能的关键。基于此,SmartX 于 2019 年启动代号为“Sailfish”(旗鱼,海洋中最快的鱼类)项目,将英特尔傲腾持久内存用于缓存加速,同时对 SmartX 超融合软件 SMTX OS 进行了全方面优化。
图 1. 虚拟机IO性能提升3.2 倍,延迟降低85%
具体来看,在存储层“Sailfish”项目充分发挥了英特尔傲腾持久内存“App Direct”模式低延迟和持久化存储的能力,保存集群中经常被访问的数据。除此之外,SMTX OS 还对计算虚拟层和存储网络层进行了特别的优化和设计,而经过以上优化,虚拟机的 IO 性能提升了 3.2 倍,同时延迟降低了 85% 以上。
目前,“Sailfish”项目中使用到的技术已经集成到了最新的 SMTX Halo P 系列一体机中,该系列一体机不仅能够胜任交易类数据库、机器学习等对 IO 性能要求苛刻的核心应用场景,并且能够以更高性能提升虚拟机密度。
由此可见,SmartX 在“Sailfish”项目中通过引入英特尔傲腾持久内存,极大地提高超融合系统的性能,消除了关键应用场景实际部署的疑虑;而这种创新的探索与实践,无疑为关键业务系统在超融合架构中的部署奠定了真正踏实的基础。
当SmartX遇见英特尔傲腾
事实上,在“Sailfish”项目中,SmartX 正是发挥了英特尔傲腾持久内存的特点:英特尔在内存和 SSD 之间新增的一个存储层级,使其具备像内存一样的超低访问延迟,超高寿命与可靠性,同时还兼具持久化存储和按字节访问的能力。
这就是英特尔傲腾持久内存所独创的多种工作模式——在“内存模式”下,可为系统提供大容量内存;而在“App Direct 模式”下,应用可以直接访问英特尔傲腾持久内存中的数据,有助于降低软件堆栈复杂性。借助这种创新的工作模式,在 SmartX 基于英特尔傲腾持久内存和 SMTX OS 打造的新一代全闪超融合解决方案中,在性能方面实现了三个方面的极大优化和提升。
一是,创新的工作模式为 SmartX 打造高性能存储打下基础。英特尔傲腾持久内存拥有更靠近 DRAM 的读写速度,使得它与内存交换数据过程的延迟更低,可大大缩短响应虚拟机请求的时间。此外,结合 SMTX OS 针对英特尔傲腾持久内存的一系列优化,新方案性能表现出色:测试显示,采用英特尔傲腾持久内存的超融合一体机,三节点最小系统的 IOPS 即可达约120万,与以往使用 NAND SSD 相比有大幅提升。
同时,在该方案中,SmartX 应用了英特尔傲腾持久内存的“App Direct”模式, 将其作为Journal 和 Cache 盘,并搭配 NVMe SSD 作为容量盘一起使用,可保证更多经常被访问的热数据驻留在持久内存以获得出色的 IO 响应速度与更低的延迟表现——通过系统配置少量持久内存便可持续为业务加速,这为数据加速提供了强有力的支撑。
二是,英特尔傲腾持久内存可按字节寻址访问的能力,实现更小的数据写入对齐颗粒、避免了写放大问题。过去基于 SSD 只能以块为单位进行访问,在传统 Journal 设计中采用 4 KiB 对齐方式以获取较高的写入性能,但在某些应用场景下会造成严重的写放大问题。例如,系统要求写入 128 bytes 大小的 IO,由于 Journal 需要以 4 KiB 对齐写入,因此必须将 128 bytes 数据进行扩充,用“0”填充至 4 KiB 大小,再写入介质中。因此,实际占用的容量是要求写入大小的 32 倍。如此显著的写放大现象会造成 Journal 和 Cache 存储空间的大量浪费,增加了冷热数据交换的频率,从而提高延迟,对性能造成较大影响。
为此,SmartX 通过在 SMTX ZBS 中以 直接访问(Direct Access, DAX)方式访问持久内存设备,可像访问内存一样按字节为单位对持久内存进行存取。而 SmartX 利用这个特性重新设计 Journal 的写入机制,并以 64 bytes 进行对齐;此时往 Journal 写入 128 bytes 数据,则可被拆分为 2 个 64 bytes 写入,避免了写放大的问题,有效的提升性能。
三是,通过采用异步访问英特尔傲腾持久内存,可减少 CPU 资源使用、增加访问带宽;在超融合系统中,宝贵的 CPU 资源必须更多的留给虚拟机使用,因此需要严格控制超融合系统本身的 CPU 消耗。
在有限的CPU资源下,为了充分发挥英特尔傲腾持久内存的带宽性能,双方技术团队创新地引入了IO/AT DMA 引擎实现了异步写入持久内存的机制,使得单个 CPU 核心的最大写入带宽提升至10 GB/s。这意味着在几乎不增加CPU开销的情况下,通过数据异步写入持久内存的优化方式,即可获得2.5倍的性能提升。此外,SmartX 还针对英特尔傲腾持久内存优化了IO栈以进一步降低 IO 损耗、并优化网络传输协议,采用 RDMA 存储网络来降低远程节点写入延迟,保证远程节点副本数据及时同步更新。
SmartX 通过英特尔傲腾持久内存对计算虚拟化、存储网络以及存储介质进行的端到端优化,不仅充分了释放傲腾高吞吐量、低延迟、高服务质量和高耐用性等优势,同时也真正以有限的计算资源,获得了业内领先的高性能与超低延迟服务器虚拟化存储性能。
超融合系统性能再上新高度
值得一提的是,为了验证基于英特尔傲腾持久内存和 SMTX OS 打造的全闪超融合解决方案的性能。英特尔和 SmartX 通过使用英特尔至强可扩展处理器6240Y 分别在搭载和未搭载英特尔傲腾持久内存的情况下,测试了该解决方案在 FIO 3.19 中的表现。
测试显示,无论顺序还是随机读/写 4K 请求,搭载英特尔傲腾持久内存的方案在 1/2/4/8/16/32/64/128 个工作负载 下,其带宽(Bandwidth)均具有明显优势。其中,顺序读最高加速达到 2.86 倍,顺序写加速最高达到 2.90 倍;随机读加速最高达到 4.14 倍,随机写加速最高达到 2.79 倍。
而在 P99 延迟(线程数 = 16)测试中,搭载 英特尔傲腾持久内存的方案在 4K/8K/16K/32K/64K 大小下,顺序读、顺序写、随机读和随机写延迟均有明显降低,最高降幅分别为 78.46%、59.38%、76.75% 和 56.62%。
与此同时,为进一步验证新方案在实际应用中的表现,双方还测试了不同访问模式下 MySQL 8.0.20 在不同虚拟机中的吞吐率和延迟情况。其中,在单节点只运行 1 台虚拟机的时候,搭载英特尔傲腾持久内存的方案在混合读写、只读、只写方面的吞吐率,分别比未搭载持久内存的方案高 3.20 倍、2.90 倍和 2.85 倍;在混合 读写、只读、只写方面,使用英特尔傲腾持久内存方案的 P95 延迟均有明显降低,降幅分别为 72.16%、60.10% 和 73.13%。
在单节点运行 4 台虚拟机时,搭载英特尔傲腾持久内存方案在混合读写、只读、只写方面的吞吐率,分别比未搭载持久内存的方案提升了 1.39 倍、2.49 倍、2.98 倍:使用持久内存方案的 P95 延迟除了混合读写场景外,在只读和只写的场景下皆有明显降低,降幅分别为 46.48% 和 50.28%13。
而在与实际应用场景接近的 MySQL 数据库实测中,采用英特尔傲腾持久内存后的全闪超融合解决方案在性能上得到很大程度的提升。新方案在优化超融合系统自身基础架构的同时,大幅改善了其上运行的业务系统的延迟,实现了端到端的 IO 加速。此外,虚拟机端 IO 延迟的大幅度降低也使得 SMTX OS 产品完全具备承载对延迟要求非常苛刻的核心业务的能力。
总的来说,从上述测试数据中也可以看到,通过引入英特尔傲腾持久内存技术,能够显著提高超融合系统的性能,帮助消除企业对超融合产品性能的疑虑、解决关键应用场景实际部署的难题。从这个角度来看,SmartX 与英特尔携手提供了英特尔傲腾持久内存在超融合部署上的最佳实践,真正为实现利用新一代全闪超融合系统替换更多裸金属服务器和全闪阵列的可能。
推荐阅读
Airbnb取消换届周华盛顿特区所有订单,英特尔现任CEO辞职|前沿科技周报