Whether it is the aesthetics of the iPhone or a work of art like Monet’s ‘Water Lillies’, simplicity is often a very attractive trait. I hear this resonate in everyday examples from my own life - with my boss at work, whose mantra is “make it simple”, and my wife of 15 years telling my teenage daughter “beauty lies in simplicity”. For the record, both of these statements generally fall upon deaf ears.
如今正推动数据存储发展的 Non-Volatile Memory over PCIe Express (NVMe) 技术,便是简单价值开始逐渐受到认可的又一领域。尤其是随着 NVMe-over-Fabrics (NVMe-oF) 拓扑的出现,该技术的部署将越来越多。这一简单又可信的以太网光纤,即传输控制协议 (TCP),现已成为经 NVMe Group 批准认可的 NVMe-oF 标准[1]。
这里给大家提供一些背景信息,大体而言,NVMe 是借助高速接口(如 PCIe)访问以及专用于闪存实施的简化指令集,以高效利用基于闪存的固态硬盘 (SSD)。现在,按照定义,NVMe 限于单个服务器,这就带来了一项挑战,即很难横向扩展 NVMe 并从数据中心的任何元素进行访问。这便是 NVMe-oF 派上用处的地方。全闪存阵列 (AFA)、即闪存簇 (JBOF) 或网络化闪存簇 (FBOF) 和软件定义存储 (SDS) 架构皆能整合一个基于 NVMe-oF 连接的前端。由此一来,将大大提升服务器、客户端和应用访问外部存储资源的效率。
A series of ‘fabrics’ have now emerged for scaling out NVMe. The first of these being Ethernet Remote Direct Memory Access (RDMA) - in both its RDMA over Converged Ethernet (RoCE) and Internet Wide-Area RDMA Protocol (iWARP) derivatives. It has been followed soon after by NVMe-over-Fiber Channel (FC-NVMe), and then ones based on FCoE, Infiniband and OmniPath.
But with so many fabric options already out there, why is it necessary to come up with another one? Do we really need NVMe-over-TCP (NVMe/TCP) too? Well RDMA (whether it is RoCE or iWARP) based NVMe fabrics are supposed to deliver the extremely low level latency that NVMe requires via a myriad of different technologies - like zero copy and kernel bypass - driven by specialized Network Interface Controller (NICs). However, there are several factors which hamper this, and these need to be taken into account.
Unlike any other NVMe fabric, the pervasiveness of TCP is huge - it is absolutely everywhere. TCP/IP is the fundamental foundation of the Internet, every single Ethernet NIC/network out there supports the TCP protocol. With TCP, availability and reliability are just not issues to that need to be worried about. Extending the scale of NVMe over a TCP fabric seems like the logical thing to do.
NVMe/TCP 非常快速(尤其是在使用 Marvell FastLinQ 10/25/50/100GbE NIC 的情况下 – 因为它们具有一个用于 NVMe/TCP 的内置充分卸载),可以充分利用现有的基础架构,让事务本身变得更加简单。这是所有技术人员期盼的美好前景,而且对于担忧预算的公司首席信息官来说也充满吸引力。
从长远角度来看,简化再一次获胜!
[1] https://nvmexpress.org/welcome-nvme-tcp-to-the-nvme-of-family-of-transports/