把数据处理交给SSD来做,这就是当下最火的计算型存储

计算型存储(Computational storage)是一股新的发展趋势,什么是计算型存储呢?所谓计算型存储指的是一些数据处理的任务交给存储层来做,而不是把数据挪到主内存里用host的CPU来处理。

计算型存储背后反映出,人们对于将数据从存储的地方迁移到计算的地方时的考虑,这一过程耗费时间,效率比较低。在AI和数据分析领域,数据量都非常大,这时,将数据从产生的地方迁移的话,产生的延迟对于延迟敏感型应用来说是不可接受的。

每当新的趋势出现,各种创新创业公司都会冒出来,沿着不同的技术路线开发不同的技术方案,计算型存储与许多新型的技术门类一样,也缺少一些标准。

为此,SNIA专门成立了一个专门面向计算型存储的技术工作组,该工作组由NGD和SK Hynix共同主持,有20多家公司参与其中。

451 Research的一份报告上简要介绍了计算型存储,近日这份报告还将出现在SNIA的官网上。

Blocks & Files 网站上也能看到这份报告,这里简要介绍几个创新公司吧。

NGD Systems

NGD通过将ARM Cortex-A53处理器集成到NVMe SSD控制器,这种简单方式来实现现场数据处理。

数据仍然需要从NAND闪存芯片移动到处理器,但这是通过使用一个通用闪存接口(CFI)完成的,该接口的带宽是主机接口的三到六倍。

这种做法的优势在于,处理器运行着一个标准的操作系统(比如Ubuntu Linux),这就意味着Ubuntu上运行的任何软件都能用于现场计算,NGD的硬盘本身在这里可以当成标准的SSD来用。

NGD没有具体说性能有多大提升,只是说,相对于上一代硬件,将图像识别速度提高了两个数量级,Hadoop的数据处理效率提高了40%以上。

三星Samsung

三星于2018年10月宣布推出SmartSSD,三星将其描述为智能子系统,而不是存储设备,这是一套装载了多个SmartSSD的服务器,这一做法其实类似于计算集群。

每个智能固态硬盘都基于三星的3D V-NAND TLC闪存做存储部分,加上带有ARM的赛灵思Zynq FPGA作为计算单元。三星的Smart SSD主要面向两种工作负载:一方面是数据分析,一方面是存储相关的事务,比如数据压缩、重复数据消除和加密什么的。

跟NGD不一样的是,SmartSSD不能运行标准的软件,三星和赛灵思联合开发了一个runtime库来运行一些软件。

据了解,这些设备目前正在超大规矩数据中心用户和存储系统厂商进行测试。

开发数据分析和机器学习的那个Bigstream展示了使用三星SmartSSD运行Apache Spark的demo,性能提升了三倍到五倍。

ScaleFlux

Scaleflux的CSS固态盘也把数据存储与数据处理结合起来了。目前在售的CSS 1000系列PCIe卡或U.2盘有2TB-8TB容量,第三代产品将于今年晚些时候问世。

每个CSS固态盘也都是基于赛灵思的FPGA来做的,FPGA负责处理数据,同时又扮演闪存控制器的角色。CSS固态盘首先通过ScaleFlux软件模块集成到主机服务器和存储环境中,然后,还能通过软件模块中公开的API来访问计算功能。

另外,原来在SSD控制器里的FTL拿了出来,放到了软件模块里面。这意味着会占用一部分的主机的CPU资源,但ScaleFlux认为,作为系统软件来运行有其固有优势,比如可以进行一些优化来适应特定的工作负载什么的。

遗憾的是,将数据处理从服务器迁移到CSS固态盘需要改代码,不过ScaleFlux提供现成的代码包来加速应用程序迁移,支持Aerospike、Apache HBase、Hadoop和MySQL、OpenZFS文件系统和CEPH存储系统。

ScaleFlux表示,中国的阿里巴巴就打算用CSS固态盘来加速PolarDB,PolarDB是阿里打造的一款集事务型和分析型于一体的数据库,据了解,为了用这个盘,阿里巴巴自己改了代码来进行适应,而且用了SacleFlux提供的API。

Eideticom

Eideticom的NoLoad并不常见,这也是一个计算型存储,外型上是个2.5寸的U.2 NVMe SSD,内部包含赛灵思的FPGA加速器,还有一个小的内存。

Eideticom这套东西的背后主要利用了PCIe总线的优势,PCIe总线可以在NoLoad加速器和NVMe SSD存储之间快速移动数据,很少或根本不牵涉主机CPU。

这样做的好处在于,由于计算型存储的计算部分和存储部分是分离的,所以,计算部分和存储分部可以独立扩展。

Eideticom此前一个DEMO显示,将18块固态硬盘一共160GB的传输速率连到六块NoLoad上,对硬盘上的数据做压缩,而CPU的使用率不到5%。

Eideticom表示,一块NoLoad可以以超过3GB/秒的速度压缩或解压缩数据。所以,Eideticom主打的场景是数据压缩和重复数据删除,未来还将强化在加速数据分析方面的能力。

Nyriad

这家新西兰的公司最初开发这套NSULATE系统的时候,其实是为了给SKA射电望远镜处理大规模数据使用的。

NSULATE方案不是硬件产品,而是一个Linux块设备,是一套高性能的、适用于大规模存储软件RAID解决方案,它采用NVIDIA的GPU作为存储控制器,以深度奇偶校验计算来执行擦除编码,实现非常高的数据保护级别。

当然,那么贵的GPU不能只用来做存储控制器吧,Nyriad表示GPU还可同时用于其他工作负载,比如机器学习和区块链计算等。

小结

计算型存储是一种新兴技术,有分析师预测这一技术将很快普及开来。

新兴工作负载比如机器学习和分析场景需要非常快速的数据访问能力,计算型存储应该是一个不错的解决方案,随着未来SCM的应用,计算型存储的能力还将进一步放大。


欲获知更多闪存存储技术,市场新动态,敬请关注2019年全球闪存峰会。