存储 频道

说出来你可能不信,NVMe也存在性能问题

  【IT168 编译】NVMe可以为企业存储系统带来很多改进,该技术通过增加命令数量和队列深度来提高闪存性能,同时使用PCIe作为主要互连。它是一种在服务器内部和外部都能工作的协议,并且对于共享存储环境是可以联接到网络的。

  NVMe的性能改进,将为企业带来延迟的降低——这种降低非常显著,甚至因此而暴露了存储基础设施中存在的一些其他问题。

  存储生态问题

  存储架构中通常会包含:存储介质,如本文谈到的NVMe闪存;存储软件,以驱动存储系统;存储网络,它从外部将存储连接到数据中心中的其他元素,如服务器。在HDD时代,甚至在基于SAS的闪存时代,这些组件带来的延迟可能并不明显——因为当时的延迟主要来源于介质。然而,NVMe闪存大幅度降低了介质的延迟,这就使其他部件的缺点暴露了出来。

  验证这种延迟差距的一个简单方法是检查基于NVMe的硬盘的原始性能。许多NVMe硬盘声称具备超过50万次IOPS。然而,大多数存储系统,即使有24个NVMe硬盘,也只能提供单个硬盘潜在原始性能的10%。一个具有24个NVMe硬盘的阵列可能具有交付近1200万个IOPS的原始潜力,但是一旦放入到整个存储系统,它通常只能交付不到100万IOPS。

Photo by Josh Sorenson from Pexels

  NVMe性能差距的解决方案

  CPU功率继续增加,随着NVMe-oF的应用,基于NVMe闪存的大多数网络问题将得到解决,这使得存储软件成为使用NVMe时应关注的主要领域。

  供应商会使用许多变通的方法来解决NVMe闪存和存储软件之间存在的问题。最常见的一种方法是将最新的、功能最强大的处理器放在存储系统中,这样存储软件就可以更快地处理I/O和管理特性。问题是,像英特尔这样的公司通常是通过增加核的数量而不是增加每个核的功率来继续提高处理能力,因此如果存储软件不是多线程的,那么使用更强大的处理器几乎没有什么收益。

  第二种解决方案是供应商将他们的存储软件转移到现场可编程门阵列(FPGA),将软件迁移到硬件与目前流行的软件定义数据中心概念正好相反,但是对于存在严重存储I/O性能问题的企业来说,这可能是最可行的方法。FPGA为存储软件提供了专用的处理能力,而不是基于核心的。

  第三种解决方法是限制软件的作用,并减少它提供的功能数量。因为大多数高性能应用程序都内置了类似的功能,因此将存储管理性能负载转移给这些应用程序可以更好地解决性能问题。其中的挑战在于,并非所有应用程序都支持企业所需的高级存储功能。此外,每个应用程序执行这些特性功能的方式不同,因此,缺乏标准化会带来更高的存储管理复杂性。

  解决NVMe存储性能问题

  解决整个存储生态中各部件的性能问题,以赶上NVMe性能的过程是非常费时费力的。存储开发人员需要重写他们的存储软件(甚至可能从0开始),以实现真正的并行。目前,大多数供应商都声称在某种程度上拥有多线程能力,但在许多情况下,这是因为他们将某些任务分配给特定的内核,而这并不是对可用CPU能力的最有效利用。随着内核数量已经接近20个,已经超过了一般情况下任务的数量。相反,供应商应该在内核之间标记I/O函数,以便每次都能平等地使用所有内核。

  第二步,可能更耗时,是重新评估和重写许多基本的存储算法,这些算法几十年来从未改变过。供应商需要考虑重写核心功能,如RAID、快照的元数据跟踪、重复数据删除、复制和精简配置,以确保它们针对当今处理器的高核心数量和当前存储介质的极低延迟进行了优化。

  现在需要怎么办?

  除了人工智能和机器学习工作负载之外,大多数企业的应用程序都没有足够“马力”来充分利用基于NVMe的系统或网络的性能,还有一个例外是企业希望增加每个物理服务器的虚拟机数量。随着每台服务器的VM比率不断增加,I/O负载变得相当大。NVMe存储和NVMe-oF网络上的NVMe需要提供充分I/O能力,以满足高VM/物理服务器比例带来的性能挑战。如果供应商修复了存储软件问题,那么每个物理服务器上装载数百个VM的密度将有可能实现。

  大多数上市的NVMe系统都试图通过使用更强大的处理器来提高性能。企业用户将因此而支出更高的额外费用,但这也是没有办法的办法——直到软件赶上硬件。其他人可能会发现,继续使用基于SAS的全闪存阵列其实最符合他们的利益,因为它们更有可能满足企业自身短期的性能需求,同时也更便宜。

  最后,企业应该密切关注即将上市的存储软件产品,这些产品高度并行化,并且已经完成了优化存储算法的工作。通过这些方法,应该能够实现以更少的NVMe硬盘提供所需的性能。

  原文作者:George Crump

  原文链接:https://searchstorage.techtarget.com/opinion/Understanding-the-NVMe-performance-problem

0
相关文章