NVIDIA OFED堆栈架构

一颗小胡椒2022-07-21 11:45:10

下图显示了NVIDIA OFED堆栈的示意图,以及上层协议(ULP)如何与硬件、内核和用户空间进行交互的接口。应用程序级别还显示了NVIDIA OFED适用于的市场的多功能性。

以下小节简要介绍了 NVIDIA OFED 堆栈的各种组件。

mlx4 VPI Driver

MLNX_OFED 不再支持此驱动程序。要使用 ConnectX-3 和ConnectX-3 Pro NIC,请参阅网络上提供的 MLNX_OFED LTS 版本。

mlx5 Driver/驱动程序

mlx5 是 NVIDIA 设计的 Connect-IB® 和 ConnectX®-4 及以上适配器的低级驱动程序实现。ConnectX®-4 及更高版本的适配器卡作为 VPI 适配器(Infiniband 和以太网)运行。mlx5 驱动程序由以下内核模块组成:

  • 请注意,MLNX_OFED 不再支持 Connect-IB 卡。要使用此卡,请参阅网络上提供的 MLNX_OFED LTS 版本。

mlx5_core/内核

作为ConnectX®-4及以上适配卡所需的常用功能库(如复位后初始化设备)。mlx5_core 驱动程序还实现了 ConnectX®-4 及更高版本的以太网接口。mlx5 驱动程序不需要 mlx5_en 模块,因为以太网功能内置在 mlx5_core 模块中。

mlx5_ib

处理 InfiniBand 特定的功能并插入 InfiniBand 中间层。

libmlx5

libmlx5 是实现硬件特定用户空间功能的提供程序库(provider library)。如果固件和驱动程序不兼容,驱动程序将不会加载,并且会在 dmesg 中打印一条消息。以下是 libmlx5 LegacyRDMA-Core环境变量:

  • MLX5_FREEZE_ON_ERROR_CQE
  • 导致进程挂在错误的完成循环中,该循环不会因错误或重试发生而刷新/
  • 否则禁用
  • MLX5_POST_SEND_PREFER_BF
  • 配置每一个可以使用blue flame的工作请求都会使用蓝焰
  • 否则,blue flame取决于消息的大小和数据包中的内联指示
  • MLX5_SHUT_UP_BF
  • 禁用blue flame功能
  • 否则,请勿禁用
  • MLX5_SINGLE_THREADED
  • 所有自旋锁都被禁用
  • 否则,启用自旋锁
  • 由单线程应用程序使用,并希望节省使用自旋锁的开销。
  • MLX5_CQE_SIZE
  • 64—完成队列条目大小为 64 字节(默认)
  • 128—完成队列条目大小为 128 字节
  • MLX5_SCATTER_TO_CQE
  • 小缓冲区分散到完成队列条目并由驱动程序操作。适用于RC运输。
  • 默认为 1,否则禁用

以下是 只有libmlx5 Legacy 的环境变量:

  • MLX5_ENABLE_CQE_COMPRESSION
  • 通过在 PCIe 上将几个 CQE 压缩成更少量的字节来节省 PCIe 带宽。设置此变量可启用 CQE 压缩。
  • 默认值 0(禁用)
  • MLX5_RELAXED_PACKET_ORDERING_ON请参阅“乱序 (OOO) 数据放置”部分。

中间层核心/Mid-layer Core

核心服务包括管理接口(MAD)、连接管理器(CM)接口和子网管理员(SA)接口。该堆栈包括用于用户模式和内核应用程序的组件。核心服务在内核中运行,并为Verbs、CM 和管理的用户模式提供接口。

上层协议 (ULP)

IP over IB (IPoIB)

IP over IB (IPoIB) 驱动程序是基于 InfiniBand 的网络接口实现。IPoIB 通过 InfiniBand 连接或数据报传输服务封装 IP 数据报。IPoIB 在 IP 数据报前面附加一个封装头,并通过 InfiniBand 传输服务发送结果。传输服务默认为不可靠数据报 (UD),但如果支持 RC,它也可以配置为可靠连接 (RC)。该接口支持单播、组播和广播。有关详细信息,请参阅“ IP over InfiniBand (IPoIB) ” 部分。

RDMA 的 iSCSI 扩展 (iSER)

RDMA 的 iSCSI 扩展 (iSER) 将 iSCSI 协议扩展到 RDMA。它允许直接将数据传入和传出 SCSI 缓冲区,而无需中间数据副本。有关详细信息,请参阅“ RDMA 的 iSCSI 扩展 (iSER) ”部分。

SCSI RDMA 协议 (SRP)

SCSI RDMA 协议 (SRP) 旨在充分利用 InfiniBand 架构提供的协议卸载和 RDMA 功能。SRP 允许在 InfiniBand 架构上轻松使用大量 SCSI 软件。SRP 驱动程序(称为 SRP 发起程序)与 Linux 中的传统低级 SCSI 驱动程序不同。SRP Initiator 不控制本地 HBA;相反,它控制与 I/O 控制器(称为 SRP 目标)的连接,以通过 InfiniBand 结构提供对远程存储设备的访问。SRP 目标驻留在 I/O 单元中并提供存储服务。请参阅“ 2019-09-16_14-14-40_.SRP—SCSI RDMA 协议 v4.5-1.0.1.0 ”部分。

