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

从零学习 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处理


从零学习 InfiniBand-network架构(十一) —— 管理器的介绍_第1张图片


  此外,还有子网管理代理的概念,每个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干货分享!

你可能感兴趣的:(学习,网络)