础滨驱动的设计应用
草榴社区 战略营销经理 Scott Durrant 和 草榴社区 产物营销总监 Rich Collins
据 称,服务提供商每年将增加约 25% 的存储支出,以便在未来几年内管理增加的数据。这意味着,数据中心的年度存储支出到 2022 年将增长到 850 亿美元,到 2027 年将增长到近 3000 亿美元。在增加数据存储的同时,数据中心运营商希望减少能源费用以及与运营相关的碳足迹。因此,服务提供商将投资重点放在更高性能和更低功耗计算能力上,从而减少数据移动,因为数据移动本身是一个十分耗费能源的过程。例如,每分钟将超过 500 小时的内容上传到 YouTube - 内容必须几乎即时存储、搜索和处理,且功耗尽可能低。计算存储是改善数据处理的关键技术,它为 SSD 存储解决方案带来了计算能力,以提高系统性能并减少存储和应用处理器之间传输的数据量。
部分向计算存储方向发展的硬盘假设增加 SSD 闪存的使用。 预测,未来五年或更长时间,SSD 闪存容量的出货量将每年增长 30% 以上。对于选择投资于产物领先优势的供应商而言,这种增长为存储市场创造了许多机会。
要了解从传统存储和处理解决方案到计算存储的转变,请思考美国环境保护署 (US EPA) 的一个例子。EPA 每小时在美国数百个不同城市检测空气质量,以测量各种污染物的数量。这些测量值存储在包含数百万条记录的数据库中,而且数据不断增长。
此数据库的一个示例查询是对于二氧化硫(一种常见的污染物)超过 EPA 认为的健康水平(每十亿中 75 个或以下)的次数报告。此数据库中包含相关数据的记录不足 1/1000(低于 1% 的 1/10)。要在传统系统中生成报告,主机服务器运行查询(图 1),将部分数据库从存储服务器 SSD 复制到与主机处理器关联的已分配 DRAM。然后主机 CPU 扫描所有这些记录,查找相关记录,并重复处理下一个数据库部分,直到系统从数百万条记录中提取所有相关信息。
图 1:将传统的计算数据传输与计算存储进行比较。
使用计算存储系统,存储服务器中的固态硬盘被内置有处理能力的计算存储硬盘替换。主机服务器向存储服务器发送请求,请求其提供相关记录。每个计算存储硬盘中的处理器都对信息进行预处理,查找包含超过 十亿分之七十五的污染物报告的记录,并且仅返回相关信息,而不是移动整个含有数百万条记录的数据库。然后,主处理器执行任何必要的后处理并返回报告。使用计算存储系统会占用更少的网络带宽,因为只有一小部分数据库通过网络发送。此外,需要的主机 CPU 周期要少得多,因为主机 CPU 只需要查看相关记录,而不是整个数据库。
在计算存储系统中,随着存储量和硬盘数量的增加,存储设备中的计算处理器的数量也随之增加。因此,处理能力随存储而扩展。计算存储处理器可以优化为特定工作负载,以进一步改善性能。
图 2 和图 3 描述了数据如何在计算存储事务中流动。
首先,传统的主机请求将从主机接口进入存储 SSD 控制器(计算存储硬盘),以请求数据。从 SSD 提取到 DRAM 并由主机处理器处理的数据可能极其庞大。在这种情况下,主机向计算存储处理器发送简单的高级命令,以请求开始事务。
其次,计算存储处理器启动并分析来自主机的命令,然后向 DRAM 发起读取请求。该请求告知存储处理器构建传输描述符(步骤 3),该描述符随后用于调度到适当的 Flash 通道,以从 NAND 闪存元素获取读取数据(步骤 4)。
图 2:从主机到分派描述符的计算存储硬盘数据流
接下来,从 NAND Flash 通道引入计算存储处理器的读取请求进行分析。处理器查找请求的数据或密钥匹配。如果找到匹配记录,则将该匹配记录发送到 DDR DRAM(步骤 6)。然后,将数据打包在主机接口协议中,并通过主机接口将数据 DMA 发送到主机内存,然后由主机处理器进行处理或使用(步骤 7)。
一旦完成,计算存储处理器将消息发送回主机处理器,告知事务已完成且数据可用,或者如果过程没有实现匹配,则发送一条错误消息(步骤 8)。
图 3:计算存储硬盘从读取数据到成功完成指示的数据流
使用计算存储可减少从本地存储 (NAND Flash) 发送到 DRAM 以供主机处理的数据量。在美国 EPA 示例中,只有千分之一的记录需要将数据存储在 DRAM 中,从而释放主机处理器,使其专注于最重要数据。
出于计算存储的目的,人工智能 (AI) 正采用传统上在大脑功能和神经元中观察到的结果,将其转化为数学函数,然后创建可以处理数据的专用硬件、加速器和神经网络引擎。
计算存储提供了用于管理 AI 应用程序使用的数据类型的更好方法。当需要数据表征时,训练模型也是如此。系统可以对处理器编程,然后根据需要实时调整处理器。训练和推理可创建对任何 AI 应用所需要的常见高级定义。但仍然存在问题,为什么应用程序在存储中需要 AI?
当今的系统在边缘生成大量数据。鉴于数据移动的功耗、性能和金钱成本,在边缘应用 AI 技术而不是通过云将其发送回去,变得越来越重要。计算存储的价值在于减少数据移动,这对于优化 AI 应用程序也很重要。AI 应用程序中的计算存储在本地存储中单独离线处理 AI 处理,然后仅将所需数据移动到主机或数据中心。
某些类型的应用程序可受益于计算存储,例如处理器卸载、视频转码和搜索文本、图像或视频。汽车应用中的图像分类和对象检测与分类,可受益于道路上的计算存储。这些应用都可以使用机器学习、加密和/或压缩,来简化或减少需要在系统周围传输到主机处理器的数据量。
在确定计算存储是否对系统有益之后,设计人员会考虑使用哪些处理器来管理数据。将更多的计算能力放入计算存储硬盘,需要的处理能力比不使用计算存储的系统更高。
草榴社区 提供一系列处理器 IP,这些 IP 特别适合计算存储,原因有多个。DesignWare? ARC? 处理器 IP 提供非常灵活、可扩展的架构。广泛的处理器产物组合涵盖低端三级管道处理器,到更高端的 10 级管道实时和嵌入式应用处理器。最后,草榴社区 的嵌入式视觉处理器提供神经网络加速器,可以帮助进行 AI 部分的处理。
图 4:一个计算存储硬盘可以包含多个用于不同功能的 ARC 处理器
向计算存储硬盘添加计算要求可以快速增加处理需求。为了支持这些要求,DesignWare ARC HS6x 处理器采用双问题 64 位超标架构(图 6)。处理器可提供出色的性能,可提供高达 6.1 CoreMark/MHz,体积小且功耗低。
ARC HS6x 处理器基于先进的 ARCv3 指令集架构 (ISA) 和管道,可提供领先的功率效率和代码密度。处理器具有 52 位物理地址空间,可直接解决内存大小高达 4.5 PB (4.5x1015) 的问题。
当您将更多外部计算从存储访问控制放入本地存储处理器时,您将需要构建额外的处理能力,以支持所需的编程工作负载。ARC HS6x 内核非常适合提供这种额外的处理能力。
图 5:ARC HS6x 处理器
对于需要更高性能的应用,HS6x 的多核处理器版本可在单个一致的处理器群集中支持多达 12 个 ARC HS6x CPU 内核和多达 16 个硬件加速器。
从传统存储架构到计算存储的转变正在发生。在传统存储系统中,主机处理器处理从存储到 DRAM 的所有存储请求和数据副本。这本质上不如计算存储有效。随着我们转向存储内或计算存储架构,在硬盘上本地操作数据。这样,主机可以不用接收并分析数据,而是可以发起请求,让计算存储硬盘通过集成的 ARC 处理器来处理预处理。主机等待下列指示:处理已完成并且数据子集已为主机准备就绪。这降低了功耗,并提高了性能,因为在主机和存储设备之间传输的数据量要小得多。