Infiniband 网络的技术的主要概念、设备、组网、拓扑、OFED

Infiniband 技术概述

Infiniband 是一种高带宽、低延迟的计算机网络技术,广泛应用于高性能计算(HPC)和数据中心环境。它提供比传统以太网更高的性能和可扩展性。以下是 Infiniband 技术的主要概念、设备和组网方法。 

# 主要概念 

1. 高带宽:

   - Infiniband 提供极高的数据传输速度,常见的速率有 40 Gbps56 Gbps100 Gbps 和更高。 

2. 低延迟:

   - Infiniband 的延迟非常低,通常在微秒级别,这是高性能计算和实时数据处理应用的关键需求。 

3. RDMARemote Direct Memory Access):

   - 允许一个计算机直接访问另一台计算机的内存,而无需通过操作系统。这大大降低了延迟和 CPU 负载。 

4. 拓扑结构:

   - 支持多种网络拓扑,包括 Fat-Tree3D Torus Dragonfly,用于优化网络性能和扩展性。 

5. QoSQuality of Service):

   - 提供服务质量保证,确保关键应用的数据流优先处理。 

# 主要设备 

1. HCAHost Channel Adapter):

   - 主机通道适配器,安装在服务器或工作站上,提供 Infiniband 网络接口。 

2. Switch(交换机):

   - 用于连接多个 HCA 设备,组成 Infiniband 网络。交换机具有高吞吐量和低延迟的特点。 

3. Router(路由器):

   - 连接不同的 Infiniband 子网,支持更大规模的网络拓扑。 

4. Cable(电缆):

   - 使用光纤或铜缆连接 HCA 和交换机。常见的电缆类型包括 QSFP CXP 

# 组网方法 

1. 单层拓扑(Single Layer Topology):

   - 简单的组网结构,适用于小规模集群,所有节点通过一个或多个交换机直接互连。 

2. Fat-Tree 拓扑:

   - 一种多级的树形结构,提供高带宽和低延迟,适用于大规模集群。每个交换机层次之间有多条路径,增加了网络的容错性和负载均衡能力。 

3. 3D Torus 拓扑:

   - 三维环形结构,节点连接成环状,适用于超大规模的 HPC 集群。每个节点与相邻节点直接连接,提供高带宽和低延迟的点对点通信。 

4. Dragonfly 拓扑:

   - 一种超大规模网络结构,提供极高的带宽和低延迟。Dragonfly 拓扑通过分层结构和全互连的超级节点,最大限度地减少了网络跳数,提高了性能。

 # 组网示例 

## 示例 1:小型集群 

- 使用单个 36 端口 Infiniband 交换机连接 32 个节点。

- 每个节点安装一个 HCA,通过 QSFP 电缆连接到交换机。 

## 示例 2:中型集群(Fat-Tree 拓扑) 

- 使用三个层次的交换机组成一个 Fat-Tree 结构。

- 顶层使用 12 个核心交换机,中间层使用 24 个汇聚交换机,底层使用 48 个边缘交换机。

- 每个节点通过 HCA 连接到底层的边缘交换机。 

## 示例 3:大型集群(3D Torus 拓扑) 

- 节点以三维环状排列,每个节点有六个连接端口,分别连接到前后、左右、上下的相邻节点。

- 使用多条路径进行数据传输,确保高带宽和低延迟。

 

# 配置和管理

 

- 软件栈:

  - 使用 OpenFabrics Enterprise Distribution (OFED) 提供的驱动和工具管理 Infiniband 网络。

  - 常用工具包括 ibstatibhostsibnetdiscover ibping 

- 管理交换机:

  - 通过交换机的管理接口(如 Web UI CLI)配置和监控交换机状态。

  - 配置 QoS 和路由策略,以优化网络性能。 

# 总结 

Infiniband 提供了高带宽、低延迟的网络连接,适用于高性能计算和数据中心环境。通过使用 HCA、交换机和路由器等设备,并采用合理的网络拓扑结构,可以构建高效的 Infiniband 网络。管理和配置 Infiniband 网络需要使用特定的软件工具和策略,以确保网络的最佳性能和可靠性。 

Fat-Tree 拓扑

Infiniband Fat-Tree 拓扑是一种常用于高性能计算(HPC)和数据中心环境中的网络拓扑结构。它通过多级的交换机层次和多条路径设计,提供了高带宽、低延迟和高容错性,适合大规模并行计算和数据密集型应用。 

# Fat-Tree 拓扑的主要特点 

1. 高带宽:

   - Fat-Tree 拓扑通过多条并行路径实现高带宽,避免单点拥塞。 

2. 低延迟:

   - 由于其层次结构和多条路径设计,数据可以通过最短路径传输,降低了延迟。 

3. 高容错性:

   - 多路径设计使得网络具有较高的容错性,即使部分路径或设备出现故障,仍能保持网络的连通性和性能。 

4. 可扩展性:

   - Fat-Tree 拓扑具有良好的可扩展性,能够支持从小规模到大规模的集群网络。 

# Fat-Tree 拓扑结构 

Fat-Tree 拓扑通常分为三个层次:核心层(Core Layer)、汇聚层(Aggregation Layer)和接入层(Edge Layer)。 

