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

    文章

    4930

    浏览量

    102794
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4700

    浏览量

    128679
收藏 人收藏

    评论

    相关推荐

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

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

    边缘计算与云计算的区别

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

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

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

    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>应用说明

    让YUV2演示FX3的内存运行,启动数据流时却无法正常工作,应用程序会崩溃,为什么?

    效(我看到了我的 4 帧样本),但启动数据流时却无法正常工作,应用程序会崩溃。 linux 运行时,v4L2 报告说它根本不起作用: VIDIOC_STREAMON return
    发表于 05-28 08:18

    部署边缘设备的轻量级模型

    电子发烧友网报道(文/李弯弯)边缘AI算法是种将人工智能(AI)算法和计算能力放置接近数据源的终端设备中的策略。这种算法通常被部署
    的头像 发表于 05-11 00:17 2542次阅读

    应用程序中的服务器错误怎么解决?

    使用应用程序时,可能会遇到服务器错误的问题。这种错误通常会导致应用程序无法正常运行 ,给用户带来不便。下面将介绍应用程序中的服务器错误及其
    的头像 发表于 03-12 15:13 5740次阅读

    STM32MP135使用SD卡启动应用程序应用程序是需要在DDR运行,DDR初始化,已经FSBL镜像里面吗?

    使用SD卡启动应用程序应用程序是需要在DDR运行,DDR初始化,已经FSBL镜像里面嘛 求大佬指点
    发表于 03-11 08:31

    苹果手机用同一个id怎么取消同步

    苹果手机用同一个id怎么取消同步  取消苹果手机间的同步功能可以通过以下步骤完成。请注意,这些步骤适用于iOS 11及更高版本。 步骤1:打开“设置”应用程序 首先,打开您的iPhone或iPad
    的头像 发表于 02-19 10:19 2977次阅读

    u8g2应用程序无法moduStoolBox中构建是为什么?

    u8g2 库。 要将其添加到应用程序中的哪里? 我试图将其加载到libs目录下,但是当我这样做时,它会产生70多个错误。 我相信我已经在下面的压缩文件中附上了我的应用程序。 我 C
    发表于 01-24 07:03

    2023 年最适用于边缘计算项目的 7 种硬件设备,Orange Pi榜上有名

    边缘计算概述“边缘”究竟是什么,根据您的参考框架可能会有很大的不同。边缘计算可以是简单的内容交付网络(CDN),为静态文件提供服务以降低加载时间;也可以是将应用程序部署
    的头像 发表于 01-05 17:54 2082次阅读
    2023 年最适用于<b class='flag-5'>边缘</b>计算项目的 7 种硬件<b class='flag-5'>设备</b>,Orange Pi榜上有名

    【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行

    。搭建Linux平台交叉编译环境在上篇文章我们介绍了使用AWTK开发简单的应用并在PC模拟运行,本篇文章就来介绍下怎么让应用程序
    的头像 发表于 12-07 12:08 669次阅读
    【从0开始创建AWTK<b class='flag-5'>应用程序</b>】编译应用到嵌入式Linux平台<b class='flag-5'>运行</b>

    vlookup 匹配同一值的多个结果

    ,我们将探讨如何使用VLOOKUP函数来实现匹配同一值的多个结果,解决这个常见的需求。 、VLOOKUP函数回顾 开始之前,我们先回顾
    的头像 发表于 12-03 10:27 1.6w次阅读

    LabVIEW不同操作系统使VI、可执行文件或安装程序

    的。可执行文件必须在目标操作系统构建,并且不能在另个操作系统同一操作系统的另个版本
    发表于 12-02 21:47

    【从0开始创建AWTK应用程序】创建应用程序并在模拟器运行

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器运行、将AWTK应用程序移植
    的头像 发表于 12-01 08:24 463次阅读
    【从0开始创建AWTK<b class='flag-5'>应用程序</b>】创建<b class='flag-5'>应用程序</b>并在模拟器<b class='flag-5'>运行</b>