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

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

3天内不再提示

了解何时使用DOCA驱动程序和DOCA库

星星科技指导员 来源:NVIDIA 作者:Scott Ciccone 2022-06-21 15:14 次阅读

NVIDIA DOCA 软件框架包括编程 NVIDIA BlueField 数据处理器 ( DPU )并提供一致的体验,无论开发环境如何。 NVIDIA 提供以下资源:

开发人员计划

SDK 管理器支持

工具汇编

编译器

基准测试

API 参考和程序员指南

参考应用程序

使用案例

NVIDIA 通过为开发人员提供 DOCA SDK 和用于开箱即用部署的 DOCA 运行时软件来提供堆栈。

DOCA 驱动程序还是 DOCA 库?

DOCA 驱动程序和 DOCA 库是开发人员、 IT 安全和运营团队以及 IT 管理员的关键部分。它们用于为 DPU 开发和部署软件定义和硬件加速的应用程序。然而,我有时会收到关于正确使用的问题。

为了确保没有混淆,并确定哪种可能最适合您的开发需求,我写了这篇文章来讨论何时使用哪种。

表 1 DOCA 驱动程序与 DOCA 库

表 1 比较了驱动程序和库,并强调了各自的优缺点。本质上, DOCA 驱动程序提供了更大的定制空间,而 DOCA 库的设计旨在以更低的编码复杂性提供最佳的每个用例性能和扩展。

DOCA 库

首先, DOCA 库是针对特定用例优化的高级抽象 API 。库可以通过更快的开发时间和上市时间来实现优异的性能。它们还包括各种指南和示例应用程序,这些应用程序在用于开发时比 DOCA 驱动程序的学习曲线更短。

NVIDIA 库已提前加速。它们使您能够快速构建各种应用程序,并显著提高性能,因为已经为指定用例创建和调整了逻辑。它们还确保了多代兼容性,这在使用 DOCA 驱动程序时是无法保证的。

这些库旨在解决特定的用例,如防火墙、网关或存储控制器。它们使用 PMD 和 DPDK ,并包含 DPDK 或驱动程序级别不存在的其他功能和逻辑。

例如,如果使用 RegEx 识别用于深度数据包检查( DPI )的复杂字符串模式, DOCA DPI 库包括预处理(数据包头解析)和后处理例程,以便更容易使用 RegEx 加速器对网络数据包执行操作。 DPDK RegEx API 不包含任何这些内容。 DOCA DPI 库 API 是抽象的,更易于开发数据包检查例程,因为不需要理解逻辑。

DOCA 库允许您选择具有内置硬件加速的首选 API 。 DOCA 1.3 的当前版本包括 120 多个 DOCA API :

零信任安全框架

遥测加速服务

流式服务实现实时可见性

这些服务可通过 NGC Catalog 获得,并可在几分钟内部署到 BlueField DPU 上。

这些库的价值是通过运行时环境、 DOCA 服务和一组扩展的文档来实现的。一般的图书馆用户不会开发应用程序,而是利用 NVIDIA 或第三方提供的现有应用程序和服务。

DOCA 服务是由多个项目组成的容器化驱动程序和库,可以作为服务运行以提供特定功能。每个服务都提供不同的功能,例如 DOCA 遥测 API ,它可以在几分钟内从 NGC 目录中提取。它提供了一种快速方便的方法来收集用户定义的数据并将其传输到 DOCA 遥测服务( DTS )。

此外, API 还提供了几个内置输出以方便用户,包括将数据直接保存到存储器、 NetFlow 、 Fluent 位转发和 Prometheus 端点。

这些库中的每一个都共享对象,并且除了它们各自使用 PMD 驱动程序之外,没有以任何方式绑定。类似地,每个都有一个公共基础设施,每个都有自己的 文档和程序员指南 。

DOCA 驱动程序和 DOCA SDK

虽然库消除了低级编程,但它们可能不支持您正在寻找的所有特性和功能,因此 NVIDIA 提供了 DOCA 驱动程序。 DOCA 驱动程序是基于开源的,如果您正在开发自己的解决方案或必须创建独特的解决方案,则可以提供更大的灵活性。

