InfiniBand 技术及其在 Linux 系统中的配置简介

Infiniband HDR 网卡、交换机使用向导 Infiniband HDR 200Gb 产品开箱使用向导,包括OFED驱动安装,端口状态查看,RDMA基础性能测试。 阅读详情

InfiniBand 技术及其在 Linux 系统中的配置简介

孙 靖, 软件工程师, IBM
王 磊 ( cdlwlbj@cn.ibm.com), 软件工程师, IBM 中国软件开发中心
罗 明 ( mluo@cn.ibm.com), 软件工程师, IBM 中国软件开发中心

简介: 随着服务器处理速度的不断加快,用户对提升网络传输速度的需求也越来越紧迫,传统意义上的输入 / 输出技术, 如 PCI、以太等,已经无法满足这种需求。如何更为有效的提高数据传输速度,增加有效带宽成为摆在人们面前必须解决的一个重大问题。 InfiniBand 标准就是在这种情况下应运而生的,它在很大程度上解决了传统输入 / 输出架构的传输瓶颈问题 , 运行速度可达到每端口 2.5Gb/s 或 10Gb/s 。 目前,这项技术已经广泛应用到高性能计算等领域,Linux 操作系统内核也对其提供了全面的支持,本文将逐一介绍 InfiniBand 技术架构,以及如何在 Red Hat Enterprise Linux 5.3 和 SLES11 系统中配置 InfiniBand 网络设备,包括网卡驱动的安装以及 IPoIB(IP over InfiniBand)接口配置。



前言

随着服务器处理速度的不断加快,用户对提升网络传输速度的需求也越来越紧迫,传统意义上的输入 / 输出技术, 如 PCI、以太等,已经无法满足这种需求。如何更为有效的提高数据传输速度,增加有效带宽成为摆在人们面前必须解决的一个重大问题。 InfiniBand 标准就是在这种情况下应运而生的,它在很大程度上解决了传统输入 / 输出架构的传输瓶颈问题 , 运行速度可达到每端口 2.5Gb/s 或 10Gb/s 。

目前,这项技术已经广泛应用到高性能计算等领域,Linux 操作系统内核也对其提供了全面的支持,本文将逐一介绍 InfiniBand 技术架构,以及如何在 Red Hat Enterprise Linux 5.3 和 SLES11 系统中配置 InfiniBand 网络设备,包括网卡驱动的安装以及 IPoIB(IP over InfiniBand)接口配置。

InfiniBand 技术架构简介

InfiniBand 是一种基于交换的串行 I/O 互连体系结构,运行速度为每方向 2.5Gb/s 或 10Gb/s(每端口)。和共享总线结构不同,InfiniBand 是一个针数很少的串行结构,可连接印刷电路板(PCB – Printed circuit board)上的设备,并支持箱外带宽(Bandwidth Out of the Box)。使用普通的双绞铜线,InfiniBand 支持的连接距离为 17m ;而如果使用光缆,其支持的距离则可达数公里甚至更远。此外,InfiniBand 还支持 QoS 和 RAS 。 RAS 特性在设计之初就被融入了 InfiniBand 的体系结构,这些特性对于 InfiniBand 有能力成为位于 Internet 核心的下一代服务器和存储系统的通用 I/O 基础架构具有非常重要的意义。 InfiniBand 终将从根本上改变系统和 Internet 互连体系,并促成一场伟大的技术变革。

也正因如此,InfiniBand 系统网络(如图一所示)受到各大工业公司的支持,其中包括了所有主要服务器厂商(如:戴尔,惠普,IBM,英特尔,微软等公司)。


图 1. InfiniBand 系统网络
InfiniBand 系统网络 

从这张图中我们不难看出,InfiniBand 系统网络主要由两个核心部件组成:主机通道适配器(Host Channel Adapter)和 InfiniBand 交换机。其中,HCA 为主机设备提供一个接口用于支持所有 InfiniBand 定义的操作,而交换机则用于将一个端口接收到的 InfiniBand 报文转发到另一个端口,它支持单播和多播两种机制。

InfiniBand 在 Linux 系统中的配置

