searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享

NVIDIA BlueField3 架构

2024-09-06 10:12:08
7
0

架构

Hardware Overview

 

l  Arm cores – 针对控制路径、通用应用和单流性能进行了优化:

n  16 A78 Arm cores general-purpose processor

n  Coherent Mesh architecture

n  Last level cache (LLC)

n  DDR5 memory subsystem

n  Base OS and microservices

l  Accelerated programmable pipeline-针对高性能数据包处理和高级数据包处理进行了优化:

n  Programmable 64-128 packet processor

n  Multi-staged, highly parallelized

n  Flow-based classification and action engine

n  RDMA, crypto, time-based scheduling

l  Data-Path Accelerator(DPA)-针对io密集型应用、高插入率、网络流处理、设备仿真以及集群和DMA操作进行了优化:

n  16 hyper-threaded cores I/O and packet processor

n  Real-time OS

DOCA framework

l  DOCA framework包括DOCA主机软件包和BlueField Software Bundle:

n  BlueField Software Bundle (BF-Bundle)是安装在BlueField Arm cores上的软件包;

n  DOCA主机软件包包含不同的DOCA安装配置文件、驱动、lib

l  BlueField Software Bundle包括:

n  DOCA runtime驱动程序和库;

n  操作系统;

n  平台软件(即固件和UEFI引导加载程序)

DOCA SDK Architecture

DOCA为可编程网络和数据处理提供了函数库以充分利用DPU的硬件加速引擎。DOCA软件框架构建在DOCA Core之上,并为函数库提供了统一的软件框架。

DOCA SDK不仅允许应用程序将加密、压缩等资源密集型任务卸载给硬件,还允许卸载与网络相关的任务,例如数据包采集和RDMA发送。DPU提供专用的硬件处理单元来执行这些任务。

Device System

DOCA Device System是对硬件处理单元的抽象,提供了以下方法:

l  发现可用的硬件加速单元;

l  查询硬件加速单元的能力和属性;

l  打开设备,申请硬件加速相关的资源;

 

如果有多个可用的设备,应用程序可以根据以下方法来选择:

l  拓扑结构,例如PCIe地址;

l  支持的能力,例如支持加密;

 

DOCA Core支持两种设备类型:

l  local device-这是本地(hostDPU)真实的设备,可以是PFVFSF

l  representor device-local device的代表,总是在DPU端,相当于host端设备在DPU上的一个代理。

如下图所示,DPU连接到了hosthost有一个PFVF,主机端会有两个local devicepf0pf0vf0DPU端对应会有两个representor device,分别是hpf0hpf0vf0,是一一映射关系,同时DPU本地还有两个local devicep0p0s0

Memory Management Subsystem

为了获得最佳的性能,SDK采用零拷贝技术和硬件进行数据传输,因此应用程序需要预先注册用于保存数据的内存。

MR

l  定义用于保存数据的内存范围;

l  允许设备访问内存;

l  定义访问权限;

 DOCA memory有如下组件:

l  doca_buf-供硬件来解析使用的一种数据结构,描述了数据输入或输出的内存范围;

l  doca_mmap-用于描述一段内存范围及其权限,doca_buf指向的是doca_mmap中的一段内存;

l  doca_buf_inventory- doca_bufpool,因为doca_buf的申请和释放很频繁,为了加速,所以设计了pool

三者的关系如上图所示,doca_mmap描述了一段内存空间,关联了两个devicedoca_buf_inventory中有两个doca_buf,分别指向了doca_mmap中的某段空间。

Execution Model

DOCA SDK实现了驱动硬件引擎的函数库,每个库都实现了处理特定任务的API,例如加解密。函数库使用context抽象了所有硬件操作的底层细节。由于上下文使用硬件引擎,因此它需要一个设备才能运行。该设备还将确定该上下文可以访问哪些缓冲区。contexttaskevent的形式提供硬件处理操作api

l  task

n  应用程序准备好task相关参数;

n  应用程序提交任务,触发向相关硬件引擎发出请求;

n  一旦硬件处理完成,应用程序将以回调函数的形式收到一个completion

l  event

n  应用程序注册事件,通知硬件事件发生时要上报;

n  每次硬件识别到事件发生时,应用程序将以回调函数的形式收到一个completion

 

因为硬件处理是异步的,因此DOCA定义了一个对象Process EnginePE),以便允许应用程序等待处理完成。

PE有两种模式等待completion

l  繁忙等待/轮询模式——在这种情况下,应用程序将反复检查是否发生了completion

l  通知驱动模式——在这种情况下,应用程序可以使用OS原语(例如,linux event fd)completion发生时通知线程。

一旦completion发生,无论是由task还是event引起,相关的回调将作为PE方法的一部分被调用。

单个PE实例允许等待来自不同context的多个task/event。因此,应用程序可以为每个线程使用一个PE

如下图所示,三个ctx使用了同一个device,每个ctx都有taskevent被应用程序提交或注册,三个ctx都关联到了同一个PE,应用程序可以使用该PE同时等待所有completion