NVIDIA 驱动程序是为开发人员设计的,通过 DOCA SDK 提供。 SDK 包括创建和构建应用程序所需的所有组件,包括参考应用程序源、开发工具、文档和 NVIDIA SDK 管理器。 SDK 管理器支持快速部署开发环境,还可以将映像闪存并安装到本地 DPU 。

开发人员容器支持在任何地方开发 DOCA 加速的应用程序。您不必在 DPU 上的 Arm 处理器上执行此操作。在具有物理 DPU 的主机上,可以在开发人员容器中执行此操作,该容器模拟 Arm 处理器。 NVIDIA 提供了详细的文档、示例和 API 兼容性。

DOCA SDK 是利用 DOCA 库和驱动程序并创建独特的个性化软件以满足应用程序开发需求的最有效方法。

DOCA 运行时也可用于验证和测试应用程序。

DOCA 运行时

如果您尚未准备好或无法将应用程序移植到 Arm 体系结构, NVIDIA 将为 x86 提供 DOCA 运行时。在这种情况下, gRPC 客户端在 DPU 上运行,并与 x86 运行时建立通信通道。应用程序可以访问 DPU 运行时组件,您不必编译任何 Arm 代码。

软件定义、硬件加速的基础架构

DOCA 简化了 BlueField DPU 的编程和应用程序开发,并通过提供更高级别的抽象消除了障碍。通过提供运行时二进制文件和高级 API , DOCA 框架使您能够专注于应用程序代码,而不是学习。

您可以选择两种开发路线:通过库和服务或通过 SDK 和驱动程序。目前, DOCA 软件栈包括 120 多个 DOCA API ,全球 2500 多名 DOCA 开发人员正在使用这些 API 。它们可通过 NGC Catalog 获得。

关于作者

Scott Ciccone 于 2020 年作为 Cumulus Networks 收购的一部分加入后,目前担任 NVIDIA 的产品营销总监。 Scott 在产品营销和产品管理方面拥有 20 多年的经验,擅长在高增长环境下启动新的业务线,包括 Cumulus Networks , Palo Alto Networks 、 Cisco 和 Sun Microsystems 。斯科特在罗切斯特理工学院获得生物医学计算学士学位,在巴布森学院获得市场营销工商管理硕士学位。

审核编辑:郭婷

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

    关注

    14

    文章

    4949

    浏览量

    102839
  • API
    API
    +关注

    关注

    2

    文章

    1487

    浏览量

    61838
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1029

    浏览量

    45788