随着 InfiniBand 技术的应用越来越广,做为应用基础的 InfiniBand 配置问题也日益成为人们关注的热点,下面本文将对 InfiniBand 在 Linux 系统中的配置做一个具体的介绍,包括 InfiniBand 在 Red Hat Enterprise Linux 5.3 和 SLES11 系统中的网卡驱动的安装以及 IPoIB 的配置方法。

InfiniBand 在 RedHat 中的配置

Red Hat 产品是从 Red Hat Enterprise Linux 5.3 开始正式在内核中集成对 InfiniBand 网卡的支持,并且将 InfiniBand 所需的驱动程序以及库文件打包到发行 CD 里, 所以对于有 InfiniBand 应用需求的 Red Hat 用户,我们推荐其采用 Red Hat Enterprise Linux 5.3 及其以后的系统版本。

  • 安装 InfiniBand 驱动程序

    在安装 InfiniBand 驱动程序之前,请确认 InfiniBand 网卡已经被正确地连接或分配到主机。然后,从 Red Hat Enterprise Linux 5.3 的发布 CD 中获得 Table1 中给出的 rpm 文件,并根据上层应用程序的需要选择安装相应的 32 位或 64 位软件包。

    表 1. RedHatEL5.3 中 InfiniBand 库文件列表



    openib-*. el5.noarch.rpm
    32bit libibcm-*.el5.ppc.rpm
    libibcm-devel-*.el5.ppc.rpm
    libibcm-static-*.el5.ppc.rpm
    libibcommon-*.el5.ppc.rpm
    libibcommon-devel-*.el5.ppc.rpm
    libibcommon-static-*.el5.ppc.rpm
    libibmad-*.el5.ppc.rpm
    libibmad-devel-*.el5.ppc.rpm
    libibmad-static-*.el5.ppc.rpm
    libibumad-*.el5.ppc.rpm
    libibumad-devel-*.el5.ppc.rpm
    libibumad-static-*.el5.ppc.rpm
    libibverbs-*.el5.ppc.rpm
    libibverbs-devel-*.el5.ppc.rpm
    libibverbs-static-*.el5.ppc.rpm
    libibverbs-utils-*.el5.ppc.rpm
    64bit libibcm-*.el5.ppc64.rpm
    libibcm-devel-*.el5.ppc64.rpm
    libibcm-static-*.el5.ppc64.rpm
    libibcommon-*.el5.ppc64.rpm
    libibcommon-devel-*.el5.ppc64.rpm
    libibcommon-static-*.el5.ppc64.rpm
    libibmad-*.el5.ppc64.rpm
    libibmad-devel-*.el5.ppc64.rpm
    libibmad-static-*.el5.ppc64.rpm
    libibumad-*.el5.ppc64.rpm
    libibumad-devel-*.el5.ppc64.rpm
    libibumad-static-*.el5.ppc64.rpm
    libibverbs-*.el5.ppc64.rpm
    libibverbs-devel-*.el5.ppc64.rpm
    libibverbs-static-*.el5.ppc64.rpm
    libibverbs-utils 64bit rpm is not available in RedHatEL5.3



    另外,对于不同类型的 InfiniBand 网卡,我们还需要安装一些特殊的驱动程序,例如Galaxy1/Galaxy2类型的 InfiniBand 网卡,就需要安装 ehca 相关的驱动。在这里我们给出三种常见 InfiniBand 网卡及其所需驱动的对应关系供您参考,见表二。

    表 2. 常见 InfiniBand 网卡类型及所需驱动对应表



    libehca
    (for Galaxy1/Galaxy2 support)
    32bit libehca-*.el5.ppc.rpm
    libehca-static-*.el5.ppc.rpm
    64bit libehca-*.el5.ppc64.rpm
    libehca-static-*.el5.ppc64.rpm
    libmthca
    (for Mellanox InfiniHost support)
    32bit libmthca-*.el5.ppc.rpm
    libmthca-static-*.el5.ppc.rpm
    64bit libmthca-*.el5.ppc64.rpm
    libmthca-static-*.el5.ppc64.rpm
    libmlx4
    (for Mellanox ConnectX support)
    32bit libmlx4-*.el5.ppc.rpm
    libmlx4-static-*.el5.ppc.rpm
    64bit libmlx4-*.el5.ppc64.rpm
    libmlx4-static-*.el5.ppc64.rpm



  • 启动 openibd 服务

    在 Red Hat Enterprise Linux 5.3 系统中,openibd 服务在默认情况下是不打开的,所以在安装完驱动程序之后,配置 IPoIB 网络接口之前,我们需要先使能 openibd 服务以保证相应的驱动被加载到系统内核。具体方法如下:



    清单 1. 启动 openibd 服务
     
    			# /etc/init.d/openibd start 
     Loading OpenIB kernel modules:
                                                      [  OK  ]
    			

    启动 openibd 服务后,可用以下命令检查相应的驱动是否已加载,以 Galaxy2 网卡为例应得到以下输出。



    清单 2. Openibd 服务状态示例
     
    # /etc/init.d/openibd status 
     Low level hardware support loaded: 
            ib_ehca 
    
     Upper layer protocol modules: 
            ib_iser ib_srp ib_sdp ib_ipoib 
    
     User space access modules: 
            rdma_ucm ib_ucm ib_uverbs ib_umad 
    
     Connection management modules: 
            rdma_cm ib_cm iw_cm 
    
     Configured IPoIB interfaces: none 
     Currently active IPoIB interfaces: none 
    			

    此时,用 ifconfig 命令已经可以看到待配置的 ib 接口, 例如:



    清单 3. Ifconfig 命令输出
    	# ifconfig -a 
    
     ib0       Link encap:InfiniBand  HWaddr 
     80:00:00:2C:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 
              BROADCAST MULTICAST  MTU:4092  Metric:1 
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
              collisions:0 txqueuelen:256 
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b) 
    
     ib1       Link encap:InfiniBand  HWaddr 
     80:00:00:2E:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 
              BROADCAST MULTICAST  MTU:4092  Metric:1 
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
              collisions:0 txqueuelen:256
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
    			

    但这种使能 openibd 服务的方法只在本次启动中生效,如果用户需要在系统重新启动后仍保持 openibd 使能,则需要使用 chkconfig 命令将其添加到系统服务列表中,如:



    清单 4. 使用 chkconfig 添加 openibd 服务
    # chkconfig --level 235 openibd on 
     # chkconfig --list|grep openibd 
     openibd         0:off   1:off   2:on    3:on    4:off   5:on    6:off

  • 配置 IPoIB 网络接口

    在 Red Hat Enterprise Linux 5.3 中配置 IPoIB 网络接口的方法与配置以太接口方法类似,即 /etc/sysconfig/network-scripts 路径下创建相应的 IB 接口配置文件,如 ifcfg-ib0, ifcfg-ib1 等。这里我们给出一个对接口 ib0 做简单 IPoIB 配置的例子以供参考。



    清单 5. 接口配置文件示例
     
    # cat /etc/sysconfig/network-scripts/ifcfg-ib0 
     DEVICE=ib0 
     BOOTPROTO='static' 
     IPADDR=10.0.0.5 
     NETMASK=255.255.255.0 
     BROADCAST=10.0.0.255 
     NETWORK=10.0.0.0
     TARTMODE='onboot'
    			

    IB 接口配置文件创建完成后,需要重新启动接口设备以使新配置生效,这时可以使用 ifconfig 命令检查接口配置是否已经生效,具体操作如下。



    清单 6. 重启接口设备示例
    [root@p6ihn05 network-scripts]# ifdown ib0 
     [root@p6ihn05 network-scripts]# ifup ib0 
     [root@p6ihn05 network-scripts]# ifconfig ib0 
     ib0       Link encap:InfiniBand  HWaddr 
     80:00:00:2C:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00 
              inet addr:10.0.0.5  Bcast:10.0.0.255  Mask:255.255.255.0 
              inet6 addr: fe80::202:5500:1022:4a00/64 Scope:Link 
              UP BROADCAST RUNNING MULTICAST  MTU:4092  Metric:1 
              RX packets:24 errors:0 dropped:0 overruns:0 frame:0 
              TX packets:63 errors:0 dropped:15 overruns:0 carrier:0 
              collisions:0 txqueuelen:256 
              RX bytes:8252 (8.0 KiB)  TX bytes:16956 (16.5 KiB)

    至此,IB 接口配置工作基本完成。如果需要进一步验证其工作是否正常,可以参考以上步骤配置另外一台节点,并在两个节点之间运行 ping 命令。如果 ping 成功,则说明 IPoIB 配置成功。