1. 核心层(Core Layer):

   - 核心层由多个核心交换机构成,负责连接各个汇聚层交换机,形成整个网络的主干部分。 

2. 汇聚层(Aggregation Layer):

   - 汇聚层交换机连接核心层交换机和接入层交换机,起到中间层的作用。 

3. 接入层(Edge Layer):

   - 接入层交换机直接连接服务器节点,负责将服务器连接到网络中。 

# Fat-Tree 拓扑的示例 

假设我们有一个小规模的 Fat-Tree 网络,包含 8 个节点,使用 8 端口的交换机。这个网络分为三层结构: 

## 核心层(Core Layer 

- 1 8 端口交换机 

## 汇聚层(Aggregation Layer 

- 2 8 端口交换机 

## 接入层(Edge Layer 

- 4 8 端口交换机 

# 连接关系 

- 每个接入层交换机连接 2 个服务器节点和 2 个汇聚层交换机。

- 每个汇聚层交换机连接 2 个接入层交换机和核心层交换机。

- 核心层交换机连接所有的汇聚层交换机。

 # 配置步骤 

以下是配置 Infiniband Fat-Tree 拓扑的基本步骤: 

1. 安装和配置交换机:

   - 在所有层次的交换机上安装和配置 Infiniband 交换机固件,确保所有交换机互相连通。 

2. 连接服务器节点:

   - 将服务器节点通过 HCAHost Channel Adapter)连接到接入层交换机。 

3. 配置网络:

   - 在服务器节点上安装和配置 OFED 软件包,确保 Infiniband 网络接口正常工作。

   - 配置服务器节点的 IP 地址和路由信息,确保能够通过 Infiniband 网络进行通信 

4. 验证连接:

   - 使用 Infiniband 提供的工具(如 ibstatibhostsibnetdiscover)验证网络连接和拓扑结构。 

# 具体配置示例 

以下是在一个简单的 Fat-Tree 拓扑中配置 Infiniband 网络的示例: 

## 配置交换机 

在所有交换机上确保 Infiniband 固件已经安装,并进行基础配置: 

shell

# 示例:登录交换机进行配置

ssh admin@switch1

# 配置交换机基础信息

switch(config)# hostname switch1

switch(config)# interface ib0

switch(config-if)# ip address 192.168.100.1 255.255.255.0

switch(config-if)# no shutdown 

## 服务器节点配置 

在所有服务器节点上安装 OFED 软件包并配置 Infiniband 网络接口: 

shell

# 安装 OFED

sudo apt update

sudo apt install rdma-core 

# 配置网络接口

sudo ibdev2netdev

# 假设 ib0 Infiniband 接口

sudo ip addr add 192.168.100.2/24 dev ib0

sudo ip link set ib0 up 

## 验证网络 

使用 Infiniband 提供的工具验证网络: 

shell

# 查看 Infiniband 设备状态

ibstat 

# 显示连接的主机

ibhosts 

# 发现网络拓扑

ibnetdiscover 

# 测试网络连接

ibping -S 192.168.100.1 -C 192.168.100.2 

# 总结

Infiniband Fat-Tree 拓扑通过多层交换机结构和多路径设计,提供了高带宽、低延迟和高容错性的网络解决方案,特别适合高性能计算和数据中心环境。配置和管理 Fat-Tree 拓扑需要对交换机和服务器节点进行合理的连接和配置,并使用相关工具进行验证和测试。

 

服务器安装OFED的作用 

在服务器上安装 OpenFabrics Enterprise Distribution (OFED) 软件包的主要作用是为高性能计算(HPC)和数据中心环境提供高效的网络通信支持。OFED 是一个开源软件包集合,包含驱动程序、库和工具,旨在优化和支持 RDMARemote Direct Memory Access)和高带宽、低延迟网络接口,如 InfiniBand RoCERDMA over Converged Ethernet)。以下是安装 OFED 软件的具体作用和好处: 

# 主要作用 

1. 支持 RDMA 技术:

   - OFED 提供了 RDMA 驱动程序和库,支持远程直接内存访问。这种技术允许计算节点之间直接访问彼此的内存,极大地降低了延迟和 CPU 负载,提高了数据传输效率。 

2. 优化网络性能:

   - OFED 优化了高带宽、低延迟网络接口(如 InfiniBand RoCE)的性能,使其在 HPC 和数据中心环境中发挥最大效能。这包括优化传输协议、减少网络开销和提供高效的内存管理。 

3. 驱动程序支持:

   - 包含 InfiniBand RoCE 设备的驱动程序,确保这些网络接口设备能够在 Linux 操作系统上正常工作。 

