FPGA 与 GPU 计算存储加速对比

为了提升计算基础设施的性能,并紧跟数据分析与 AI 不断攀升的需求,众多企业将硬件加速视为主要的解决方案。在大多数情况下,先进的可编程硬件(主要是指 GPU 和 FPGA)是加速的主要方式。通过使用这种先进的硬件,企业正在赢得计算优势;然而,对于编程难度,他们仍然存在合理的担忧。

图 1:分析/AI 流水线组件

硬件制造商正在将加速方法应用于计算存储,这是专门设计用于包含内嵌计算元素的存储。这种方法已经被证明可以为分析和 AI 应用提供优异的性能(图 1)。使用或者不使用机器学习辅助的分析以及验证,都可以借助计算存储器件进行加速。这些器件提供了一个关键的优势,使得成本高昂的计算被卸载到存储器件上,而不必在服务器 CPU 上完成。与标准的存储/CPU 方法相比,通过计算存储获得的优势包括:

1. 借助应用专用编程定制可编程硬件,获得更高性能

2. 将计算任务从服务器卸载到存储器件,释放 CPU 资源

3. 数据与计算共址,降低数据传输需求

这种新颖的方法前景光明。不过,您应根据具体用例评估这种方法,考量性能、成本、功耗和易用性。性价比和单位功耗性能在选择加速硬件评估时,占据主要比率。在本文中,我们将研讨单位功耗性能。

计算存储功耗比较

在这个场景中,我们将比较以 CSV 数据读取用例为主的三种工具:英伟达 GPUDirect 存储 和RAPIDS存储,以及基于赛灵思技术的三星 SmartSSD 存储。CSV 读取在计算密集型流水线中起着重要的作用(参见图 1)。

在下文中,我们将性能定义成 CSV 的处理速率,或处理“带宽”。我们先快速回顾一下三种系统的运行方式。

英伟达 GPUDirect 存储

  • 端到端满足分析和 AI 需求
  • 将 GPU 用作计算单元,紧贴基于 NVMe 的存储器件布局 (GPUDirect)
  • 使用 CUDA 进行编程 (RAPIDS)
  • 英伟达用其 CSV 数据读取技术衡量相对于标准 SSD 的性能提升。结果如图 1 所示。使用 1 到 8 个加速器时,对应的吞吐量是 4 到 23GB/s。

    三星 SmartSSD 驱动器

  • 将赛灵思 FPGA 用作计算单元
  • 与存储逻辑内嵌驻留在同一个内部 PCIe 互联上
  • 通过编程在存储平台上开展运算
  • 赛灵思数据分析解决方案合作伙伴 Bigstream 与三星合作,为 Apache Spark 设计加速器,包括用于 CSV 和 Parquet 处理的 IP。SmartSSD 的测试使用单机模式的 CSV 解析引擎,以便开展比较。结果如图 2 所示,使用 1 到 12 个加速器时,对应的吞吐量是 4 到 23GB/s,同时也给出英伟达的结果(使用 1 到 8 个加速器)。请注意,本讨论中的所有结果都按 x 轴上的加速器数量进行参数化。

    这些结果令人振奋,但在选择您的解决方案时,请务必将功耗情况纳入考虑。

    图 2:SmartSSD 驱动器的 CSV 解析性能结果

    单位功耗性能比较

    图 3 显示了将功耗考虑在内后的分析结果。它们代表单位功耗达到的性能水平,根据上述讨论中引用的相关材料,给出了以下假设:

  • Tesla V100 GPU:最大功耗 200 瓦
  • SmartSSD 驱动器 FPGA:最大功耗 30 瓦
  • 图 3:CSV 解析的每瓦功耗带宽比较

    在这个场景下,计算表明,在全部使用 8 个加速器的情况下,SmartSSD 的单位功耗性能比 GPUDirect Storage 高 25 倍。

    最终思考

    计算存储的优势在于能增强数据分析和 AI 应用的性能。然而,要让这种方法具备可实际部署的能力和实用性,就必须在评估时将功耗纳入考虑。

    针对用于 CSV 数据解析的两种不同的计算存储方法,我们已经提出按功耗参数化的吞吐量性能曲线。结果显示,在使用相似数量的加速器进行比较时,SmartSSD 驱动器的单位功耗性能优于 GPUDirect存储方法。

    GPUDirect 是英伟达通过 NVIDIA DGX-2 应用平台提供的研究系统。

    三星 SmartSSD 驱动器是一种可部署的量产型 PCIe 可插拔平台,现在已经通过赛灵思及分销商供货

    如需了解更多信息,请查看:

     有关 Bigstream 与 SmartSSD 计算存储器件结合使用,加速大数据和数据分析的电子书

     Bigstream 硬件加速 Apache Spark解决方案

    最新文章

    最新文章