InfiniBand 在 SuSE 中的配置

在 SuSE 产品中,虽然 SLES10 SP2 发布之初并没有提供对 InfiniBand 的正式支持,但随后发行的 SLES10 SP2 Update1 版本里却包含了 InfiniBand 的全部驱动集合,这一支持更在 SLES11 里得到了完善和发展,其发布 CD 已包含了 InfiniBand 相关的 OFED 驱动和管理工具。所以对于有 InfiniBand 应用需求的 SuSE 用户,我们推荐其采用 SLES11 及其以后的系统版本。

  • 安装 InfiniBand 驱动程序

    在安装 InfiniBand 驱动程序之前,请确认 InfiniBand 网卡已经被正确地连接或分配到主机。然后,从 SLES11 的发布 CD/DVD 中获得 Table3 中给出的 rpm 文件,并根据上层应用程序的需要选择安装相应的软件包。

    表 3. SLES11 中 InfiniBand 库文件列表



    Platforms Driver/Library
    SLES11 ofed-*.ppc64.rpm
    ofed-kmp-default-*.ppc64.rpm
    ofed-kmp-ppc64-*.ppc64.rpm
    opensm-*.ppc64.rpm
    libcxgb3-rdmav2-*.ppc64.rpm
    libehca-rdmav2-*.ppc64.rpm
    libibcm-*.ppc64.rpm
    libibcommon1-*.ppc64.rpm
    libibmad-*.ppc64.rpm
    libibumad-*.ppc64.rpm
    libibverbs-*.ppc64.rpm
    libipathverbs-*.ppc64.rpm
    libmlx4-rdmav2-*.ppc64.rpm
    libmthca-rdmav2-*.ppc64.rpm
    librdmacm-*.ppc64.rpm
    libsdp-*.ppc64.rpm
    mpi-selector-*.ppc64.rpm
    mstflint-*.ppc64.rpm
    libibverbs-devel-*.ppc64.rpm
    (Note: libibverbs-devel-*.ppc64.rpm is in SLES 11 SDK ISO)



    虽然 SLES11 对 InfiniBand 提供了更好的支持,但仍有部分用户的应用是建立在 SLES10 SP2 系统之中的。所以,在这里我们也给出了 SLES10 SP2 系统中需要加载的 InifiniBand 库和驱动包,详见表 4 。

    表 4. SLES10SP2 中 InfiniBand 库文件列表



    Platforms Driver/Library
    SLES10SP2 libcxgb3-64bit-*.ppc.rpm
    libcxgb3-devel-*.ppc.rpm
    libcxgb3-devel-64bit-*.ppc.rpm
    libehca-*.ppc.rpm
    libehca-64bit-*.ppc.rpm
    libehca-devel-*.ppc.rpm
    libehca-devel-64bit-*.ppc.rpm
    libibcm-*.ppc.rpm
    libibcm-64bit-*.ppc.rpm
    libibcm-devel-*.ppc.rpm
    libibcm-devel-64bit-*.ppc.rpm
    libibcommon-*.ppc.rpm
    libibcommon-64bit-*.ppc.rpm
    libibcommon-devel-*.ppc.rpm
    libibcommon-devel-64bit-*.ppc.rpm
    libibmad-*.ppc.rpm
    libibmad-64bit-*.ppc.rpm
    libibmad-devel-*.ppc.rpm
    libibmad-devel-64bit-*.ppc.rpm
    libibumad-*.ppc.rpm
    libibumad-64bit-*.ppc.rpm
    libibumad-devel-*.ppc.rpm
    libibumad-devel-64bit-*.ppc.rpm
    libibverbs-*.ppc.rpm
    libibverbs-64bit-*.ppc.rpm
    libibverbs-devel-*.ppc.rpm
    libibverbs-devel-64bit-*.ppc.rpm
    libipathverbs-*.ppc.rpm
    libipathverbs-64bit-*.ppc.rpm
    libipathverbs-devel-*.ppc.rpm
    libipathverbs-devel-64bit-*.ppc.rpm
    libmlx4-*.ppc.rpm
    libmlx4-64bit-*.ppc.rpm
    libmlx4-devel-*.ppc.rpm
    libmlx4-devel-64bit-*.ppc.rpm
    libmthca-*.ppc.rpm
    libmthca-64bit-*.ppc.rpm
    libmthca-devel-*.ppc.rpm
    libmthca-devel-64bit-*.ppc.rpm
    librdmacm-1.0.6-*.ppc.rpm
    librdmacm-64bit-*.ppc.rpm
    librdmacm-devel-*.ppc.rpm
    librdmacm-devel-64bit-*.ppc.rpm
    libsdp-*.ppc.rpm
    libsdp-64bit-*.ppc.rpm
    libsdp-devel-*.ppc.rpm
    libsdp-devel-64bit-*.ppc.rpm
    mpi-selector-*.ppc.rpm
    mstflint-*.ppc.rpm
    mvapich2-*.ppc.rpm
    mvapich2-64bit-*.ppc.rpm
    mvapich2-devel-*.ppc.rpm
    mvapich2-devel-64bit-*.ppc.rpm
    ofed-1.3-*.ppc.rpm
    ofed-cxgb3-NIC-kmp-ppc64-*.ppc.rpm
    ofed-doc-*.ppc.rpm
    ofed-kmp-ppc64-*.ppc.rpm
    open-iscsi-*.ppc.rpm
    opensm-*.ppc.rpm
    opensm-64bit-*.ppc.rpm
    opensm-devel-*.ppc.rpm
    opensm-devel-64bit-*.ppc.rpm
    perftest-*.ppc.rpm
    qlvnictools-*.ppc.rpm
    rds-tools-*.ppc.rpm
    release-notes-as-*.ppc.rpm
    ruby-*.ppc.rpm
    sdpnetstat-*.ppc.rpm
    srptools-*.ppc.rpm
    tvflash-*.ppc.rpm



  • 启动 openibd 服务及配置 IPoIB 网络接口

    在 SLES11 系统中,启动 openibd 服务以及配置 IPoIB 网络接口的方法与 RedHat 基本类似,唯一不同的是接口配置文件的位置。在 SLES11 中,接口配置文件位于 /etc/sysconfig/network 目录下,下面是一个简单配置的例子仅供读者参考。



    清单 7. 接口配置文件示例
    # cat /etc/sysconfig/network/ifcfg-ib0 
     DEVICE=ib0 
     BOOTPROTO='static' 
     IPADDR=20.0.0.5 
     NETMASK=255.255.255.0 
     BROADCAST=20.0.0.255 
     NETWORK=20.0.0.0
     STARTMODE='onboot'
    			

    其它配置步骤与 RedHat 完全相同,这里不再复述。