DOCA Software Framework

NVIDIA DOCA™释放了NVIDIA®BlueField®网络平台的潜力。通过利用BlueField dpusupernic的强大功能,DOCA可以快速创建应用程序和服务,从而卸载、加速和隔离数据中心工作负载。它允许开发人员创建具有零信任保护的软件定义、云原生、DPUsupernic加速服务,解决现代数据中心的性能和安全需求。DOCA-Host包括NVIDIA BlueFieldConnectX®设备所需的所有主机驱动程序和工具。

DOCA BlueField 网络平台共同助力开发可提供突破性网络、安全和存储性能的应用程序。BlueField 将基础设施服务域与工作负载域隔离开来,从而显著提高应用程序和服务器的性能、安全性和效率,为开发者提供实现优化、安全、加速的数据中心和 AI 云所需的所有工具。

DOCA 软件由 SDK 和运行时(Runtime)环境组成。DOCA Runtime默认包含在 BlueField 网络平台中,具有用于在整个数据中心的数百或数千个 DPU SuperNIC 上配置、部署和编排容器化服务的工具。DOCA SDK 提供行业标准的开放 API 和软件框架。该 SDK 支持一系列操作系统和发行版,并包括驱动程序、库、工具、文档和示例应用程序。

DOCA-Host 是用于主机安装的 DOCA 软件包,包含多个安装配置文件,以便更好的适应您的数据中心工作流程。DOCA-Host NVIDIA 网络平台(包括 BlueField ConnectX 设备)提供所需的接口。

 

SDK关键组件

l  DOCA RDMA (远程直接内存访问) 加速 SDK:统一通信和协作(UCC)和统一通信(UCX)RDMA verbsGPUDirect

l  网络加速 SDKNVIDIA 加速交换和数据包处理(ASAP2)™软件定义网络(SDN)、仿真VirtIOP4、用于5G技术的5TFirefly时间同步;

l  安全加速 SDK:在线加密、App Shield运行时安全;

l  存储加速 SDK:存储仿真和虚拟化、加密和压缩;

l  数据路径加速(DPA) SDK:加速需要高性能访问NIC引擎的工作负载;

l  管理 SDK:部署、配置、服务编排;

l  行业标准 APIDPDKSPDKP4Linux Netlink;

l  用户空间和内核;

0条评论
0 / 1000
c****6
13文章数
2粉丝数
c****6
13 文章 | 2 粉丝
c****6
13文章数
2粉丝数
c****6
13 文章 | 2 粉丝

NVIDIA BlueField3 架构

2024-09-06 10:12:08
7
0

架构

Hardware Overview

 

l  Arm cores – 针对控制路径、通用应用和单流性能进行了优化:

n  16 A78 Arm cores general-purpose processor

n  Coherent Mesh architecture

n  Last level cache (LLC)

n  DDR5 memory subsystem

n  Base OS and microservices

l  Accelerated programmable pipeline-针对高性能数据包处理和高级数据包处理进行了优化:

n  Programmable 64-128 packet processor

n  Multi-staged, highly parallelized

n  Flow-based classification and action engine

n  RDMA, crypto, time-based scheduling

l  Data-Path Accelerator(DPA)-针对io密集型应用、高插入率、网络流处理、设备仿真以及集群和DMA操作进行了优化:

n  16 hyper-threaded cores I/O and packet processor

n  Real-time OS

DOCA framework

l  DOCA framework包括DOCA主机软件包和BlueField Software Bundle:

n  BlueField Software Bundle (BF-Bundle)是安装在BlueField Arm cores上的软件包;

n  DOCA主机软件包包含不同的DOCA安装配置文件、驱动、lib

l  BlueField Software Bundle包括:

n  DOCA runtime驱动程序和库;

n  操作系统;

n  平台软件(即固件和UEFI引导加载程序)

DOCA SDK Architecture

DOCA为可编程网络和数据处理提供了函数库以充分利用DPU的硬件加速引擎。DOCA软件框架构建在DOCA Core之上,并为函数库提供了统一的软件框架。

DOCA SDK不仅允许应用程序将加密、压缩等资源密集型任务卸载给硬件,还允许卸载与网络相关的任务,例如数据包采集和RDMA发送。DPU提供专用的硬件处理单元来执行这些任务。

Device System

DOCA Device System是对硬件处理单元的抽象,提供了以下方法:

l  发现可用的硬件加速单元;

l  查询硬件加速单元的能力和属性;

l  打开设备,申请硬件加速相关的资源;

 

如果有多个可用的设备,应用程序可以根据以下方法来选择:

l  拓扑结构,例如PCIe地址;

l  支持的能力,例如支持加密;

 

DOCA Core支持两种设备类型:

l  local device-这是本地(hostDPU)真实的设备,可以是PFVFSF

l  representor device-local device的代表,总是在DPU端,相当于host端设备在DPU上的一个代理。

