智能型SSD vs 智能网络卡:角色与特性的异同

存储技术

606人已加入

描述

相较于结合了运算单元与网络卡的「智能网络卡」,结合了运算单元,以及快闪储存装置的「智能型SSD(Intelligent SSD)」,历史相对短了许多,是这4、5年才成熟的新型加速运算装置。

智能型SSD的正式称呼是「运算型储存(Computational Storage)」,顾名思义,是一种拥有运算能力的储存装置,基本概念与智能网络卡相似,都是透过装置上内含的嵌入式处理器,帮助卸除服务器CPU的运算负担,藉此释放出更多CPU资源给应用程序,进而提高资源利用率与整体效能。

但比起由网络卡延伸发展的智能网络卡,基于SSD的智能型SSD,针对的应用型态与厂商生态,也有所差异。

SSD

智能型SSD的应用要求,是「就近」处理自身储存的数据,从而「在储存装置上同时完成运算与储存」,如此一来,便无须耗费CPU周期、经由PCIe总线将数据从后端储存装置读取到内存中进行运算,减少了数据传输与移动的需求,达到加快处理速度、减少延迟的目标。

标准化的努力

相对于主要由网络卡厂商推动的智能网络卡,智能型SSD理所当然是由储存厂商主导,不过比起自行其是的智能网络卡厂商们,在智能型SSD领域,则有标准化组织领导发展共通标准。

为避免生态系分裂为互不兼容的产品,储存网络工业协会(SNIA)成立了运算型储存技术工作小组(Technical Work Group),正在制定标准,并发展一套通用程序编撰模型,最终目标是运算型储存应用的通用化,让客户端的应用程序,能透过标准化的界面,发现与使用连接到服务器主机上的任何运算型储存设备资源。

SNIA目前将运算型储存设备,分成3个层级:

●运算型储存处理器(Computational Storage Processor,CSP):指运算引擎,不包含储存装置。

●运算型储存装置(Computational Storage Drive,CSD):结合了运算引擎与储存单元而成。

●运算型储存数组(Computational Storage Array,CSA):由多组运算引擎与储存装置,加上数组控制器组成的设备。

在SNIA框架下,列出了一系列可由运算型储存设备执行的功能列表,并区分了两种产品:

●固定用途(Fixed Purpose)运算型储存:提供定义明确的运算型储存服务,如压缩、erasure coding、加密等。

●通用(General Purpose)运算型储存:提供可程序化的运算型储存服务,执行客制化的运算功能。

新创厂商引领产品发展

不同于大厂林立的智能网络卡领域,在智能型SSD的领域,目前除了三星以外,其余供货商如NGD System、ScaleFlux、Eideticom等,大多数为新创公司。

以产品层级来说,三星、NGD System与ScaleFlux的产品,都属于运算型储存装置(CSD),也就是完整的智能型SSD产品,Eideticom与Pliops的产品则属于运算型储存处理器(CSP),只含运算引擎,须另外搭配储存装置运作。

在产品应用用途方面,ScaleFlux、Eideticom与Pliops的产品是以固定运算功能为主,如ScaleFlux着重在压缩,Eideticom能提供压缩、erasure coding、加密、重复数据删除与机器学习等功能,Pliops则专门提供数据库KV值作业加速。至于三星与NGD System,则强调执行客制化程序的多用途能力。

而就最关键的运算核心来说,相较于智能网络卡领域,呈现多核处理器、FPGA与订制网络处理器三大类型鼎立的局面,智能型SSD目前是以FPGA为主流,多数产品的运算引擎都是基于Xilinx FPGA,但目前出现了朝向Arm多核处理器转型的趋势。

其中,NGD System已率先完成从FPGA向Arm处理器的转型,他们的前2代产品Catalina-1与Catalina-2,原本都是基于Xilinx FPGA,但新的Newport Platform系列产品,便转换到内嵌在该公司专属ASIC芯片中的Arm处理器。

ScaleFlux也已表明,预定于今年下半年发表的下一代产品中,将以基于Arm处理器的运算核心,取代目前使用的FPGA,藉此可以降低成本与功耗、提高速度,并提供更多的运算功能。

最特别的是Nyriad,其用于搭配自身Nsulate储存平台的加速卡,是基于Nvidia GPU,可以提供erasure coding功能,也能用于其他运算。

最后,虽然SNIA正在发展通用的标准化应用接口,但是,就目前而言,客户端还是必须透过各厂商各自提供的开发工具与API,才能使用智能型SSD的运算功能。

智能型SSD vs. 智能网络卡:角色与特性的异同

SSD

智能型SSD与智能网络卡,都是内含嵌入式运算单元的服务器加速装置,目的也同样是卸除服务器CPU的运算负担,但是,尽管基本应用概念相同,由于产品的型态差异,促使两种装置存在着一系列关键区别。

角色与应用定位

SSD与网络卡这两种装置,在服务器上有着不同位置与角色,因此分别由两者发展来的智能型SSD与智能网络卡,也各自有着合适的运用方式。

网络卡位于服务器I/O最前端、作为数据流出入口,所以智能网络卡先天适合执行针对I/O数据流进出的实时处理相关运算,例如网络与储存传输协议,以及安全控管方面的运算卸除。

SSD位于服务器I/O最末端,是数据最终保存之处,因而智能型SSD适合针对已写入数据的相关运算,例如数据库查询、扫描、AI学习、数据分析、图像处理等。

也就是说,合理的运用概念,是让运算装置「就近」处理运算工作,尽可能减少数据移动。智能网络卡位于I/O出入口,适合「就近」处理网络传输与安全方面的运算;智能型SSD位于数据保存位置,适合「就近」执行储存数据的分析运算。反之,若违反「就近运算」原则,就会产生数据搬移需求,必须耗费CPU周期与PCIe传输,以致带来额外延迟。

装置型式与传输信道的差异

比起网络卡型式的智能网络卡,智能型SSD产品的型态更为多元,包含常见的2.5吋U.2或M.2规格SSD,PCIe SSD卡,还有长尺状的EDSFF规格,除了PCIe SSD卡是透过PCIe插槽连接主机外,其余几种规格,都是藉由NVMe接口,嫁接到PCIe总线上,但这也形成了传输带宽的相对劣势。

NVMe目前只达到PCIe 3.0 x4,而高速网络卡是从PCIe3.0 x8起跳,部分还是采用PCIe 3.0 x16或PCIe 4.0 x8,所以,基于NVMe的智能型SSD,与服务器主机之间的传输带宽,只有智能网络卡的一半或1/4。

但另一方面,比起必须占用PCIe扩展槽的智能网络卡,透过NVMe磁盘槽部署的智能型SSD,有利于「以量取胜」,获得相当可观的运算能力。如ScaleFlux便声称,每台服务器可安装8台他们的CSS系列智能型SSD,NGD System还测试过在2U服务器上满载24台智能型SSD的机器学习系统,远超过单一服务器所能部署的智能网络卡数量。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分