小结

本文介绍了 InfiniBand 技术的基本构架,以及在 Linux 系统中如何对 InfiniBand 设备进行网卡驱动的安装以及 IPoIB(IP over InfiniBand)接口配置,从而为上层高性能计算应用软件的运作提供了必要的环境基础。


参考资料


从零到一:InfiniBand网卡配置实战与避坑指南 本文是一份详尽的InfiniBand网卡配置实战指南,涵盖从硬件准备、驱动安装到IPoIB配置、OpenSM子网管理器启动及性能测试的全流程。文章重点分享了IB网卡配置过程中的常见陷阱与解决方案,旨在帮助用户高效搭建高性能、低延迟的网络环境,适用于AI训练集群与分布式存储等场景。 阅读详情

相关推荐

大模型训练网络规划:从RoCE到InfiniBand的集群网络架构实战指南

在分布式计算领域,网络通信是决定系统整体性能的关键基础设施。其核心原理在于通过高速互联技术,实现计算节点间数据的高效、低延迟交换,从而将分散的算力整合为统一的超级计算机。这一技术的核心价值在于最大化硬件利用率,尤其对于计算密集型和数据密集型的AI大模型训练任务,高效的网络能直接降低通信开销,将宝贵的GPU算力真正用于模型迭代。在应用场景上,从传统的数据中心到当今的千卡GPU集群,网络架构的选择与优化直接关系到训练任务的成败。本文聚焦于大模型训练这一高负载场景,深入剖析传统网络设计为何失效,并系统对比了RoC