4. 用户态库和工具:

   - 提供了一组用户态库(如 libibverbs librdmacm),以及各种管理和调试工具(如 ibstatibhostsibping ibtracert,帮助用户配置、监控和调试高性能网络。 

5. 支持多种协议:

   - OFED 支持多种高效传输协议,如 iWARPRoCE SRPSCSI RDMA Protocol,满足不同应用场景的需求。 

# 安装步骤 

以下是安装 OFED 的基本步骤,以 Ubuntu 为例: 

## 1. 下载 OFED 

OpenFabrics Alliance 官方网站或其他可信源下载适用于你系统的 OFED 软件包。 

## 2. 解压并安装 OFED 

解压下载的 OFED 安装包,并进入解压后的目录: 

tar -xzf MLNX_OFED_LINUX-<version>.tgz

cd MLNX_OFED_LINUX-<version>/ 

运行安装脚本: 

sudo ./mlnxofedinstall 

## 3. 加载驱动程序 

安装完成后,重新启动服务器或手动加载 OFED 提供的驱动程序: 

sudo /etc/init.d/openibd restart 

## 4. 验证安装 

使用 OFED 提供的工具验证安装是否成功:

ibstat 

# 具体应用 

1. 高性能计算(HPC)集群:

   - HPC 环境中,OFED 提供支持 RDMA 的高效通信,使节点之间的通信延迟降到最低,显著提高了计算任务的执行效率。 

2. 数据中心:

   - 数据中心可以利用 OFED 提供的高带宽、低延迟网络接口,优化数据传输性能,减少网络瓶颈,提升整体服务质量。 

3. 存储系统:

   - 使用 OFED 支持的 SRP 协议,可以通过 InfiniBand RoCE 网络实现高效的存储访问,降低存储延迟,提高 I/O 性能。 

# 总结

在服务器上安装 OFED 软件包可以大幅提升高性能网络接口的性能,提供对 RDMA 技术的支持,优化数据传输效率,并提供一套完整的管理和调试工具。这对于构建高性能计算集群、优化数据中心网络和提高存储系统性能都是非常重要的。

 

服务器安装OFED 

在服务器上安装 OpenFabrics Enterprise Distribution (OFED) 软件可以大幅提升 InfiniBand RDMA over Converged Ethernet (RoCE) 网络接口的性能。以下是安装 OFED 的详细步骤,包括下载、安装、配置和验证。 

# 1. 下载 OFED 软件包 

首先,从 OpenFabrics Alliance 官方网站或 Mellanox 网站下载适用于你操作系统的 OFED 软件包。例如: 

wget https://content.mellanox.com/ofed/MLNX_OFED-5.8-1.0.1.1/MLNX_OFED_LINUX-5.8-1.0.1.1-ubuntu20.04-x86_64.tgz 

# 2. 解压和安装 OFED 

解压下载的 OFED 软件包,并进入解压后的目录: 

tar -xzf MLNX_OFED_LINUX-5.8-1.0.1.1-ubuntu20.04-x86_64.tgz

cd MLNX_OFED_LINUX-5.8-1.0.1.1-ubuntu20.04-x86_64/ 

运行安装脚本: 

sudo ./mlnxofedinstall 

这个脚本会自动检测系统环境并安装所需的驱动和软件包。安装完成后,你会看到类似以下的输出: 

Installation finished successfully.  

# 3. 加载驱动程序 

安装完成后,需要重新启动服务器或手动加载 OFED 提供的驱动程序: 

sudo /etc/init.d/openibd restart 

# 4. 验证安装 

使用 OFED 提供的工具验证安装是否成功: 

ibstat 

这将显示 InfiniBand 设备的状态信息,包括端口状态、GUID 和速率。如果一切正常,你应该会看到类似以下的输出: 

CA 'mlx4_0'

    CA type: MT4099

    Number of ports: 2

    Firmware version: 2.40.7000

    Hardware version: 0

    Node GUID: 0x0002c9030043a6d0

    System image GUID: 0x0002c9030043a6d3

    Port 1:

        State: Active

        Physical state: LinkUp

        Rate: 56

        Base lid: 1

        LMC: 0

        SM lid: 1

        Capability mask: 0x02510a68

        Port GUID: 0x0002c9030043a6d1

        Link layer: IB 

# 5. 配置网络接口 

配置 InfiniBand RoCE 网络接口,例如将其配置为使用 IP 地址: 

sudo ibdev2netdev 

这个命令会显示 InfiniBand 设备对应的网络接口名称,例如 ib0。接下来,为该接口分配 IP 地址: 

sudo ip addr add 192.168.100.1/24 dev ib0

sudo ip link set ib0 up 

# 6. 验证网络连接 

使用 Infiniband 提供的工具验证网络连接: 

# 查看所有连接的 InfiniBand 设备

ibhosts 

# 测试网络连接

ibping -S 192.168.100.1 -C 192.168.100.2 

# 7. 使用其他工具 

OFED 提供了许多有用的工具来管理和调试 InfiniBand 网络: 

- ibstat:显示 InfiniBand 设备状态

- ibhosts:显示连接的主机列表

- ibnetdiscover:发现网络拓扑

- ibping:测试网络连接 

# 总结 

在服务器上安装 OFED 软件包可以大幅提升 InfiniBand RoCE 网络接口的性能和功能。通过上述步骤,你可以下载、安装和配置 OFED 软件,并使用相关工具验证和管理网络连接。这些操作对于构建高性能计算集群和优化数据中心网络是非常重要的。

posted @ 2024-06-21 19:05  Augustone  阅读(1756)  评论(0)    收藏  举报