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

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

3天内不再提示

在同一边缘设备上运行多个应用程序

星星科技指导员 ? 来源:NVIDIA ? 作者:Troy Estes ? 2022-10-10 14:22 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

智能空间是最丰富的边缘人工智能用例之一。从智能零售店到自主工厂,企业很快就能看到这项创新技术的价值。然而,构建和扩展智能空间需要许多不同的技术,包括多种应用。在边缘位置操作多个应用程序可能很复杂。

为此,组织可能会向某个位置添加新硬件,以便每个应用程序都有专用的计算资源,但与购买和安装每个新应用程序的新硬件相关的成本可能会很高。许多组织在同一设备上部署多个应用程序。

虽然这是一种规模解决方案,但它可能会带来不同的挑战。

许多组织依靠 GPU 的性能来支持边缘应用程序。即使使用高性能 GPU 加速系统,使用时间切片在同一设备上同时运行两个或多个 AI 应用程序也不可避免地会导致更高的延迟,而硬件优化最少。

当多个应用程序在同一设备上运行时,设备将应用程序时间切片到队列中,以便应用程序按顺序运行,而不是并发运行。当设备从一个应用程序的处理数据切换到另一个应用程序时,结果总是有延迟。每个部署的延迟量不同,但可能高达 8 毫秒。这可能会严重影响为高速操作提供动力的应用,例如制造生产线。

由于应用程序是按顺序运行的, GPU 仅在每个应用程序运行时根据需要使用。例如,如果有三个应用程序在 GPU 上顺序运行,并且每个应用程序需要 60% 的 GPU 资源,那么在任何给定时间,使用的 GPU 都不到 60% 。在每次上下文切换期间, GPU 利用率将为 0% 。

有几种方法可以避免时间分割,更好地利用 GPU 资源。

NVIDIA 多实例 GPU

NVIDIA 多实例 GPU ( MIG ) 是一种功能,使您能够将 GPU 划分为多个实例,每个实例都有自己的计算核心,从而实现 GPU 的全部计算能力。 MIG 通过隔离应用程序并为每个应用程序分配资源,缓解了应用程序争夺资源的问题。 MIG 还允许更好的资源优化和低延迟。

通过提供多达七个不同的分区,您可以支持从最小到最大的每个工作负载,并提供有效操作每个已部署应用程序所需的确切计算能力。

除了性能之外, MIG 还为每个实例的计算、内存和缓存分配了一组硬件资源,从而增加了安全性和弹性。 MIG 为工作负载提供故障隔离,其中一个实例中运行的应用程序引起的故障不会影响其他实例上运行的应用程序。如果一个工作负载失败,所有其他工作负载将继续不间断地运行,因为实例和工作负载并行运行,同时保持独立和隔离。

MIG 同样适用于容器或虚拟机( VM )。当使用虚拟机时,使用 NVIDIA vGPU 可以很容易地虚拟化 GPU ,可以将其配置为使用时间切片或 MIG 。

MIG 用于边缘 AI

在部署边缘人工智能时,优化成本、功率和空间都是重要的考虑因素,特别是如果您想要复制到数千个边缘节点。通过允许组织在同一 GPU 上运行多个应用程序, MIG 消除了为每个工作负载安装专用 GPU 的需要,显著降低了资源需求。

除了资源优化之外, MIG 还有助于确保可预测的应用程序性能。如果没有 MIG ,在同一 GPU 上运行的不同作业(如不同的 AI 推断请求)会争夺相同的资源,如内存和带宽。由于时间切片中固有的资源竞争,一个应用程序的性能可能会受到另一个应用程序中活动的影响。对于边缘人工智能环境,不可预测的性能可能会产生严重后果。

例如,监控生产线以检测产品缺陷的计算机视觉应用程序必须能够即时对其动态环境作出反应。它必须能够快速检查产品,并且在出现缺陷产品的情况下,能够与其他机器通信以停止生产线。为了安全和效率,组织必须知道,为其生产线供电的人工智能应用程序一直在正确且可预测地运行。

使用不同资源同时运行的作业具有可预测的性能、服务质量和最大 GPU 利用率,使 MIG 成为每个边缘部署的重要补充。

pYYBAGNDumaAZ_oaAAWkbGMr3vM947.png

图 1 。每个 MIG 实例可以处理一个独立的工作负载,优化需要同时操作多个用例的环境

MIG on NVIDIA Fleet Command

Fleet Command 是一种云服务,集中连接边缘位置的系统,从一个仪表板安全部署、管理和扩展人工智能应用程序。专门为边缘人工智能构建, Fleet Command 是跨数百甚至数千台设备编排人工智能的最佳方式。

通过 Fleet Command 云平台,管理员可以完全控制 MIG 进行边缘人工智能部署,只需最少的配置。在 Fleet Command 上使用 MIG 只需点击几下,您就可以跨数百甚至数千个设备做出资源利用率决策。您可以轻松地添加新的 MIG 分区,缩小现有分区,并创建自定义部署,所有这些都可以从一个仪表板上完成。

Fleet Command 和 MIG 的结合为组织提供了完全控制边缘人工智能部署所需的所有功能,从而提高了工作负载的利用率和效率。

关于作者

Troy Estes 是 NVIDIA Edge 和企业计算解决方案的产品营销经理。在加入 Edge & Enterprise 业务部门之前,特洛伊曾在自主汽车业务部门和 NVIDIA 电网产品集团从事营销活动和支持产品 GTM 。