weixin_29698641的博客 354

InfiniBand 入门 IB RDMA

默认设置适用于大多数人,但是,如果您有多个冗余的 infiniband 网络结构,那么您将需要配置多于一台计算机来启动 opensm,因为它每次运行时只会连接到一个结构,并且您需要配置 opensm 的附加实例以绑定到正确的端口,以便它管理冗余网络结构而不是默认结构。您的应用程序需要的实际锁定内存量取决于它将打开的连接数以及为每个连接分配的消息队列的大小以及它发送的实际读/写缓冲区的内存。-) 但是,如果它说找不到硬件的驱动程序,那么它谈论的是用户空间驱动程序,而不是内核空间驱动程序。

ssbandjl的博客 2165

大模型GPU集群网络规划:从RoCE/InfiniBand选型到无损网络实战配置

在分布式计算与高性能计算领域,网络通信是决定集群效率的核心基础架构。其核心原理在于通过高速互联技术实现多节点间的数据同步与交换,技术价值体现在最大化GPU利用率、缩短模型训练时间。尤其在AI大模型训练场景中,参数规模达到万亿级别,同步并行计算对网络带宽、延迟和丢包率提出了极致要求。传统数据中心网络难以应对持续的大象流和严格的延迟敏感型流量,因此,构建高带宽、超低延迟、零丢包的无损网络成为关键。这自然引出了大模型GPU集群网络规划的主题,其中涉及RoCE与InfiniBand的技术选型、Clos或Dragon

