计算存储是一小众但正在增长的市场。三星推出了SmartSSD,内部装有Xilinx Kintex FPGA,以标准尺寸提供计算存储功能。 在本文中,我们将讨论Xilinx和三星如何交付计算存储平台。
Xilinx-Samsung SmartSSD的背景
首先,为什么我们要了解计算存储出现的原因,最大的推动力之一是跨系统高速移动数据可能会消耗大量功率以及带宽。利用计算存储,可以处理数据而无需将其送回主CPU。
![Xilinx SmartSSD计算存储的市场需求](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-Computational-Storage-Demand-1024x559.png)
另一个驱动力是,赛灵思认为计算存储已成为主流,预计在短短几年内市场的占有率将会达到5%。就赛灵思(Xilinx)对而言,除了Samsung(三星)SmartSSD之外,赛灵思还涵盖了多种不同类型的加速器,包括Pliops,ScaleFlux和BittWare的加速器。
![Xilinx SmartSSD计算存储已经成为主流](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-Computational-Storage-Becoming-Mainstream-1024x540.png)
基本的Samsung SmartSSD具有两组主要组件,一个基本上是4TB的三星V-NAND SSD,这包括一个NAND控制器,我们也被告知也使用了DRAM控制器;解决方案的第二部分是具有自己4GB内存的Xilinx Kintex FPGA。
![Samsung Xilinx SmartSSD的内部组件](https://www.gaitpu.com/wp-content/uploads/2021/02/Samsung-Xilinx-SmartSSD-Internal-Components-1024x635.png)
基本处理流程是可以将命令发送到驱动器的SSD或FPGA部分,并且处理工作可以在FPGA进行,而不是返回到主机系统处理。
![Samsung Xilinx SmartSSD的内部工作流程](https://www.gaitpu.com/wp-content/uploads/2021/02/Samsung-Xilinx-SmartSSD-Internal-Operation-1024x588.png)
稍后我们将展示一个实例,但一个常见的问题是如何编程。可以将标准存储堆栈或OpenCL堆栈用于计算存储方面。
![Xilinx SmartSSD IP运行时堆栈](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-IP-Runtime-Stack-1024x504.png)
正如人们对FPGA所期望的那样,它与合作伙伴IP的解决方案紧密相连,就和赛灵思(Xilinx)和三星(Samsung)提供的解决方案一样。
![Xilinx SmartSSD IP开发](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-IP-Development-1024x501.png)
Xilinx存储服务(XSS)是可用于该平台的卸载,包括压缩和加密卸载。
![Xilinx SmartSSD IP的存储服务](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-IP-Xilinx-Storage-Services-1024x526.png)
以VDO中的压缩为例,以下幻灯片描述了基本的流程:
![Xilinx SmartSSD VDO 1](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-VDO-1-1024x579.png)
对于读取,FPGA用于在SmartSSD上解压缩数据。通过在SSD上进行压缩,Xilinx表示可以获得更好的压缩率。
![Xilinx SmartSSD VDO 2](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-VDO-2-1024x555.png)
在实例方面,我们想强调一个来自Lewis Rhodes Labs的例子,他们正在使用计算存储进行NPUSearch。 实际上,在这里,SmartSSD用于通过SSD的数量来扩展加速器的数量。应用程序可以将请求发送到存储,数据在驱动器上进行评估,只是将结果传递回主系统。
![Xilinx SmartSSD Lewis Rhodes Labs Search](https://www.gaitpu.com/wp-content/uploads/2021/02/Xilinx-SmartSSD-Lewis-Rhodes-Labs-Search-1024x557.png)
小结
回到最初的那个非常直接的问题,为什么要计算存储?该模型的一部分是加速器与存储绑定,这对于加速器公司来说,非常棒。但是,我们的许多读者都会问为什么不使用DPU?我们问,既然唯一的目标就是卸载,并且SmartSSD在许多方面都是两个设备一起封装的,那么将其卸载到更大的芯片上就有意义了。有人告诉我们,在每个驱动器上使用较小的加速器要比扩展到较大的加速器便宜。我们知道这是一个领域,数据中心的每个模型背后都有很多动力。看看哪个最终会获胜,这会很有趣。