0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

赛灵思FPGA与VMware vSphere相结合实现高吞吐量、低时延ML推断性能

454398 来源:Xilinx赛灵思官微 作者:Xilinx赛灵思官微 2020-09-29 11:52 次阅读

硬件加速器已在数据中心得到普遍使用,一系列新的工作负载已经能够成熟地发挥 FPGA 的加速优势及其更优异的计算效率。业界对机器学习 (ML) 的关注度不断提高,推动 FPGA 加速器在私有云、公有云、混合云数据中心环境中日益普及,从而为计算密集型工作负载加速。近期,在推动 IT 基础设施向异构计算转型的过程中,赛灵思与 VMware 展开协作,在 VMware 的云计算虚拟化平台vSphere上测试 FPGA 加速。由于赛灵思 FPGA 越来越广泛地应用于 ML 推断加速,本文将展示的是如何将赛灵思 FPGA 与 VMware vSphere 相结合,在虚拟部署和裸机部署上实现基本相同的高吞吐量、低时延 ML 推断性能。

“自适应计算”的优势
FPGA 是一种自适应计算器件,能够灵活地进行重新编程,从而满足目标应用不同的处理需求和功能要求。该特性使 FPGA 从 GPUASIC 等架构固定的器件中脱颖而出,更是远远优于成本不断飙升的的定制 ASIC。此外,与其他硬件加速器相比,FPGA 还具备高能效、低时延的优势,使 FPGA 特别适用于 ML 推断工作。与基本依靠大量并行处理核心实现高吞吐量的 GPU 不同的是,FPGA 通过定制化硬件内核、数据流流水线和互联,助力 ML 推断同时实现高吞吐量和低时延。

01. 在 vSphere 上使用 FPGA 开展 ML 推断

VMware 在其实验室中使用赛灵思 Alveo U250 数据中心卡进行测试。使用在Vitis AI中提供的 Docker 容器——为从边缘到云端的赛灵思硬件平台提供的 ML 推断统一开发栈,ML 模型可以迅速完成配置。该容器由经过优化的工具、库、模型和示例构成。Vitis AI 支持含 Caffe 和 TensorFlow 在内的主流框架以及能够执行多种深度学习任务的最新模型。此外,Vitis AI 是一种开源应用,可通过访问GitHub获取。

赛灵思FPGA与VMware vSphere相结合实现高吞吐量、低时延ML推断性能

图 1:Vitis AI 软件协议栈

