从零学习 InfiniBand-network架构(十一) —— 管理器的介绍

news2024/12/27 1:31:22

从零学习 InfiniBand-network架构(十一) —— 管理器的介绍


🔈声明:
😃博主主页:王_嘻嘻的CSDN主页
🔑未经作者允许,禁止转载
🚩本专题部分内容源于《InfiniBand-network architecture》,侵权必删

   本章将介绍IB协议中的管理器的概念,包括子网管理器,子网管理代理,通用服务管理器,通用服务管理代理。通用服务接口,子网管理包SMP,通用服务管理包GMPS,概念都较为抽象,可以简单了解一下。



子网管理器

  对于IB架构而言,子网是软件入口,而子网管理器SM(Subnet Manager)负责管控整个子网,其具有以下功能:

  1. 发现所管理子网的拓扑结构
  2. 给子网下的所有Port分配相同的子网ID
  3. 给每个Port分配LID
  4. 建立子网中所有节点之间的可能路径;
  5. 定期扫描子网,寻找拓扑变化

SM可以驻留在子网中的任何设备内部,但最典型的是由运行在处理器节点上的程序组成


子网如何与设备通信

  子网管理器通过向QP0发送子网管理请求包subnet management request packet(SMPs)去管理设备,通常SMPs中需要携带:

  • 属性ID;
  • 方法/动作;
  • 属性修改器:当需要修改特定属性时,属性修改器会标识端口的目标设备;
  • 数据;

  其中,QP0也被称作子网管理接口SMI,SMP是管理数据报的一种。

  CA或路由器上的每个端口都会实现一个SMI(subnet management interface)来接收SMP请求报文和发送SMP响应报文,但是,在交换机上,只有Port0实现SMI,SMP即使从其他Port接收,依旧会转发到Port0处理


请添加图片描述


  此外,还有子网管理代理的概念,每个CA,交换机或路由器都会实现一个子网管理代理SMA,当接收到SMP后,都由SMA处理请求。SMA执行由SMP定义的操作,然后将SMP响应报文返回给SMI,SMI将响应SMP返回给SM。
  注意:在另一个SM发送一个SMP来访问驻留在设备中的SM的SMInfo属性的情况下,SMI将SMP直接传递给设备的SM(而不是它的SMA)进行处理。


如何访问SM属性

子网管理器如同前文说的一般,存在控制流程的内部属性:从零学习 InfiniBand-network架构(二) —— 属性与管理器
接下来会举一个例子,介绍访问SM属性的全流程:

  1. 首先SM在主存中构建256B大小的数据报,MAD需要包括:
    • Class=subn,表示MAD需要被传递到的目标端口的SMA进行处理;
    • 方法(SET/GET);
    • 属性ID;
    • 属性修改器;
    • 数据(属性写);
  2. SM执行一个Post request verb向SQ的QP0发布WR,并用此WR传输SMP。WR中指定了MAD的内存起始地址,也指定了目标端口的LID,以及目标QP,并调用verb对QP0的RQ发布WR
  3. SQ从主存中读取MAD,并将其替换SMP中的Payload部分,将SMP转发给HCA的QP0;
  4. SMP通过一条或多条链路,最终达到目标port,并传输到port的QP0的RQ,最后传递到SMA;
  5. SMA组一个SMP响应包发送到接收port的SMI上,SMP请求报文中的SLID和DLID字段在响应报文的LRH: SLID和LRH:DLID字段中被反转,用于返回。BTH:DestQP字段设置为QPO。
  6. 响应包以同样路径返回到HCA port,并传给对应port的SMI的RQ进行处理;
  7. RQ通过分散缓冲列表来确定256字节的MAD响应在内存中的存放位置,并创建一个CQE
  8. 完成上述所有操作后,HCA产生一个中断,通知SM操作已响应

通用服务管理

  除了SM和SA,子网下的设备还由通用服务管理器(general services managers GSM)来管理,包括以下管理类型:

  • 性能管理:完成性能统计和错误信息的整理;
  • 基板管理:可以访问IBA接口设备的组件,例如例如机箱温度监测和热插拔操作;
  • 设备管理:提供执行IOC和IOU管理的方法,DM通过将DM GMP MADs发送到IOU的DMA执行来操作IOU或IOC中的DM相关属性;
  • 供应商特定管理:允许供应商定义一组通用方法,来访问供应商设备的特定属性,供应商可以自由定义新的访问方法和属性。
  • 特定应用管理器:提供一组通用访问方法,使得应用程序可以自由定义新的访问方法和属性。
  • 通信管理(CM):在在qp或eec之间提供一种建立、终止和迁移连接的机制,并提供基本的服务ID解析。
  • SNMP隧道管理:提供一组支持SNMP隧道的访问方法、数据格式和属性。SNMP报文嵌入在符合IBA规范的管理报文中。