weixin_31309419的博客 310

ubuntu20.04 (Linux 5.4.0-81-generic )安装驱动调试Infiniband controller: Mellanox [ConnectX-5]

RMDA

weixin_38646896的博客 6119

【infiniband】安装驱动

安装 InfiniBand 驱动包通常包括几个步骤,但是可能会有所不同,取决于使用的操作系统和具体的硬件。

数字人生 1152

MLNX_OFED_LINUX安装失败-实战生产

日志信息来看,脚本在尝试为你的内核版本(6.8.0-1008-nvidia)构建相应的 DEB 包时遇到了一些警告和错误。这些警告主要集中在某些功能不支持当前的内核版本上。

jundao1997的专栏 1512

宠物电推剪升压芯片选型:低压启动与大电流散热实战

在单节锂电供电的小型电驱设备中,DC-DC升压是把3.0~4.2V电池电压提升到7.2V、9V或12V的关键环节。其原理基于电感储能与开关管周期切换,但真正决定带载能力的,常是开关峰值限流、最低启动电压与软启动策略。宠物电推剪在剪毛、打结硬推时,电机会从轻载迅速进入接近堵转的大电流状态,若升压芯片选型只盯输出电压,就容易出现掉压、重启、发热和续航缩水。围绕供电架构、负载特性、外围参数与实测排查,把升压芯片选型技巧落到低压启动、大电流冲击、小体积散热和长时间连续工作上,也能为小家电电驱、便携工具等场景提供通用

weixin_34389926的博客 556

KUKA机器人编程实战:5分钟搞定组输入与组输出的信号配置(附代码示例)

本文详细介绍了KUKA机器人编程中组输入与组输出的信号配置方法,通过5分钟快速掌握核心技巧。文章包含信号声明语法、典型配置流程及高级应用技巧,并附有代码示例,帮助工程师高效实现机器人与外部设备的通信。

efc123456的博客 851

InfiniBand 技术及其在 Linux 系统中的配置简介(转自“客居天涯”同标题)

         简介:随着服务器处理速度的不断加快,用户对提升网络传输速度的需求也越来越紧迫,传统意义上的输入 / 输出技术,如 PCI、以太等,已经无法满足这种需求。如何更为有效的提高数据传输速度,增加有效带宽成为摆在人们面前必须解决的一个重大问题。 InfiniBand 标准就是在这种情况下应运而生的,它在很大程度上解决了传统输入 / 输出架构的传输瓶颈问题 , 运行速度可达到每端口 2....

Mr.兴云的博客 904

深入解析DDR5 RFM机制:从JESD79-5标准到硬件实现

本文深入解析了DDR5内存标准中的关键机制——RFM(Refresh Management)。文章从JESD79-5标准出发,详细阐述了RFM如何通过RAA计数器实现从被动定时到主动响应的智能刷新管理,并探讨了其硬件实现细节、命令调度挑战及系统级设计考量,为芯片设计工程师优化DDR5内存子系统性能与可靠性提供了实践指导。

