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

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

3天内不再提示

DPU软件栈五层模型(二)典型软件框架案例

中科驭数(北京)科技有限公司 2022-06-13 15:50 次阅读

一、NVIDIA DOCA软件框架

1)设计目的

NVIDIA BlueField DPU的核心目的是解决数据中心中基于CPU计算的基础设施的算力问题,主要涉及网络、存储、安全及基础设施管理这个几个方面。而DOCA是为了将BlueField DPU提供的硬件能力做软件抽象和封装,以SDK Library的形式提供友好的可编程接口,提高应用开发的效率。

2)技术细节

DOCA架构如下图所示,DOCA有三个模块,分别是:

(1)DOCA drivers:是对DPU硬件资源的低层次封装,其提供的low-level API是对硬件卸载能力的访问,主要包含网络卸载、安全卸载、存储卸载等算力的访问,同时支持DPDK, RDMA,Virtio-net(网络虚拟化),Virtio-blk(存储虚拟化),PCIe等通用能力。

(2)DOCA libs:是基于DOCA drivers为上层应用封装的high-level API,这些API是面向应用层所需的功能,例如面向网络应用的Flow,Data Integrity, UPF(User Plane Function), VNF(Network Functions Virtualization);面向存储应用的SPDK;面向安全应用的DPI(Deep Packet Inspection), Host introspection等。

(3)DOCA services:封装了基础设施的控制和管理功能,如DPU设备的管理,SDN(Software-Defined Network)的控制接口,存储管理,Network Telemetry等。

pYYBAGKm0iyAML9dAAGXkY67n5Q280.png

图DOCA软件栈

3)功能分析

从纵向的功能角度来看,DOCA SDK提供了网络加速、安全加速、存储加速和基础设施管理加速的功能,相关的技术细节如下:

(1)网络加速SDK:支持ASAP2 (Accelerated Switching and Packet Processing) SDN、VirtIO、OVS (open virtual switching)、P4编程、RDMA。

(2)安全加速SDK:支持Inline encryption、DPI(Deep Packet Inspection)、TLS、IPSec。

(3)存储加速SDK:支持SPDK、VirtIO、NVMe-oF、数据加解密和数据压缩等。

(4)基础设施管理加速SDK:支持DPU management、Traffic telemetry、Packet filtering。

二、Intel OneAPI软件框架

1)设计目的

OneAPI设计的目的是通过实现一个跨平台,开放的,标准的通用编程模型及接口来提高在异构加速器架构下的开发效率。OneAPI本身并不提供DPU设备,而是构建一个软件框架来整合业界现有的异构计算设备11。

2)技术细节

OneAPI抽象出两层APIs,分为L0 (Low-level) API和L1 (High-Level) API。其结构如下图所示。

pYYBAGKm0iyAFItpAAJosKmEWfo080.png

图OneAPI软件栈

L0 API: OneAPI的L0 API整合并封装了业界流行的异构计算设备(如GPUAIFPGA等)及其软件框架(如CUDA,OpenCL),并提供统一的针对硬件资源访问的low-level API。这样,不同的硬件平台对上层应用开发来说是透明的,从而起到了跨平台的作用。

L1 API:OneAPI的L1 API提供了一系列针对特定应用场景的High-level API,这些API主要服务于机器学习、数据分析、并行计算、视频处理等特定领域,有Deep Learning API, Data Science API, Data Analysis API,Multiple Thread API, Video Processing API等。

基于上述两层的抽象和封装,上层应用程序可以利用L1 API进行特定领域的数据处理加速,也可以直接访问L0 API进行编程来服务更加广泛的场景。

三、中科驭数HADOS™软件框架

驭数DPU的软件框架是基于上述五层模型构建的,整体架构如下图所示:

poYBAGKm0tKAAzORACM-uOwKVNw516.png

图 驭数异构计算系统架构

DSA设备层集成了驭数自研DPU芯片加速卡设备,分别是针对数据计算、软件定义网络、软件定义存储以及安全相关的的硬件设备。这些硬件设备在物理上是由驭数DPU芯片、内存、存储、I/O通道和KPU指令集等共同构成;DSA操作层是一个为支撑基于DPU设备开发的软件操作平台,即DPU操作平台,该平台提供了DPU资源访问、调度、监控和管理的功能,同时也提供了完备友好的开发工具库;计算引擎层为针对数据计算应用软件封装的一个通用的数据计算加速引擎,它基于DPU操作平台提供的计算能力,实现了硬件卸载的算子及相应算子的软件优化器,这些算子分为计算类算子、网络类算子和存储类算子;应用服务层为使用驭数DPU进行加速的数据处理平台、网络服务平台和存储服务平台,如大数据领域的Spark,数据库领域的PostgreSQL,机器学习领域的XGBoost,微服务架构中负责远程通信的gRPC框架,Web服务平台Nginx以及分布式存储平台Ceph等;业务开发层为驭数数据计算加速产品所服务的业务系统,主要来自对计算、网络、存储性能敏感的领域,如金融计算、交易、数据分析、云服务等。在上述五层架构中,DPU操作平台与数据计算加速引擎共同构建了驭数为支撑DPU异构计算而打造的专用软件框架,即敏捷异构软件开发平台,Heterogenous Agile Developing & Operating System,简称“HADOS™”。

四、DOCA,OneAPI与HADOS比较分析

整体来看,这三款软件框架的出发点是相似的,都是在异构计算的架构下提供一套通用且编程友好的软件开发框架。它们在设计这套软件框架时都采用了分层抽象的思路,目的是使各层职责清晰,对上层提供足够简单且功能完备的接口。