子网管理员

  子网管理员(SA)是一个被动的实体,提供子网拓扑、设备类型和设备特征的信息库,其通常是SM的子集。SA在很大程度上是被动的,因为它通常不会向其他实体发起访问请求。相反,它响应从其他实体收到的数据库查询。
  例如,软件应用程序可能会查询SA,以了解可能被带到目标端口的各种路径以及与这些路径相关联的DLID或DGID


GSM订阅事件通知

  当GSM接收到来自特定CA、交换机或路由器的Trap时,CA内部或背后的软件可能希望得到通知。这是通过事件转发订阅机制完成的。订阅者向class管理器发送一个Set(informfo)请求,才能得到事件通知。

  订阅者告诉GSM,当从特定端口或端口范围收到Trap MAD时,它希望得到通知。informinfo属性告诉GSM,哪些CA、路由器的端口或者交换机的管理端口是订阅者感兴趣的,端口其GID或LID指定。或者,订阅者可以通过指定LID地址范围来定义CA、路由器或交换机管理端口的集合。

  类管理器用GetResp(informfo)消息来响应Set(informfo)请求GMP,以确认或拒绝请求的转发。订阅者可以通过查询SA确定哪些管理器存在以及它们在fabric上的位置。




搜索关注我的公众号【IC墨鱼仔】,获取我的更多IC干货分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/128080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

作为QA,我们要如何思考?

随着测试人员陆续开始尝试角色转变,坚守的QA需要找到自己的发展之路。兴趣和性格是客观因素,好奇心和发散性思维则是帮助成为优秀QA的必要因素。我想通过一些小的例子来与大家互动探讨。 测试你做对了吗? 让我们从这样一个现实中的小例子来…

【历史上的今天】12 月 30 日:C++ 之父诞生;Hotmail 创始人出生;Facebook 注册破百万

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2022 年 12 月 30 日,在 1930 年的这一天,“青蒿素之母”屠呦呦出生。2015 年 10 月 5 日,屠呦呦获得诺贝尔生理学或医学奖&#xf…

【Java基础知识】对Object类wait()和notify()方法的理解

wait()/notify()原理 当前线程必须拥有此对象的monitor监视器(锁)。(不获取锁直接用Object对象调用wait和notify,会报错java.lang.IllegalMonitorStateException)当前线程调用wait() 方法,线程就会释放此锁的所有权&a…

动态库和静态库

文章目录感性认识库动态库和静态库从库的设计者来看库制作静态库制作动态库库的使用者的角度静态库的使用使用动态库1.把头文件和库文件拷贝到系统的路径下2.修改对应的环境变量更改文件 ld.so.conf.d在系统的库路径下建立对应的软链接动态库如何加载感性认识库 首先&#xff…

关于GNSS关键性能测试,应该如何选择?

现在,GPS/GNSS信号无处不在,而GNSS接收机芯片的低成本和高性能也让在不同设备中安装GNSS接收机变得更为容易。然而,与此同时又存在一个问题,如果想将这些接收器芯片集成到一个设备或系统中,该如何对其进行全面的GNSS测…

方法注解@Bean与对象注入

1.类注解是添加到某个类上的,⽽⽅法注解是放到某个⽅法上的,如以下代码的实现: 注:方法注解一定要搭配类注解使用,否则会报错 2.重命名Bean 多个重命名,使用多个名称获取的对象都是同一个 3.获取 Bean 对象…

全网惟一面向软件测试人员的Python基础教程-在Python中列表是什么?

全网惟一面向软件测试人员的Python基础教程 起点:《python软件测试实战宝典》介绍 第一章 为什么软件测试人员要学习Python 第二章 学Python之前要搞懂的道理 第三章 你知道Python代码是怎样运行的吗? 第四章 Python数据类型中有那些故事呢?…

TTL(RGB)接口液晶显示屏的调试方法