fff88的博客 491

MATLAB安装

Matlab 2016a 安装包及破解教程百度云分享链接: 链接:https://pan.baidu.com/s/1i6BgD8p       密码:17gg   Matlab安装教程: 1、下载文件,得到R2016a_win64.part1.rar、R2016a_win64.part2.rar两部分安装文件和Matlab 2016a Win64 Crack破解文件。 2、解压安装文件(解...

qq_36734094的博客 17万+

InfiniBand 技术及其在 Linux 系统中的配置简介(未完)

InfiniBand 技术架构简介nfiniBand 是一种基于交换的串行 I/O 互连体系结构,运行速度为每方向 2.5Gb/s 或 10Gb/s(每端口)。和共享总线结构不同,InfiniBand 是一个针数很少的串行结构,可连接印刷电路板(PCB – Printed circuit board)上的设备,并支持箱外带宽(Bandwidth Out of the Box)。使用普通的双绞铜线,...

weixin_30785593的博客 479

3. ChaosBlade-Box平台安装

参考自:https://chaosblade.io/docs/about-chaosblade/box-introduce/通过ChaosBlade-Box可实现chaosblade等已托管工具自动化部署,按照社区的建立的混沌实验模型统一实验场景,根据主机、Kubernetes、应用来划分目标资源,通过目标管理器来控制,在实验创建页面,可以实现白屏化的目标资源选择。

lldhsds的专栏 2486

【运维日常】infiniband网络架构,容器间跨机器不同网段通信_infiniband如何通讯(1)

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

m0_60707660的博客 904

Vue - 简约大气 404 页面

效果图 实现代码 复制即可。 <template> <div> <div class="error"> <!-- 图片可保存到本地 --> <img src="https://img-blog.csdnimg.cn/20210715111039922.png"> <p>抱歉!你访问的页面不存在或已删除 :( </p> <span class="back" @click="go(

🏆 前端领域优质创作者 3371

【ComfyUI】Wan2.2 动态服饰描述驱动换装图生视频

本文介绍了一个基于ComfyUI的Wan2.2动态服饰描述驱动换装工作流,能通过自然语言描述实现人物图像的自动换装并生成动态视频。该工作流结合多模态输入、语言模型驱动生成和视频合成技术,包含图像加载、文本解析(使用Qwen2.5大模型)、潜变量编码、视频帧采样与插值(RIFE VFI)等核心模块,最终通过VHS_VideoCombine输出流畅换装视频。整个流程无需手动干预,支持从"哥特风格"到"未来装甲"等多样化服饰风格的精确转换,通过文本节点控制50-100

Mr数据杨 2592

Infiniband/RDMA技术梳理

主要讲解infiniband高速网络的知识,讲解mellanox ib驱动安装以及驱动相关配置

LonelyLinguist的博客 4834

YOLOV5 自动刷图脚本实战(十五)之如何找到正确的门

DXF是一个2D游戏,我们所看到的人物移动,其实是后面的背景在移动,我们所看到的画面,不过是一个完整背景中的一个镜头视角而已想要正确找到门的坐标,我们需要对不同的地图中的每个房间做一些配置信息。

qq_38892949的博客 2812

【运维日常】infiniband网络架构,容器间跨机器不同网段通信_infiniband如何通讯(2)

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。总之,IP网络是一种通用的网络协议,适用于各种网络通信场景,而InfiniBand网络是一种专用的高性能计算和存储网络,提供更高的带宽、更低的延迟和更灵活的拓扑结构,适用于需要高性能和低延迟的应用。最全的Linux教程,Linux从入门到精通。

m0_60707660的博客 1225

【华为OD机试真题】282、求满足条件的最长子串的长度 | 机试真题+思路参考+代码分析 (C++、Java、Py、C语言、JS)

题目描述 >给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求: >  1、只包含1个字母(a~ z,A~Z), 其余必须是数字; 2、字母可以在子 串中的任意位置; >  如果找不到满足要求的子串,如全是字母或全是数字,则返回-1

KJ.JK 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 生成若干随机数,且不重复
下一篇: linux查看内核版本、系统版本、系统位数(32or64)
CodingSir
博客等级 码龄21年 2149粉丝 812原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值