目前,赛灵思 FPGA 通过 DirectPath I/O 模式(直通模式)能在 vSphere 上使用。在这种模式下,我们的 FPGA 能够由运行在虚拟机内部的应用直接访问,绕过程序管理层,从而最大化性能并最大限度降低时延。配置 DirectPath I/O 模式下的 FPGA 只需简单的两步流程:首先,在主机层面上启用 ESXi,然后将器件添加到目标虚拟机。详细操作方法参见 VMware KB 一文( https://kb.vmware.com/s/article/1010789 )。请注意,如果运行的是 vSphere 7,则不再需要重启主机。

02. 高吞吐量、低时延 ML 推断性能

通过与赛灵思合作,VMware 使用四个 CNN 模型执行推断任务,对我们的 Alveo U250 加速器卡在 DirectPath I/O 模式工作下的吞吐量和时延性能进行评估。这四个模型分别为Inception_v1、Inception_v2、Resnet50 和 VGG16。这些模型在模型参数数量上不尽相同,因而具备不同的处理复杂性。

测试在搭载两颗 10 核 Intel Xeon Silver 4114 CPU 和 192GB DDR4 存储器的 Dell PowerEdge R740 服务器上进行。我们使用 ESXi 7.0 虚拟机程序管理器,将每种模型的端到端性能结果与作为基线的裸机性能进行对比。Ubuntu 16.04(内核版本 4.4.0-116)用作客户端操作系统和本地操作系统。此外,在整个测试过程中将 Vitis AI v1.1 与 Docker CE 19.03.4 结合使用。同时使用源于 ImageNet2012 的 50k 图像数据集。为进一步避免图像读取过程中遭遇磁盘瓶颈,还创建了一个 RAM 磁盘用于存储 50k 图像。

完成这些设置后,虚拟测试和裸机测试之间的性能比较可从下面的两个图中进行观察。一个针对吞吐量,另一个针对时延。y 轴代表虚拟测试和裸机测试间的吞吐量性能比值。y=1.0 代表虚拟测试和裸机测试的吞吐量性能结果相同。

图 2:在 Alveo U250 FPGA 上运行 ML 推断时裸机测试和虚拟测试的吞吐量性能比较

图 3:在 Alveo U250 FPGA 上运行 ML 推断时裸机测试和虚拟测试的时延性能比较

测试证明,虚拟环境和裸机间在吞吐量和时延两方面的性能差距最大不超过 2%。这说明在虚拟环境中运行在 vSphere 上的 Alveo U250 的 ML 性能与作为基线的裸机性能极为相近。

03. 云端的 FPGA 性能

在数据中心中采用 FPGA 加速器已成为普遍现象,而且为满足对异构计算和性能提升的需求,FPGA 加速器的应用还将继续增长。我们非常高兴能够与 VMware 展开合作,共同确保客户能充分发挥运行在 vSphere 平台上的赛灵思 FPGA 加速的全部优势。我们在 vSphere 上对我们的 Alveo U250 加速器卡进行 ML 推断性能测试,成功地向客户证明了该器件在 DirectPath I/O 模式下能够实现接近裸机的性能。

编辑:hfy


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

    关注

    1626

    文章

    21670

    浏览量

    601883
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    131166
  • 云计算
    +关注

    关注

    39

    文章

    7736

    浏览量

    137205
  • 机器学习
    +关注

    关注

    66

    文章

    8378

    浏览量

    132415
收藏 人收藏

    评论

    相关推荐

    TMS320VC5510 HPI吞吐量和优化

    电子发烧友网站提供《TMS320VC5510 HPI吞吐量和优化.pdf》资料免费下载
    发表于 10-16 09:35 0次下载
    TMS320VC5510 HPI<b class='flag-5'>吞吐量</b>和优化

    TMS320C6474模块吞吐量

    电子发烧友网站提供《TMS320C6474模块吞吐量.pdf》资料免费下载
    发表于 10-15 13:52 0次下载
    TMS320C6474模块<b class='flag-5'>吞吐量</b>

    TMS320C6474通用总线架构(CBA)吞吐量

    电子发烧友网站提供《TMS320C6474通用总线架构(CBA)吞吐量.pdf》资料免费下载
    发表于 10-15 10:29 0次下载
    TMS320C6474通用总线架构(CBA)<b class='flag-5'>吞吐量</b>

    TMS320DM36x SoC架构和吞吐量

    电子发烧友网站提供《TMS320DM36x SoC架构和吞吐量.pdf》资料免费下载
    发表于 10-14 10:51 0次下载
    TMS320DM36x SoC架构和<b class='flag-5'>吞吐量</b>

    TMS320C6472/TMS320TCI6486的吞吐量应用程序报告

    电子发烧友网站提供《TMS320C6472/TMS320TCI6486的吞吐量应用程序报告.pdf》资料免费下载
    发表于 10-14 09:27 0次下载
    TMS320C6472/TMS320TCI6486的<b class='flag-5'>吞吐量</b>应用程序报告

    ASP4644在FPGA SERDES供电中的应用

    ASP4644是一款集成度、四输出的降压型模组稳压器,专为需要纹波和高效率的供电场合设计,如FPGA和SERDES供电。本文将探讨如何利用ASP4644的特性实现
    发表于 08-16 14:55

    求助,关于使用iperf测量mesh节点吞吐量问题求解

    我把esp-mesh-lite的no-route例程和iperf例程合在一起,想测试两个mesh节点间tcp通信的吞吐量,实际过程中一开始流量正常,数秒后客户端发数据这边monitor卡死没有任何
    发表于 07-23 06:59

    用Iperf例程测试ESP32-C6的TCP通信,吞吐量很低的原因?

    为什么我用官网的Iperf例程测试ESP32-C6的TCP通信,吞吐量才0.33Mbps
    发表于 06-06 07:47

    FPGA flash操作原理

    FPGA flash操作原理分享
    的头像 发表于 04-09 15:03 942次阅读

    如何提高CYBT-243053-02吞吐量

    你好我们一直在使用“EZ-Serial Firmware: v1.4.13.13 Sep 22 2023 10:24:41”测试“CYBT-243053-02”,我们得到的吞吐量比 PUART
    发表于 02-27 06:56

    Lattice Insights 简化FPGA设计和开发

    的计算吞吐量的显著增长,这就增加了对硬件效率的需求。现场可编程门阵列(FPGA)是一种理想的芯片解决方案,凭借其延迟、吞吐量和低功耗等差
    的头像 发表于 02-20 17:22 2007次阅读
    Lattice Insights 简化<b class='flag-5'>FPGA</b>设计和开发

    怎么用FPGA做算法 如何在FPGA实现最大公约数算法

    FPGA算法的优点在于它们可以提供高度的定制化和灵活性,使得算法可以根据实际需求进行优化和调整。此外,FPGA还可以实现硬件加速,提供比传统处理器更高的计算性能
    的头像 发表于 01-15 16:03 2014次阅读

    GPT推断中的批处理(Batching)效应简析

    机器学习模型依赖于批处理(Batching)来提高推断吞吐量,尤其是对于 ResNet 和 DenseNet 等较小的计算机视觉模型。
    的头像 发表于 12-18 15:52 674次阅读
    GPT<b class='flag-5'>推断</b>中的批处理(Batching)效应简析

    GD32VW553吞吐量及场景功耗测试指南应用说明

    电子发烧友网站提供《GD32VW553吞吐量及场景功耗测试指南应用说明.pdf》资料免费下载
    发表于 12-14 10:20 1次下载
    GD32VW553<b class='flag-5'>吞吐量</b>及场景功耗测试指南应用说明

    影响ATE电源系统吞吐量的关键因素

    从串行设备测试改变为并行设备测试可以显著地增加测试系统吞吐量。测试执行活动的大部分可能涉及使用DC电源设置条件和进行测量。配置测试系统,使其能够使用多个直流电源同时对多个设备执行测试,是显著提高测试吞吐量的一种经济有效的方法。
    发表于 11-29 12:36 365次阅读
    影响ATE电源系统<b class='flag-5'>吞吐量</b>的关键因素