TTL接口的液晶显示屏一般会使用DE模式驱动它。首先需要CPU带有LCD控制器,能够产生出液晶显示屏所需要的以下几个信号: 1.时钟信号(DOTCLK) 2.行同步信号(HSYNC) 3.场同步信号(VSYNC) 4.DEN(数据允许信号) 6.数据信号(R0-R7;G0-G7;B0-B7)…

第02讲:Git分支操作

一、什么是分支 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独 分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时 候,不会影响主线分支的运行。对于…

剑指 Offer 17. 打印从1到最大的n位数

题目 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 思路 本题应该考虑的是大数问题,但是返回数组为int[]。。。所以两种方法都做一下 方法一:普通解法&#xff…

天翼云服务器性能评测,4H8G贵阳节点性能跑分

天翼云号称全球运营商云第一、中国公有云用户数第二、政务云公有云第一。那么天翼云服务器用起来到底怎么样呢? 目前,蓝队云这边一共有19个天翼云节点云服务器,覆盖全国多个核心省市及地区,节点选择的话一般就是按照就近原则。 …

权威报告出炉:2022年移动机器人出货量增长53%!2023年移动机器人迎来发展新拐点?

原创/文 BFT机器人 近日,全球权威研究机构Interact Analysis重磅发布移动机器人领域的“风向标”——《2022年移动机器人市场报告》(The Mobile Robot Market 2022),深入探究真实市场数据,对全球移动机器人领域的发展现…

当压力传感器遇到汽车电子系统 智芯传感打造车规级智能感知传感器产品

汽车电子系统是汽车数字化的发端和基础,更是汽车智能化的前提。近年来,伴随着汽车电子技术的快速发展与应用,汽车电子系统在车辆控制精度、范围、适应性和智能化等方面,都实现了大幅优化提升。而压力传感器作为汽车电子系统的主要…

RHCSA 第五天笔记

用户和组管理 用户分为三类: 超级用户 root 普通用户 只能切换到自己有的用户 系统用户(不常用,没办法登录) 组分为两类 定义概念 基本组(私有组) 没指定所属组,系统建立和用户同名的组 附加…

诺依文件上传支持阿里云oss

文章目录描述后端引入依赖application.yml 添加访问oss需要的参数编写oss工具类编写controller前端更改调用接口![在这里插入图片描述](https://img-blog.csdnimg.cn/efc28eb8244e4da482d46327ab29a999.png)去掉baseUrl回调成功后url改成真实urlmain.js中挂在该组件具体调用代码…

华为手表开发:GT3(1)配置调试设备

华为手表开发:GT3(1)配置调试设备初环境与设备获取手表UUID登录 AppGallery Connect 点击用户与访问初 希望能写一些简单的教程和案例分享给需要的人 环境与设备 系统:window 设备:HUAWEI WATCH 3 Pro 开发工具&…

自动化测试到底该怎么学?

从功能测试到自动化测试 ,待遇翻倍,我整理的超全学习指南! 首选你需要拥有一个全网最牛最全面的软件测试全职业生涯进阶从零基础到测试开发学习路线图。 其次跟着大纲的内容慢慢学习,当然配套的【教学视频配套的学习资料】肯定是…

代码随想录二刷day4 24.两两交换链表中的结点 19.删除链表的倒数第n个结点 链表相交(环形链表)

二刷复习 文章目录二刷复习24.两两交换链表中的结点19.删除链表的倒数第n个结点链表相交环形链表224.两两交换链表中的结点 思路还是挺简单的,在纸上画一个图就行了 思考的过程: 1.我会思考需要用一个指针curr还是两个指针prev和curr,思考的…

利用 Nacos 实现了一个动态化线程池,非常实用

在后台开发中,会经常用到线程池技术,对于线程池核心参数的配置很大程度上依靠经验。然而,由于系统运行过程中存在的不确定性,我们很难一劳永逸地规划一个合理的线程池参数。在对线程池配置参数进行调整时,一般需要对服…

SegeX Automation:VC调用Golden Surfer自动化失败(VC调用Automation失败)原因详解

----哆啦刘小洋 原创,转载需说明出处 2022-12-29 SegeX Automation:Surfer自动化(Automation)失败原因1 简介2 初始化Surfer对象不成功2.1 一般代码2.1 改进代码3 Windows系统原因4 Surfer原因5 其他问题1 简介 在工程领域,Golde…