具体到功能实现上,它们都是在网络、计算、存储、安全这些范畴内做了相应的支持,不过由于它们待解决的问题及根本目的存在差异,所以在架构设计和功能实现上的侧重点有所不同。简单来说,DOCA侧重点是支持基于Blue Field DPU的数据中心基础设施服务加速的场景;OneAPI侧重点是构建设备无关的资源访问库和编程接口;HADOS侧重点是支持基于YusurDPU的网络、计算、存储服务加速的场景。

下表针对这三款软件框架在设计目的、五层架构模型及各自特点上做了详细比较。

pYYBAGKm0uOAYVAHACvIG-wzwQE067.png

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

    关注

    0

    文章

    293

    浏览量

    23965
收藏 人收藏

    评论

    相关推荐

    NVIDIA宣布推出基于Omniverse Cloud API构建的全新软件框架

    NVIDIA 在 GTC 大会上宣布推出基于 Omniverse Cloud API(应用编程接口)构建的全新软件框架
    的头像 发表于 03-25 09:09 191次阅读

    谷歌模型框架是什么软件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌开发的用于机器学习和人工智能的软件框架,其中最著名的是TensorFlow。TensorFlow是一个开源的机器学习框架
    的头像 发表于 03-01 16:25 230次阅读

    谷歌模型训练软件有哪些?谷歌模型训练软件哪个好?

    谷歌在模型训练方面提供了一些强大的软件工具和平台。以下是几个常用的谷歌模型训练软件及其特点。
    的头像 发表于 03-01 16:24 276次阅读

    谷歌模型软件有哪些功能

    谷歌模型软件通常指的是谷歌推出的一系列人工智能模型软件工具,其中最具代表性的是Google Gemini。Google Gemini是谷歌DeepMind团队开发的一款大型语言
    的头像 发表于 03-01 16:20 206次阅读

    谷歌模型合成软件有哪些

    谷歌模型合成软件通常指的是谷歌提供的用于创建、修改和共享3D模型软件。目前,谷歌推出的模型合成软件
    的头像 发表于 02-29 18:20 892次阅读

    谷歌模型软件有哪些好用的

    谷歌模型软件的好用程度可能因个人需求和技能水平而异,但以下是一些广受欢迎的谷歌模型软件,它们在各自的领域内有着出色的表现。
    的头像 发表于 02-29 18:17 549次阅读

    谷歌模型框架是什么?有哪些功能和应用?

    谷歌模型框架(Google Model Framework)并不是一个特定的框架,而是指谷歌开发的一系列软件框架,用于支持机器学习和人工智能
    的头像 发表于 02-29 18:11 659次阅读

    《数据处理器:DPU编程入门》DPU计算入门书籍测评

    。 从开发者角度来说,英伟达技术更偏向于软件开发应用,通用计算开发的模式。而其他FPGA-DPU技术需要掌握相当的FPGA能力,相较之下,FPGA的开发难度和成本都要高出不少。 DPU
    发表于 12-24 10:54

    《数据处理器:DPU编程入门》+初步熟悉这本书的结构和主要内容

    InfiniBand 网络连接端口:这些端口提供高速网络功能。 软件完全向后兼容:BlueField-3 DPU 与 NVIDIA DOCA™ 软件框架兼容,确保与现有系统无缝集成。
    发表于 12-08 18:03

    什么是DPU

    DPU则进行数据处理。” 什么是DPU? 数据处理器 基于行业标准,高性能及软件可编程的多核CPU 高性能网络接口 灵活、可编程的加速引擎 DPU有什么与众不同之处?
    发表于 11-03 10:55

    【书籍评测活动NO.23】数据处理器:DPU编程入门

    式计算公司,其拥有的数据中心规模产品服务正在重塑行业。 专家推荐 这是一本由浅入深介绍NVIDIA BlueField系列DPU及NVIDIA DOCA软件框架的入门书籍,内容覆盖了
    发表于 10-24 15:21

    【KV260视觉入门套件试用体验】部署DPU镜像并开发一个图像识别程序

    一.部署DPU镜像到KV260 DPU镜像有关介绍:DPU(Data Processing Unit)镜像是一个包含特定配置和预安装软件的虚拟化环境,用于运行数据处理任务。它可以帮助工
    发表于 09-18 14:15

    【KV260视觉入门套件试用体验】部署DPU镜像并运行Vitis AI图像分类示例程序

    DPU 编译和优化 ML 模型模型部署库和 API,用于从软件应用程序在 DPU 引擎上集成和执行 ML
    发表于 09-10 23:01

    流体仿真软件VirtualFlow 提供完整的多相流模型框架

    通用流体仿真软件VirtualFlow 提供了比较完整的多相流模型框架,针对界面流、混合流与离散相流体等流动问题的特点提供了相应的多相流动的模型
    的头像 发表于 08-15 15:20 903次阅读
    流体仿真<b class='flag-5'>软件</b>VirtualFlow 提供完整的多相流<b class='flag-5'>模型</b><b class='flag-5'>框架</b>

    中科驭数亮相DPU峰会,分享HADOS软件生态实践和大数据计算方案,再获评“匠芯技术奖”

    的共创效应,汇聚行业先锋力量,共同探讨DPU关键技术实践、软件生态建设,典型应用场景和标准进展 。 作为 国内DPU算 力 基础设施领军 企业,中科驭数应邀发表主题演讲,并携最新
    的头像 发表于 08-04 17:35 548次阅读
    中科驭数亮相<b class='flag-5'>DPU</b>峰会,分享HADOS<b class='flag-5'>软件</b>生态实践和大数据计算方案,再获评“匠芯技术奖”