查看原文
其他

观点:NVMe的性能将迫使应用程序本地化数据处理

常华Andy Andy730 2024-03-16
Source: Henry Newman, Opinion: NVMe Performance Will Force Applications to Process Data Where it is Stored, May 9, 2023

随着NVMe的性能提升,应用程序设计将不得不改变,以更好地利用本地化连接的NVMe设备中的IOPS和带宽。这是我最近在半退休状态下思考的一个假设,我有更多的时间去思考。如果我是正确的,这将对高计算需求的外部附加存储产生重大影响,我们稍后会讨论到这一点。

我基本上是根据过去40年来我们所见到的I/O性能的巨大增长来形成这种思考(从3MB/s增长到13GB/s)。当然,这与CPU或内存性能的增长不能相提并论,而网络性能的增长主要介于存储和CPU/内存之间。

当前PCIe 5.0 SSD的最高性能为13.5GB/s的读速度和11.8GB/s的顺序写速度。某些供应商在读取性能上更快,而某些供应商在写入性能上更快,但它们都相当接近,因为它们需要具备竞争力。你可以花几百美元购买这些SSD的消费者级M.2版本,并且可以以不到1000美元的价格购买某些规格的企业级U.2 SSD。

随着CPU供应商增加更多的PCIe通道,NVMe设备正在变得越来越快。服务器供应商利用更快的NVMe设备和更多的PCIe通道来创建具有更高I/O带宽的服务器。由于NVMe连接提供的性能增加,使用传统协议(如SAS和/或NFS)的网络连接存储将成为过去,而用于处理数据的计算。旧的协议仍然可以用于归档场景。

让我们来看一下连接和存储性能,并且由于PCIe 6在今年年底或明年初预计将使性能翻倍,我们也将将其加入到表中。以下是结果。您可以看到性能很快将超过100和200 GbE的连接。



PCIe 5


PCIe 6


读 GB/s

写 GB/s

读估计  GB/s

写估计  GB/s

13.5

11.8

26

22

GbE

单个端口的%

单个端口的%

单个端口的%

单个端口的%

100

120.0%

104.9%

231.1%

195.6%

200

60.0%

52.4%

115.6%

97.8%

400

30.0%

26.2%

57.8%

48.9%

注意:假设网络性能为 90%,包括数据包开销和校验和


即使在今天,100GbE的速度也无法完全满足单个PCIe 5 SSD的读写速率。而在PCIe 6时代,情况将变得更糟。

假设现在您可以以100美元在服务器上购买一个100GbE端口,并且在交换机上以300美元的价格购买一个具有20到30个端口的以太网端口。如果您想要实现每个SSD的完整带宽性能,这将使SSD的成本增加多达40%。在以太网的网络延迟下实现IOPS将非常困难。这种情况只能持续一段时间。

应用的问题

企业和消费者通过网络连接的外部存储已经存在了几十年,从旧的Inter-Processor Interrupt (IPI),AT Attachment (ATA)和SCON协议,到Serial AT Attachment (SATA),Small Computer System Interface (SCSI),Fibre Channel,Serial Attached SCSI (SAS)和Network Attached Storage (NAS)。与存储相比,外部存储网络一直面临着性能匹配的挑战。我曾经使用的第一个Fibre Channel存储阵列中的硬盘驱动器的性能显着超过了每秒1GB/s的Fibre Channel(FC)。

与存储相比,存储网络供应商的性能几乎始终落后,而存储设备通常落后更多。其中一个原因是设计实现必要的可靠性、可用性、性能和可制造性的存储设备的复杂性既昂贵又耗时。供应商需要多年的时间来摊销系统的成本,尽管他们需要多年来开发这些系统,而存储性能始终在进步。

问题在于存储技术的世代之间的时间正在缩短,供应商没有足够的时间来设计、制造和实现成本回收,就会出现下一代存储技术。看起来,PCIe世代之间的时间也在缩短。应用程序需要改变以利用这一范式。

以当今的标准应用为例,运行在NAS系统上的应用需要将数据从NAS系统移动到应用所在的位置。这可能是工作站或服务器,但它们都无法提供与NAS存储性能相匹配的网络带宽。

做一个粗略的计算,假设您的NAS系统具有800TB的可用存储空间,并且存储设备可以以完整的PCIe 5速率运行。假设您使用了15TB的NVMe U.2设备,那么您将需要使用54个设备(此示例中不包括任何容错性)。为了以完整的读取速率运行设备,NAS的网络带宽需要提供729GB/s的读带宽和/或637.2GB/s的写带宽。这基本上相当于使用16个400GbE通道来实现完整的读取速率,和/或使用14个400GbE通道来实现完整的写入速率。

这对于NAS服务器来说是非常大的网络带宽。没有人能够设计如此庞大且复杂的系统,并且每年将性能翻倍并盈利,也很少有人能够承担以这样的速率将数据移动到每个应用程序所需的网络带宽成本。

变革正来临

多年来,已经有许多基于NAS的应用程序开发,其中数据从NAS移动到客户端进行处理和/或写回。这种情况不会在一夜之间发生变化。需要发生的是应用程序需要在数据存储的附近进行数据处理,这意味着数据位于具有大量NVMe连接存储的服务器上,然后将结果发送回客户端。

我知道有许多应用程序正在朝着这个方向发展,但这需要一些时间。鉴于行业的云趋势,许多新应用程序都是以这种方式开发的,但网络文件系统(NFS)协议是在1984年开发的,这意味着大约有40年的应用程序需要进行重写。

全局思维,本地化计算

数据迁移在许多方面都是昂贵的,从高速网络的成本、复杂性和维护成本,到延迟和数据迁移所需的能耗。数据迁移并不是一项环保的技术,所以应该在数据所在的地方进行计算!

随着应用程序对更高性能的需求,以及每隔几年就有更多的NVMe通道提供更多性能,使用存储封装、外部存储和旧协议的旧模型无法以成本效益的方式提供与NVMe设备相比的高性能百分比,无论是带宽还是IOPS。这些外部设备和协议将与计算资源越来越远。

这将在何时发生?正如我的一个朋友对他的预测所说:“在我预测某事会发生时,我几乎总是正确的,但我总是错在预测它何时会发生。”

无论是应用程序改变以适应使用本地存储的问题,还是应用程序在服务器上进行处理并仅将结果发送给客户端,重写应用程序都需要时间。是两年、五年还是十年?对于某些人可能是两年,对于其他人可能是十年,但无论如何,真正的问题始终是继续创新所需的资本。在某个时刻,公司没有足够的利润来进行再投资以实现创新和整合新技术。对于传统的IT公司来说,IT行业的相当一部分已经转向了云端,在那里他们开发自己的技术,如存储封装、NVMe设备和软件堆栈。

我认为通过传统协议连接远程存储进行计算数据的日子已经不多了。我们将会将所有的应用程序处理数据并将其转化为信息的工作迁移到本地的NVMe连接存储上。唯一的问题是这个过程需要多长时间。
继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存