审核编辑:郭婷

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

    关注

    14

    文章

    5348

    浏览量

    106848
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4980

    浏览量

    132102
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FX3 UVC 无法与 Ubuntu 24.04 Cheese 或 Snapshot 相机应用程序配合使用,怎么处理?

    当我尝试使用 Cheese 或 Snapshot 应用程序将未压缩的 1080p30 从我的 FX3 UVC+UAC 设备流式传输到 Ubuntu 24.04 机器时遇到问题。我的 FX3
    发表于 07-16 06:37

    怎么将同一车间PLC设备划分到同一VLAN

    某工厂网络中,管理人员需要将同一车间的自动化设备PLC划分到同一VLAN,确保只有该车间的设备能够相互访问,同时将这些
    的头像 发表于 06-18 11:12 ?263次阅读
    怎么将<b class='flag-5'>同一</b>车间PLC<b class='flag-5'>设备</b>划分到<b class='flag-5'>同一</b>VLAN

    如何在 树莓派 编写和运行 C 语言程序

    本教程中,我将讨论C编程语言是什么,C编程的用途,以及如何在RaspberryPi编写和运行C程序。本文的目的是为您介绍Raspber
    的头像 发表于 03-25 09:28 ?689次阅读
    如何在 树莓派 <b class='flag-5'>上</b>编写和<b class='flag-5'>运行</b> C 语言<b class='flag-5'>程序</b>?

    OpenVINO?中运行应用程序失败怎么解决?

    尝试 OpenVINO? 中运行我的推理应用程序失败,并出现以下错误: RuntimeError: Check \'false\' failed at src/core/src/runtime/ov_tensor.cpp:67
    发表于 03-05 10:29

    是否可以使用OpenVINO?部署管理器部署机器运行Python应用程序

    使用 OpenVINO?部署管理器创建运行时软件包。 将运行时包转移到部署机器中。 无法确定是否可以部署机器运行 Python
    发表于 03-05 08:16

    EE-239:ADSP-BF533 Blackfin处理器运行闪存程序

    电子发烧友网站提供《EE-239:ADSP-BF533 Blackfin处理器运行闪存程序.pdf》资料免费下载
    发表于 01-07 13:58 ?0次下载
    EE-239:<b class='flag-5'>在</b>ADSP-BF533 Blackfin处理器<b class='flag-5'>上</b><b class='flag-5'>运行</b>闪存<b class='flag-5'>程序</b>

    边缘设备设计和部署深度神经网络的实用框架

    ???? 机器学习和深度学习应用程序正越来越多地从云端转移到靠近数据源头的嵌入式设备。随着边缘计算市场的快速扩张,多种因素正在推动边缘人工智能的增长,包括可扩展性、对实时人工智能应用的
    的头像 发表于 12-20 11:28 ?994次阅读

    android手机上emulate应用程序的方法

    Android手机上模拟(emulate)应用程序的方法通常涉及到使用Android模拟器(Emulator)或类似的工具来模拟Android环境,以便在没有实际物理设备的情况下运行
    的头像 发表于 12-05 15:33 ?1380次阅读

    AWTK-WEB 快速入门(1) - C 语言应用程序

    导读AWTK可以使用相同的技术栈开发各种平台的应用程序。有时我们需要使用Web界面与设备进行交互,本文介绍下如何使用C语言开发AWTK-WEB应用程序。用AWTKDesigner新建
    的头像 发表于 11-27 11:46 ?796次阅读
    AWTK-WEB 快速入门(1) - C 语言<b class='flag-5'>应用程序</b>

    Docker运行环境安装

    、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环境中。 Docker可以安装在多个平台中,包括Mac、Windows和Linux。不过,生产环境还是推荐Linux运行
    的头像 发表于 10-29 11:28 ?759次阅读

    边缘计算架构设计最佳实践

    边缘网关 :作为中间层,聚合多个边缘设备的数据,执行初步处理与过滤,有时还承担设备管理、协议转换等功能。
    的头像 发表于 10-24 14:17 ?1212次阅读

    边缘计算与云计算的区别

    地点,如设备、传感器等。计算任务边缘设备上进行,而不是集中中央云服务器。 云计算 :将计算资源集中
    的头像 发表于 10-24 14:08 ?1571次阅读

    使用 ADI 的 MAX78002 MCU 开发边缘 AI 应用

    的物联网设备运行。 Analog Devices, Inc. 的微控制器单元 (MCU) 可以通过集成的低功耗卷积神经网络 (CNN) 加速器来解决边缘处理限制,以处理电池供电
    的头像 发表于 10-17 11:39 ?2190次阅读
    使用 ADI 的 MAX78002 MCU 开发<b class='flag-5'>边缘</b> AI 应用

    多个网站放在同一台服务器ip有什么影响?

    多个网站放在同一台服务器,使用同一个IP地址,可能会有以下影响: 1、资源共享:多个网站共享同一
    的头像 发表于 09-12 11:15 ?1440次阅读

    TM4C MCU用FreeRTOS开发通用应用程序应用说明

    电子发烧友网站提供《TM4C MCU用FreeRTOS开发通用应用程序应用说明.pdf》资料免费下载
    发表于 09-11 14:15 ?0次下载
    <b class='flag-5'>在</b>TM4C MCU<b class='flag-5'>上</b>用FreeRTOS开发通用<b class='flag-5'>应用程序</b>应用说明