如下图所示,DPU连接到了hosthost有一个PFVF,主机端会有两个local devicepf0pf0vf0DPU端对应会有两个representor device,分别是hpf0hpf0vf0,是一一映射关系,同时DPU本地还有两个local devicep0p0s0

Memory Management Subsystem

为了获得最佳的性能,SDK采用零拷贝技术和硬件进行数据传输,因此应用程序需要预先注册用于保存数据的内存。

MR

l  定义用于保存数据的内存范围;

l  允许设备访问内存;

l  定义访问权限;

 DOCA memory有如下组件:

l  doca_buf-供硬件来解析使用的一种数据结构,描述了数据输入或输出的内存范围;

l  doca_mmap-用于描述一段内存范围及其权限,doca_buf指向的是doca_mmap中的一段内存;

l  doca_buf_inventory- doca_bufpool,因为doca_buf的申请和释放很频繁,为了加速,所以设计了pool

三者的关系如上图所示,doca_mmap描述了一段内存空间,关联了两个devicedoca_buf_inventory中有两个doca_buf,分别指向了doca_mmap中的某段空间。

Execution Model

DOCA SDK实现了驱动硬件引擎的函数库,每个库都实现了处理特定任务的API,例如加解密。函数库使用context抽象了所有硬件操作的底层细节。由于上下文使用硬件引擎,因此它需要一个设备才能运行。该设备还将确定该上下文可以访问哪些缓冲区。contexttaskevent的形式提供硬件处理操作api

l  task

n  应用程序准备好task相关参数;

n  应用程序提交任务,触发向相关硬件引擎发出请求;

n  一旦硬件处理完成,应用程序将以回调函数的形式收到一个completion

l  event

n  应用程序注册事件,通知硬件事件发生时要上报;

n  每次硬件识别到事件发生时,应用程序将以回调函数的形式收到一个completion

 

因为硬件处理是异步的,因此DOCA定义了一个对象Process EnginePE),以便允许应用程序等待处理完成。

PE有两种模式等待completion

l  繁忙等待/轮询模式——在这种情况下,应用程序将反复检查是否发生了completion

l  通知驱动模式——在这种情况下,应用程序可以使用OS原语(例如,linux event fd)completion发生时通知线程。

一旦completion发生,无论是由task还是event引起,相关的回调将作为PE方法的一部分被调用。

单个PE实例允许等待来自不同context的多个task/event。因此,应用程序可以为每个线程使用一个PE

如下图所示,三个ctx使用了同一个device,每个ctx都有taskevent被应用程序提交或注册,三个ctx都关联到了同一个PE,应用程序可以使用该PE同时等待所有completion

DOCA Software Framework

NVIDIA DOCA™释放了NVIDIA®BlueField®网络平台的潜力。通过利用BlueField dpusupernic的强大功能,DOCA可以快速创建应用程序和服务,从而卸载、加速和隔离数据中心工作负载。它允许开发人员创建具有零信任保护的软件定义、云原生、DPUsupernic加速服务,解决现代数据中心的性能和安全需求。DOCA-Host包括NVIDIA BlueFieldConnectX®设备所需的所有主机驱动程序和工具。

DOCA BlueField 网络平台共同助力开发可提供突破性网络、安全和存储性能的应用程序。BlueField 将基础设施服务域与工作负载域隔离开来,从而显著提高应用程序和服务器的性能、安全性和效率,为开发者提供实现优化、安全、加速的数据中心和 AI 云所需的所有工具。

DOCA 软件由 SDK 和运行时(Runtime)环境组成。DOCA Runtime默认包含在 BlueField 网络平台中,具有用于在整个数据中心的数百或数千个 DPU SuperNIC 上配置、部署和编排容器化服务的工具。DOCA SDK 提供行业标准的开放 API 和软件框架。该 SDK 支持一系列操作系统和发行版,并包括驱动程序、库、工具、文档和示例应用程序。

DOCA-Host 是用于主机安装的 DOCA 软件包,包含多个安装配置文件,以便更好的适应您的数据中心工作流程。DOCA-Host NVIDIA 网络平台(包括 BlueField ConnectX 设备)提供所需的接口。

 

SDK关键组件

l  DOCA RDMA (远程直接内存访问) 加速 SDK:统一通信和协作(UCC)和统一通信(UCX)RDMA verbsGPUDirect

l  网络加速 SDKNVIDIA 加速交换和数据包处理(ASAP2)™软件定义网络(SDN)、仿真VirtIOP4、用于5G技术的5TFirefly时间同步;

l  安全加速 SDK:在线加密、App Shield运行时安全;

l  存储加速 SDK:存储仿真和虚拟化、加密和压缩;

l  数据路径加速(DPA) SDK:加速需要高性能访问NIC引擎的工作负载;

l  管理 SDK:部署、配置、服务编排;

l  行业标准 APIDPDKSPDKP4Linux Netlink;

l  用户空间和内核;

文章来自个人专栏
技术讨论
13 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0