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

    文章

    5496

    浏览量

    109099
  • API
    API
    +关注

    关注

    2

    文章

    2153

    浏览量

    66244
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1093

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为FreeRTOS增加新的设备驱动程序

    如果你正在使用FreeRTOS构建嵌入式系统,并且考虑添加新的设备驱动程序,那么这篇文章很适合你。高效的设备集成不仅仅是让设备功能正常运行——更关乎模块化、可靠性和安全性。
    的头像 发表于 08-06 15:44 752次阅读
    为FreeRTOS增加新的设备<b class='flag-5'>驱动程序</b>

    zephyr设备驱动程序模型

        1:Zephyr 内核支持多种设备驱动程序驱动程序是否可用取决于board 和驱动程序。 Zephyr 设备模型为配置作为系统一部分的驱动程序提供了一致的设备模型。设备型号负
    的头像 发表于 07-29 10:34 465次阅读
    zephyr设备<b class='flag-5'>驱动程序</b>模型

    NVIDIA DOCA 3.0版本的亮点解析

    NVIDIA DOCA 框架已发展成为新一代 AI 基础设施的重要组成部分。从初始版本到备受期待的 NVIDIA DOCA 3.0 发布,每个版本都扩展了 NVIDIA BlueField DPU 和 ConnectX SuperNIC 的功能,从而实现了前所未有的 AI
    的头像 发表于 07-04 14:27 961次阅读
    NVIDIA <b class='flag-5'>DOCA</b> 3.0版本的亮点解析

    是否提供适用于CY7C65213 的 Windows 11驱动程序和 API (dll)?

    您好,支持, 我对 Infineon(原 Cypress)生产的 USB 串行 IC 有疑问。 是否提供适用于 CY7C65213 的 Windows 11 驱动程序和 API (dll
    发表于 05-15 07:26

    Linux环境再升级:PLIN驱动程序正式发布

    PLIN驱动程序现已正式发布,本文将展示如何安装PLIN驱动程序,以及如何在Linux环境下进行基本的PLIN通信操作,确保您能够快速掌握并应用这一新工具。
    的头像 发表于 04-21 15:29 796次阅读
    Linux环境再升级:PLIN<b class='flag-5'>驱动程序</b>正式发布

    适用于SQLite的dbExpress数据驱动程序

    驱动程序作为独立。由于数据访问层薄而简单,dbExpress 提供高性能数据连接性,并且更加易于部署。 适用于 SQLite 的 dbExpress 驱动程序提供对 SQLite
    的头像 发表于 02-09 09:45 768次阅读

    AN3761-KSZ DSA驱动程序的使用

    电子发烧友网站提供《AN3761-KSZ DSA驱动程序的使用.pdf》资料免费下载
    发表于 01-22 16:28 0次下载
    AN3761-KSZ DSA<b class='flag-5'>驱动程序</b>的使用

    用于InterBase的ODBC驱动程序:可与多个第三方工具兼容

    、macOS 和 Linux 上从符合 ODBC 标准的报告、分析、BI 和 ETL 工具访问 InterBase 数据。我们的 ODBC 驱动程序完全支持标准的 ODBC API 功能和数据类型,并
    的头像 发表于 01-22 09:57 843次阅读
    用于InterBase的ODBC<b class='flag-5'>驱动程序</b>:可与多个第三方工具兼容

    摩尔线程发布图形显卡驱动程序v280.90.2

    1月20日,摩尔线程发布最新图形显卡驱动程序v280.90.2。
    的头像 发表于 01-21 10:07 896次阅读

    适用于MySQL的dbExpress驱动程序:提供对MySQL的快速访问

    (包括社区版)快速访问 MySQL,以及 macOS(32 位和 64 位)和 Linux(64 位)平台。对于此服务器,dbExpress 将驱动程序作为实现通用 dbExpress 的独立,提供用于
    的头像 发表于 01-21 09:52 673次阅读

    适用于Oracle的ODBC驱动程序

    和 Linux 上符合 ODBC 标准的报告、分析、BI 和 ETL 工具访问 Oracle 数据。我们的 ODBC 驱动程序完全支持标准 ODBC API 功能和数据类型,并支持从任何地方轻松
    的头像 发表于 01-13 09:17 853次阅读

    适用于Oracle的dbExpress驱动程序

    (包括社区版)快速访问 Oracle macOS(32 位和 64 位)和 Linux(64 位)平台。对于此服务器,dbExpress 将驱动程序作为实现通用 dbExpress 的独立提供 用于
    的头像 发表于 01-09 16:04 689次阅读
    适用于Oracle的dbExpress<b class='flag-5'>驱动程序</b>

    EE-315:更改Blackfin处理器以太网驱动程序中的PHY

    电子发烧友网站提供《EE-315:更改Blackfin处理器以太网驱动程序中的PHY.pdf》资料免费下载
    发表于 01-07 14:15 0次下载
    EE-315:更改Blackfin处理器以太网<b class='flag-5'>驱动程序</b>中的PHY

    USB音频过滤器驱动程序安装

    电子发烧友网站提供《USB音频过滤器驱动程序安装.pdf》资料免费下载
    发表于 12-19 14:28 0次下载
    USB音频过滤器<b class='flag-5'>驱动程序</b>安装

    AT32F403A_407固件驱动程序发行说明

    电子发烧友网站提供《AT32F403A_407固件驱动程序发行说明.zip》资料免费下载
    发表于 12-10 15:57 3次下载