微知-RDMA中的四大M,以及Mellanox驱动中的MAD为什么叫MA的D?(managent agent、Management Datagrams)

背景

RDMA中建链除了有TCP方式,还有有CM建链。CM建链是指用带内通信进行建链。带内就是指通过RDMA链路进行建链。这里的CM是communication Management。这里的CM看似是一个简单的communication的Management,实际是RDMA中四大M的一种M。

4大M

Infiniband定义了一系列的Manager,每种Manager负责IBA设备某些方面的操作。主要包括有:

  • SM: subnet Manager 就是子网管理,包括LID GID LRH GRH等
  • PM:performance Manager 性能管理
  • DM:Device Manager
  • CM:Communication Manager

关于MA

在IB设备上,针对每种manager有对应的agnet,叫做MA(managent agent),是用来处理来自于manager的属性访问请求的。比如

  • SMA:是SM的agnet,用来handle来自于sm的requests
  • PMA:同理
  • DMA:同理

关于MAD

当一个在设备上的MA收到来自于对应Manager的request后,首先在对应的属性上处理,然后恢复处理结果。处理结果通过响应packet来反馈。
而这个Packet每个manager用不同的packet,这些packet就叫做MAD, 也就是Management Datagrams。

其他:关于这里为何叫做Datagrams,目前估测类似UDP,它不需要回复每个pkt,而是业务层自己采用responce的方式,也就是MAD。所以MAD的本质是D,是属于Ma的D

综述

至此,可以从CM迁出了在IB网络中的多种Manager,以及Manager和Manager Agent这种机制,以及所采用的MAD这种报文方式交互。

<think>好的,我需要回答用户关于Mellanox的k8s-rdma-shared-dev-plugin的GitHub仓库详情的问题。首先,用户提到了引用[1]和引用[2],这两个引用提供了克隆仓库的命令和创建DaemonSet的步骤。我需要确认这些信息是否正确,并补充更多细节。 首先,根据引用[1],用户可以通过克隆GitHub仓库来获取该插件的代码,并进入部署目录。引用[2]则说明了如何创建DaemonSet。这些步骤是正确的,但可能需要更新,因为GitHub仓库可能会有变化。我需要检查当前仓库的状态,但用户提供的信息显示仓库地址是有效的。 另外,引用[3]提到了SparkRDMA项目的新仓库地址,这可能与该插件有关联,特别是如果用户需要RDMA在Spark中的应用。不过用户的问题主要集中在k8s-rdma-shared-dev-plugin,所以这部分可能作为补充信息。 接下来,我需要整理仓库的主要功能、部署步骤和相关资源。确保步骤清晰,并引用正确的来源。例如,克隆仓库的步骤来自引用[1],创建DaemonSet来自引用[2]。同时,需要提到配置文件和文档的位置,可能包括YAML文件和README文件。 还要注意用户可能需要的其他信息,比如依赖项或系统要求,但现有引用中没有提到这些,可能需要根据常识补充,或者建议用户查阅官方文档。此外,引用[4]提到了静态库和动态库,但与该插件关系不大,可以忽略。 最后,生成相关问题时要围绕该插件的使用、配置、优化和社区资源展开,确保问题覆盖用户可能关心的其他方面。</think>关于 **Mellanox k8s-rdma-shared-dev-plugin** 的 GitHub 仓库信息如下: ### 1. 仓库地址与克隆方式 - **GitHub 仓库地址**: `https://github.com/Mellanox/k8s-rdma-shared-dev-plugin` 可通过以下命令克隆仓库到本地: ```bash git clone https://github.com/Mellanox/k8s-rdma-shared-dev-plugin.git cd k8s-rdma-shared-dev-plugin/deployment/k8s/base # 进入部署目录 ``` [^1] ### 2. 核心功能 该插件用于 **Kubernetes 集群中 RDMA(远程直接内存访问)设备的共享管理**,支持通过 Kubernetes Device Plugin 框架暴露 RDMA 资源(如 InfiniBand 或 RoCE 设备),使容器能够高效使用高性能网络资源。 ### 3. 部署步骤 - **创建 DaemonSet**: 通过以下命令部署插件到 Kubernetes 集群: ```bash kubectl create -f https://raw.githubusercontent.com/Mellanox/k8s-rdma-shared-dev-plugin/master/images/k8s-rdma-shared-dev-plugin-ds.yaml ``` 输出结果应为:`daemonset.apps/rdma-shared-dp-ds created` [^2]。 - **配置文件路径**: 部署所需的 YAML 文件位于仓库的 `deployment/k8s/base` 目录下,包含 RBAC 权限、DaemonSet 定义等。 ### 4. 相关资源 - **文档与示例**: 仓库的 `README.md` 文件提供了安装说明、配置参数及使用示例。 - **关联项目**: 若需在 Spark 等大数据框架中结合 RDMA 加速,可参考 **SparkRDMA** 项目的新仓库: `https://github.com/Nvidia/sparkucx` [^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值