NVMe计算型存储:WD的“SmartSSD”

WD也把FPGA加到"SSD"上了,但不是真的SSD……

这两天看到“OCP ODSA(Open Domain-Specific Architecture)Workshop - Prototyping Chiplet Based Open Data Accelerators”会议的资料,有些东西可以分享给大家。最近DPU/SmartNIC火的不得了,基于网卡的计算/卸载我不算太熟悉,而计算型存储(Computational Storage)还可以凑合聊聊。



在Gartner最新的《Hype Cycle for Storage and DataProtection Technologies, 2021》中,Computational Storage的位置比去年又往第一波峰顶前进了一点。

上图中的厂商,由于还加上了SNIA CSMI(Compute, Memory, and Storage Initiative)的成员,所以显得有点多。而完整数量比这个还多,Futurewei和YMTC实际上也在里面,具体就不展开了。

我还想起老牌存储厂商,比如日立(HDS)很早就在SSD上做了压缩;而IBM则是最近在企业级QLCSSD上开始加入SLC Cache。


三星的SmartSSD计算存储设备

Samsung在这款SSD上加了颗Xilinx(赛灵思)FPGA,已经不是新闻了。如上图,SmartSSD的主机接口统一走FPGA——同时兼做PCIe Switch的角色。具体来说,闪存控制器、4TB TLC NAND和4GB DRAM(存放FTL等)是一个子系统;而FPGA和它的DRAM可以单独干活。当然FPGA直接访问SSD控制器也是可以不经过主机资源的。



上图中列举了SmartSSD的3种用例:

- 数据库:在查询任务中,FPGA可以卸载完整数据传输、过滤和压缩,CPU只做SQL处理就好了;

- 富媒体:H.264视频转码。右边的参考图,是U.2的SmartSSD在服务器中配置到24块时,多流转码性能可以线性提升;

- 存储和大数据服务:这里特别提到了LZ4解压缩带宽的扩展(解压缩比压缩快正常),还有相同对象的搜索。


WD基于FPGA的U.2 AI/ML加速设备


WD(西部数据)进入这个领域是我刚知道的新闻,注意上面的PCIe U.2设备不是SSD闪存盘。

这个所谓的“计算加速平台”,其实就是把Xilinx UltraScale+ MPSoC XCZU7EV做成U.2物理形态,可以安装在支持PCIe Gen3 x4 2.5寸SFF驱动器的服务器上,功耗也控制在25W。



WD给出的用例比三星SmartSSD要宽一些,毕竟同样尺寸内不需要再容纳SSD的位置和功耗,纯FPGA的算力会更大。

一个是视频转码(H.264/H.265);然后是AI推理(Inference)——图像/视频;还有计算型存储——NVMe& eBPF支持(TP4091原型),也就是用这个FPGA再去连接SSD,可用于视频、数据库的分析加速等。


FPGA的视频转码加速这块,基本上Xilinx自己都把实现做好了,有兴趣的朋友不妨咨询下唐杰总:)



这个使用ffmpeg的测试在双线程上跑到220 FPS,我理解应该是用的1块FPGA——此时已经比32核x86 CPU表现好。这里也能看出WD纯FPGA加速器的性能优于SmartSSD上的FPGA。




WD Accelerator FPGA在ffmpeg测试中峰值功耗低于20W。上面图表中标在60W左右,应该是加上了CPU的Idle功耗,毕竟要插在服务器上使用。



如果只是单纯用于视频转码,还有像NETINT这样用ASIC来做的厂商,FPGA性能不一定会占优势,所以就需要灵活性。上图是Zebra FPGA用于机器学习的推理,训练还是用GPU来做。支持TensorFlow、PyTorch、MXNet、Caffe这些主流的框架。



这里提到了使用eBPF在NVMe上实现计算型存储(TPAR4091)。具体在结构图的右端,以WD这款产品的FPGA为例,用ARM Core上跑的软件提供一个块设备驱动接口,来访问存储盘。至于P2P DMA over PCIe,应该指FPGA访问SSD可以绕过主机CPU。

NGD Systems:使用ASIC的CSD(计算存储设备)



关于NGD的SSD,这些年我有过一点了解,他们最初应该是用FPGA,后来有了自己的ASIC,兼做NAND主控和计算。另一家类似的厂商ScaleFlux用的还是FPGA。

NGD在这里列出的应用,包括GZIP压缩、CDN、AI推理在数据中心和边缘、分布式机器学习、数据搜索(Elasticsearch)和分布式处理(Hadoop)。



计算型SSD上跑一个Linux,这一点是不是和DPU网卡相似?



NGD认为DPU和CSP(计算存储处理器),相对于CPU/OS、GPU/SmartNIC距离数据更近。我理解这里的DPU和有些网卡厂商所说的DPU不同,因为NGD把CSP做到SSD主控上了;而有些使用ASIC/FPGA的网卡只是提供PCIe通道来连接NVMe SSD,如下图:




Linux-Based CSD上的硬件和软件资源,大家可以参考一下。



上图中的浅绿色通道,是NGD CSD的通用NVMe SSD接口;而橙色部分,则是主机上的应用,通过一个代理来连接4核Arm上运行的Linux和应用——间接访问NAND存储介质上“处理过的数据”。




NGD介绍了一个边缘分析的Demo,跑在DellEMC服务器+ VMware Bitfusion基础平台,上面还有Tanzu和Greenplum数据库。每个NGD CSD盘就是一个片段主机/数据节点,故障恢复镜像的粒度更细了。



最后再看一下NGD的功耗。U.2 32TB的功耗做到12W,看起来相当低了。这也使他们能够做到多种Form Factor,如果用FPGA的话M.2基本就不用想了吧。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★博文作者未开放评论功能