收藏 人收藏

    评论

    相关推荐

    NVIDIA DOCA 2.9版本的亮点解析

    NVIDIA DOCA通过为开发者提供全面的软件框架以利用硬件加速来增强 NVIDIA 网络平台的功能,从而提高性能、安全性和效率。其 API、和工具生态系统简化了数据中心基础设施的开发,实现了工作负载卸载、加速和隔离,以支持现代、高效的数据中心。
    的头像 发表于 11-27 11:15 214次阅读
    NVIDIA <b class='flag-5'>DOCA</b> 2.9版本的亮点解析

    pcie设备驱动程序安装步骤

    PCIe(Peripheral Component Interconnect Express)是一种高速串行计算机扩展总线标准,用于计算机内部硬件组件之间的连接。安装PCIe设备驱动程序是确保硬件
    的头像 发表于 11-13 10:32 343次阅读

    NVIDIA DOCA-OFED的主要特性

    NVIDIA DOCA 软件平台释放了 NVIDIA BlueField 网络平台的潜力,并为NVIDIA BlueField和ConnectX设备提供了所需的所有主机驱动程序DOCA 针对峰值
    的头像 发表于 11-09 13:50 188次阅读

    硬盘电机怎么驱动程序?它有什么典型特征?

    硬盘电机的驱动程序是硬盘中一个非常重要的组成部分,它负责控制硬盘电机的启动、停止、转速调节等操作。硬盘电机驱动程序的设计和实现涉及到电机控制理论、电子技术、计算机编程等多个领域的知识。 一、硬盘电机
    的头像 发表于 10-22 11:10 213次阅读

    Linux设备驱动程序分类有哪些

    Linux设备驱动程序是操作系统与硬件设备之间的桥梁,负责实现硬件设备与操作系统之间的通信和控制。Linux设备驱动程序的分类繁多,可以根据不同的标准进行分类。 按硬件类型分类 Linux设备
    的头像 发表于 08-30 15:11 457次阅读

    linux驱动程序如何加载进内核

    ,需要了解Linux内核的基本概念和API。以下是一些关键概念: 1.1 内核模块:Linux内核模块是一种动态加载和卸载的代码,可以在不重新启动系统的情况下加载和卸载。驱动程序通常以内核模块的形式实现。 1.2 设备模型:Linux内核使用设备模型来管理设
    的头像 发表于 08-30 15:02 390次阅读

    linux驱动程序的编译方法是什么

    Linux驱动程序的编译方法主要包括两种: 与内核一起编译 和 编译成独立的内核模块 。以下是对这两种方法的介绍: 一、与内核一起编译 与内核一起编译意味着将驱动程序的源代码直接集成到Linux内核
    的头像 发表于 08-30 14:46 444次阅读

    IB Verbs和NVIDIA DOCA GPUNetIO性能测试

    NVIDIA DOCA GPUNetIO 是 NVIDIA DOCA SDK 中的一个,专门为实时在线 GPU 数据包处理而设计。它结合了 GPUDirect RDMA 和 GPUDirect
    的头像 发表于 08-23 17:03 534次阅读
    IB Verbs和NVIDIA <b class='flag-5'>DOCA</b> GPUNetIO性能测试

    借助NVIDIA DOCA 2.7增强AI 云数据中心和NVIDIA Spectrum-X

    NVIDIA DOCA 加速框架为开发者提供了丰富的驱动和 API,以便为 NVIDIA BlueField DPU 和 SuperNIC 创建高性能的应用程序和服务。
    的头像 发表于 05-29 09:22 466次阅读

    怎么编写Framebuffer驱动程序

    Framebuffer 驱动程序框架 分为上下两层: fbmem.c:承上启下 实现、注册 file_operations 结构体 把 APP 的调用向下转发到具体的硬件驱动程序
    的头像 发表于 03-22 09:13 522次阅读
    怎么编写Framebuffer<b class='flag-5'>驱动程序</b>

    基于NVIDIA DOCA 2.6实现高性能和安全的AI云设计

    作为专为 NVIDIA® BlueField® 网络平台而设计的数据中心基础设施软件框架,NVIDIA® DOCA™ 使广大开发者能够利用其行业标准 API 在 NVIDIA BlueField
    的头像 发表于 02-23 10:02 434次阅读

    NVIDIA DOCA 2.5 长期支持版本发布

    基础设施开发者的全面软件框架,NVIDIA DOCA 已被领先的云服务提供商、企业和 ISV 创新者所采用,为开发、优化和部署基于 NVIDIA BlueField 系列产品的加速应用程序和服务提供
    的头像 发表于 12-26 18:25 390次阅读
    NVIDIA <b class='flag-5'>DOCA</b> 2.5 长期支持版本发布

    ch341a驱动程序无法使用

    随着计算机技术的不断发展,各种外部设备的驱动程序成为了保证硬件正常工作的重要一环。然而,有时我们可能会遇到ch341a驱动程序无法使用的问题。本文将详细解释该问题的原因,并提供详实、细致的解决方法
    的头像 发表于 12-26 14:17 3825次阅读

    XL2515驱动程序

    IO模拟XL2515驱动程序
    发表于 12-11 14:39 25次下载

    linux驱动程序的主要流程和功能

    驱动程序是用于控制和管理硬件设备的软件模块,它主要负责与设备进行交互,通过操作设备的寄存器和接口,实现对硬件的控制和访问。在Linux系统中,驱动程序是实现与硬件设备交互的一个关键部分。本文将详细
    的头像 发表于 12-08 14:56 2282次阅读