帖子

使用EBOFs和开源软件优化存储的NVMe

当可用的闪存联网以最大化使用时,数据驱动的应用程序在多服务器系统上运行得更快,但一个问题是如何以公平的成本联网标准NVMe驱动器,同时实现高性能。NVMe over Fabrics会有所帮助。

下载此演示文稿:使用EBOFs和开源软件优化存储的NVMe

00:00 Sujit Somandepalli:大家好,欢迎来到2020年闪存峰会。在本课程中,我们将讨论在结构上使用NVMe扩展存储功能。我的名字是Sujit Somandepalli,我是Micron的首席存储解决方案工程师,我专注于各种NoSQL数据库的性能调优SSD,包括MongoDB、Cassandra、RocksDB和其他应用程序。

作为本演示的一部分,我将简要介绍NVMe over Fabrics、其优点以及将闪存连接到服务器的不同方式。我们将看一看富士康Ingrasys EBOF和Marvell 88SN2400转换器控制器。我还将简要概述Micron的异构内存存储引擎,最后总结一下针对YCSB运行MongoDB的一些测试结果。

01:00 SS:什么是NVMe ?NVMe over fabric将NVMe协议扩展到网络,远远超出了目前限制典型ssd的服务器机箱。NVMe over Fabrics于2016年首次标准化。因为它是基于NVMe的,所以它继承了所有的优点,比如它是一个轻量级协议,有一个高效的命令集。它是多核感知的,可以利用协议并行性。右边的图比较了fabric模型上的NVMe和NVMe,并突出显示了可供用户使用的各种传输操作。有两个相关的以太网传输选项,包括聚合以太网上的RDMA或RoCE v2和TCP。两者各有优缺点。RoCE v2具有较低的延迟,但需要支持RDMA的专用NIC。TCP传输具有更高的延迟和CPU利用率,但可以在系统上使用标准NIC。目前,RoCE v2在市场上更为普遍。

02:12 SS:使用NVMe,您的扩展选项仅限于服务器机箱或机架。这限制了NVMe存储通过机架本身的范围和范围。NVMe over Fabrics允许通过其radius跨数据中心连接几乎无限量的存储。这允许创建智能解决方案,您可以在其中完全分解存储和计算。它通过在调配解决方案时执行存储来实现大规模编排。它消除了系统中驱动器插槽的限制,使您能够根据需要增加存储空间。

有许多不同的方式将闪存连接到服务器。在本课程中,我们将讨论使用fabric将flash连接到服务器的不同方式。只需一串闪存或JBOF,就可以使用PCIe交换机跨数据中心扩展存储以扇出SSD。EBOF或以太网闪存组允许您使用以太网交换扇出SSD。由于以下原因,EBOF的成本通常较低:以太网交换网络的优势,与需要专用交换机、重定时器和其他硬件的复杂PCIe网络相比,它更简单、更便宜。

03:43 SS:在JBOF的情况下,使用一个或多个数据处理单元在机架级别进行NVMe到NVMe over Fabrics的转换,而在EBOF中,桥接通常在SSD控制器本身或SSD载体或机柜上完成。Marvell 88SN2400是本次会议的核心,是一款用于云和企业数据中心的NVMe over Fabrics SSD控制器。它将NVMe和NVMe连接在织物上。它采用PCIe Gen 3 x4 NVMe接口,并提供两个25千兆以太网端口。该芯片组支持TCP和RoCE v2。但是,在本次会议中,我们将重点讨论使用RoCE v2作为传输。

富士康-英格拉斯EBOF是一款NVMe over fabric解决方案,围绕Marvell 88SN2400桥接芯片组构建。它有24个u - 2插槽和一个2U机箱,每个u - 2插槽都有88SN2400桥接芯片。EBOF可以提供高达3.2兆位的冗余以太网连接,这个2U货架可以为您的应用程序提供75gb的吞吐量和高达2000万IOPS。美光公司自主研发的异构内存存储引擎是最早使用基于闪存的存储和存储类存储技术来加速Linux工作负载的存储引擎之一。

05:32 SS:这个独特的开源软件旨在通过智能和无缝的方式最大化这些新技术的功能管理跨多个存储类的数据. 其结果是,即使在大规模部署时,也可以通过降低写入放大率来显著提高性能、降低延迟和提高驱动器耐久性。HSE的首批实现之一是MongoDB存储引擎,它提供了所有这些功能以及更多功能。

本演示的下一部分重点介绍我们与MongoDB和YCSB一起运行的基准测试的结果。MongoDB是一种流行的面向跨平台文档的NoSQL数据库。它使用带有可选模式的类似JSON的文档来存储数据。MongoDB有一个名为WiredTiger的内置存储引擎。我们针对YCSB测试了WiredTiger,并针对YCSB测试了作为MongoDB存储引擎的Micron的HSE。雅虎的一组工程师在2010年首次发布了一个框架而不是工作负载,以比较不同的键值和云服务数据库。

