infiniband core 层架构综述

infiniband

Linux内核中InfiniBand核心层驱动模块,位于drivers/infiniband/core目录下。InfiniBand是一种高性能、低延迟的网络互连技术,主要用于高性能计算(HPC)和数据中心环境。该模块提供了InfiniBand协议栈的核心实现,包括设备管理、通信管理、内存管理、用户空间接口等关键功能。

项目包含72个文件,其中56个C源文件,16个头文件。主要文件大小从283字节到146KB不等,平均文件大小约21.8KB。这是Linux内核中一个成熟且复杂的子系统,涉及网络协议栈、设备驱动、用户空间接口等多个方面。

架构描述: ## InfiniBand Core 架构分析

1. 核心层次结构

复制代码
应用层接口 (User Space API)
├── uverbs (用户空间verbs接口)
├── ucma (用户空间CMA接口)
└── user_mad (用户空间MAD接口)

核心管理层 (Core Management)
├── 设备管理 (device.c)
├── 通信管理器 (cma.c, cm.c)
├── 子网管理器代理 (agent.c)
└── 安全管理 (security.c)

协议实现层 (Protocol Implementation)
├── MAD协议 (mad.c, mad_rmpp.c)
├── SA查询 (sa_query.c)
├── 多播管理 (multicast.c)
└── 地址解析 (addr.c)

资源管理层 (Resource Management)
├── 队列对管理 (verbs.c)
├── 完成队列 (cq.c)
├── 内存区域 (umem.c, umem_odp.c)
├── 内存池 (mr_pool.c)
└── 资源跟踪 (restrack.c)

基础设施层 (Infrastructure)
├── 缓存管理 (cache.c)
├── 计数器 (counters.c)
├── 系统文件接口 (sysfs.c)
├── Netlink接口 (netlink.c, nldev.c)
└── 配置接口 (cma_configfs.c)

2. 主要模块功能

2.1 设备管理模块 (device.c)
  • 提供IB设备的注册、注销和管理
  • 设备属性查询和配置
  • 端口管理和状态监控
2.2 通信管理器 (CMA - Communication Manager)
  • cma.c: RDMA通信管理器,处理连接建立和维护
  • cm.c: InfiniBand连接管理器,处理IB特定的连接管理
  • iwcm.c: iWARP连接管理器,处理iWARP协议连接
2.3 用户空间接口
  • uverbs_*: 提供用户空间verbs API实现
  • ucma.c: 用户空间CMA接口
  • user_mad.c: 用户空间MAD接口
2.4 MAD协议栈
  • mad.c: 管理数据报(MAD)协议核心实现
  • mad_rmpp.c: RMPP(可靠多包传输)扩展
  • agent.c: 子网管理器代理
2.5 内存管理
  • umem.c: 用户空间内存管理
  • umem_odp.c: On-Demand Paging支持
  • umem_dmabuf.c: DMA缓冲区支持

3. 关键数据结构

3.1 核心数据结构
  • struct ib_device: IB设备抽象
  • struct ib_pd: 保护域
  • struct ib_qp: 队列对
  • struct ib_cq: 完成队列
  • struct ib_mr: 内存区域
3.2 连接管理
  • struct rdma_cm_id: RDMA连接标识
  • struct ib_cm_id: IB连接标识
  • struct iw_cm_id: iWARP连接标识

4. 依赖关系

项目依赖于多个Linux内核子系统:

  • 网络协议栈 (TCP/IP, Netlink)
  • 内存管理子系统
  • 设备模型 (sysfs)
  • 安全子系统
  • Cgroup资源控制
    关键发现: ['项目实现了完整的InfiniBand协议栈核心功能', '采用分层架构设计,各模块职责清晰', '提供丰富的用户空间接口(uverbs, ucma, user_mad)', '支持多种传输协议(IB, iWARP, RoCE)', '包含完整的安全和资源管理机制', '与Linux内核深度集成,使用 标准内核API']

架构图

相关推荐
毅硕科技14 天前
毅硕HPC | InfiniBand网络在HPC集群中的核心应用
hpc·infiniband·网络技术·高性能计算集群·专业服务
漫谈网络4 个月前
InfiniBand 深度解析
网络·rdma·infiniband·roce v2
apple_ttt4 个月前
InfiniBand技术解析(2):为什么它是高性能计算的 “超级血管”?
网络·rdma·infiniband·异构计算·数据中心网络
apple_ttt4 个月前
InfiniBand 技术解析(3):解码 IB “黑话”—— 核心术语与架构概览
网络·infiniband·异构计算·数据中心网络
知本知至1 年前
基于RDMA的nfs服务
服务器·网络·infiniband
又拍云2 年前
InfiniBand 的前世今生
gpu·infiniband
一尘之中2 年前
【infiniband】infiniband和RDMA
网络·infiniband