用户直接访问编程库 (uDAPL)

用户直接访问编程库 (uDAPL) 是一种标准 API,可通过 RDMA 互连 InfiniBand 和 RoCE 提升数据中心应用程序数据消息传递的性能、可扩展性和可靠性。uDAPL 接口由 DAT 协作定义。此版本的 DAT 1.2 和 2.0 规范的 uDAPL 参考实现包的发布时间与 Open Fabrics ( www.openfabrics.org ) 软件堆栈的 OFED 版本同步。

MPI

消息传递接口 (MPI) 是一种库规范,使并行软件库的开发能够利用并行计算机、集群和异构网络。NVIDIA OFED 在 InfiniBand 上包括以下 MPI 实现:

  • Open MPI – Open MPI 项目的开源 MPI-2 实现

NVIDIA OFED 还包括 MPI 基准测试,例如 OSU BW/LAT、Intel MPI BeBenchmark 和 Presta。

InfiniBand 子网管理器

所有符合 InfiniBand 的 ULP 都需要始终正确运行在 InfiniBand 结构上运行的子网管理器 (SM)。SM 可以运行在任何节点或 IB 交换机上。OpenSM 是一个与 InfiniBand 兼容的子网管理器,它作为 NVIDIA OFED 1的一部分安装。

  1. OpenSM 默认关闭。有关启用它的详细信息,请参阅“ OpenSM ”部分。

诊断实用程序

NVIDIA OFED 包括以下两个诊断包,供网络和数据中心管理人员使用:

  • ibutils—NVIDIA 诊断实用程序
  • infiniband-diags—OpenFabrics Alliance InfiniBand 诊断工具

NVIDIA 固件工具 (MFT)

NVIDIA 固件工具包是一组用于单个 InfiniBand 节点的固件管理工具。MFT 可用于:

  • 生成标准或定制的 NVIDIA 固件镜像
  • 将固件镜像刻录到单个 InfiniBand 节点

MFT 包括一组用于执行固件更新和配置以及调试和诊断的工具,并提供 MST 服务。有关 MFT 中可用工具的完整列表,请参阅 MFT 文档 ( https://docs.mellanox.com/category/mft )。

堆栈rdma
本作品采用《CC 协议》,转载必须注明作者和本文链接
分布式数据中心环境中如何高效利用NVM是一个挑战性问题。我们设计了基于RDMA的分布式异构内存池系统Gengar,可分配具有全局地址空间的远端NVM。Gengar利用DRAM缓存和RDMA代理机制显著提高了分布式异构内存池的远端访问性能。
NVIDIA OFED堆栈架构
2022-07-21 11:45:10
应用程序级别还显示了NVIDIA OFED适用于的市场的多功能性。mlx5_ib处理 InfiniBand 特定的功能并插入 InfiniBand 中间层。设置此变量可启用 CQE 压缩。它允许直接将数据传入和传出 SCSI 缓冲区,而无需中间数据副本。
ASLR程序加载到内存后不使用默认的加载地址,将加载基址进行随机化,依赖重定位表进行地址修复。地址随机化之后,shellcode中固定的地址值将失效。图-程序地址未随机化处理开启/关闭软件地址随机化。每个页目录表和页表项都存在 基址与属性控制位,通过修改这些控制位,达到当前内存是否有执行、读、写等权限。图-表项构成windows 系统上可以调用 VirtualProtect 函数完成内存属性的修改操作。DWORD flNewProtect, // 请求的保护方式。大小超过 8 个字节且不包含指针的数据结构。
关于堆栈ShellCode操作:基础理论002-利用fs寄存器寻找当前程序dll的入口:从动态运行的程序中定位所需dll003-寻找大兵LoadLibraryA:从定位到的dll中寻找所需函数地址004-被截断的shellCode:加解密,解决shellCode的零字截断问题
2021年12月8日,360漏洞云团队在网上监测到一则关于Tenda AC15 中存在基于堆栈的缓冲区溢出漏洞的信息。漏洞编号: CVE-2021-44352,漏洞威胁等级:严重,漏洞评分:9.8。
研究人员发现了14个影响专有NicheStack(又名 InterNiche)TCP/IP堆栈的新漏洞。
国防信息系统局官员日前表示,美国国防部正在准备采取联合区域安全堆栈的过渡战略。去年,国会要求国防部评估该项目是否可继续实施。官员们一开始是赞成联合作战区域安全堆栈计划的,因为该计划旨在提供更高的安全性以及前所未有的网络态势感知。DISA网络发展董事会技术总监表示,DISA将继续评估联合作战区域安全堆栈计划,并做出相应调整。
Microsoft删除了一个错误的服务堆栈更新,该错误在Windows用户尝试安装上周的Patch Tuesday安全更新时引起问题。此特定缺陷更新适用于Windows 10用户和Windows Server 2016用户。
360漏洞云监测到安全研究人员最新披露了在NicheStack TCP/IP堆栈中发现的多个安全漏洞,这些漏洞统称为INFRA:HALT。
如今,数据对个人和公司都至关重要。鉴于数据泄露给组织造成的平均损失为 400 万美元,开始更加重视数据安全的最佳时间是昨天。
一颗小胡椒
暂无描述