06:53 SS:作为基准测试工作的一部分,我们对工作负载进行了建模,以表示真实场景。工作负载A表示用户会话记录,对数据库有50%的读取和50%的更新。例如,工作负载B表示照片网站的元数据标记,具有95%的读取和5%的更新。工作负载C表示当用户登录到网站并且具有100%读取特性时加载用户配置文件缓存。例如,工作负载D表示社交媒体网络中的用户状态更新,具有5%的插入和95%的读取最新特征。工作负载F类似于记录工作负载的用户活动,由50%读取和50%读取、修改、写入表示。我们的测试配置包括Dell PowerEdge R7525服务器、双AMD EPYC 7502处理器和512 GB RAM。

08:05 SS:我们在这些服务器上使用Ubuntu 20.04作为操作系统。Mellanox ConnectX-5 100千兆网络被用于提供与fabric和客户端的连接。我们使用了两种主要的构型。在本地,Micron 7300 PRO NVMe驱动器直接连接到服务器并提供数据库存储。第二个配置是使用EBOF,我们使用富士康-英格拉斯EBOF提供与服务器的NVMe over fabric连接。我们有四个驱动器连接到每个服务器,由于EBOF的多功能性,我们能够连接多个服务器来执行并行测试。我们测试了一个单节点MongoDB,其中包含四个聚合的驱动器,并将LVM存储作为数据库存储。YCSB是从数据库服务器所在网络上的另一台客户机上执行的。

09:12 SS:此100千兆位网络与用于连接到结构的网络是分开的。通过使用YCSB的load标志加载20亿条记录,我们生成了一个2 TB的数据集。对于每个测试,我们清除所有系统缓存,重新启动数据库,并恢复数据集,以每次获得干净的结果。YCSB通过更改用于连接数据库服务器的线程数来控制其负载。我们测试了各种线程计数,并找到了一个负载,它为我们提供了每秒YCSB操作和YCSB读取延迟的最佳组合。一旦发现这个线程数——在本例中是96个——我们运行更长的测试并重复多次,以获得一致且可重复的结果。长时间测试还确保MongoDB捕获的任何后台操作都代表了更现实的场景。

十SS:接下来是结果。这张幻灯片展示了使用MongoDB与美光的异构内存存储引擎作为MongoDB内部存储引擎时的性能比较。正如您可以从左边的图表中看到的,当通过fabric从本地到NVMe时,性能上的差异是最小的,右边看到的延迟差异也证实了这一点。

有趣的是,织物在插入数据时具有更高的性能。我们认为这是由于MongoDB中的更新和插入之间的差异。MongoDB中的更新通常是一个读操作和一个更新操作。也就是说,MongoDB必须从数据库中读取现有的记录,更新它的数据,并向数据库插入新记录,而在MongoDB中,插入操作只是简单地向数据库插入。我们认为这就是为什么工作量D的性能,EBOF表现得更好

本幻灯片比较了MongoDB及其内置WiredTiger存储引擎的性能,您可以在这里看到,与本地NVMe设备相比,在结构上使用NVMe时会有一些性能损失。这里要注意的有趣的事情是,MongoDB通常部署为多节点系统,因此许多延迟和每秒操作的差异可以通过使用多节点系统来吸收。

12:06 SS:最后,这张幻灯片展示了我们在MongoDB中使用WiredTiger本地磁盘和使用HSE作为存储引擎的fabric磁盘时的性能对比。您可以看到,使用HSE作为存储引擎后,工作量a提高了5倍以上,延迟时间也有显著改善。我们看到了所有工作负载的改进和性能,但工作负载A的改进要大得多。这清楚地表明,美光的HSE不仅提高了应用程序的性能,而且在网络上使用NVMe over fabric时,性能也非常好。进行了额外的测试Nvidia的GPUDirect存储使用DGX A100。在这种情况下,我们使用EBOF提供了与GPU的直接连接,这使我们能够扩展DGX A100中八个驱动器的限制。有关结果和配置的更多详细信息,请参见我的同事Wes Vaskes在AI曲目“分析存储对AI工作负载的影响”中的演示

13:28 SS:总之,我们已经了解了与MongoDB中使用的传统WiredTiger存储引擎相比,Micron在结构环境中的异构内存存储引擎如何提供了显著的改进。Marvell 88SN2400转换器控制器和富士康Ingrasys EBOF允许在数据中心轻松扩展NVMe或驱动器。NVMe over Fabrics允许消费者设计完全分类的数据中心,在这些数据中心中,应用程序可以动态组合和配置。它还允许您独立地扩展计算和存储。今天,低成本的网桥或基于数据处理单元的平台被用于连接NVMe SSD并将其桥接到结构中,未来,我们可能会看到本地NVMe覆盖结构SSD,这将进一步降低TCO。

以下是本演示中使用的一些技术的参考资料。感谢您抽出时间参加本次会议。如果你有任何问题,请留下来,我很乐意回答。非常感谢。

深入研究闪存

搜索灾难恢复
搜索数据备份
搜索聚合基础设施
关闭
Baidu