• rdma软件架构的理解。


    一:对于真实的有rdma功能的网卡
    首先是应用程序了,比如perftest。
    1:https://github.com/linux-rdma/perftest.git
    下载以后,依次执行

    cd perftest/
    ./autogen.sh
    ./configure
    make
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5

    可以看到许多的测试命令。这些测试命令又对应代码里面的某个c文件,
    比如,ib_send_bw对应send_bw.c。
    在这里插入图片描述
    这里面的代码追一下,它会调用到
    https://github.com/linux-rdma/rdma-core里面的libibverbs里面的代码,里面的代码会编译为一个so文件

    对于许多的应用程序,在编程时,需要包含头文件
    如果找不到相应的头文件,需要安装
    在这里插入图片描述
    安装完以后,在系统的默认头文件路径下会多了infiniband这个目录。
    在这里插入图片描述
    对于
    #include // RDMA_CM CMA 头文件 用于CM建链
    #include // RDMA_CM VERBS 头文件 用于使用基于CM的Verbs接口
    需要安装:
    在这里插入图片描述
    在这里插入图片描述
    然后是
    2:https://github.com/linux-rdma/rdma-core
    下载以后,依次执行

    git clone https://github.com/linux-rdma/rdma-core
    sudo apt install libsystemd-dev -y
    bash build.sh
    cmake .
    make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可以看到lib目录里面包含了许多是so
    在这里插入图片描述
    然后到providers里面的各个厂商的用户态驱动,比如bnxt_re
    ,它会编译为libbnxt_re-rdmaxxx.so

    然后就到了内核态,
    代码位置。drivers\infiniband\core
    在这里插入图片描述
    这里面有许多的ko,比较重要的是ib_core.ko和ib_uverbs.ko
    通过了内核的ko以后就代码厂商的内核态驱动了,最后到硬件。

    至于ib_core.ko和ib_uverbs.ko有兴趣的同学可以看一下源码,不过,我们一般比较关心的是
    厂商的用户态驱动和内核态驱动,其他的一般不太关心。

    所以顺序就是。
    app->libibverbs.so->用户态驱动->ib_uverbs.ko->ib_core.ko->内核态驱动->硬件。
    ib_uverbs.ko->ib_core.ko这两步可以先看成是一步吧。
    细节要自己看了。

    有些应用程序到用户态以后就直接返回了,有些则需要通过那两个ko陷入到内核态去获取信息,然后返回。
    在这里插入图片描述

    在不同的系统上,比如ubuntu上,使用

    dpkg -l | grep "rdma" 
    
    • 1

    命令先找到内核版本对应的rdma-core版本,然后找到相对应的用户态驱动代码,比如rxe的。
    在这里插入图片描述
    而内核态驱动对应的版本下载对应的内核源码,然后去driver/infiniband/hw目录下找就可以了。

  • 相关阅读:
    干货!一文搞定无头浏览器的概念以及在selenium中的应用
    浅谈 K8S 网络模型CNI协议
    day9-机器学习之pandas库学习
    YTU数据结构作业三
    【云原生-K8s-2】kubeadm搭建k8s高可用集群(三主两从一VIP)完整教程
    基于大模型思维链(Chain-of-Thought)技术的定制化思维链提示和定向刺激提示的心理咨询场景定向ai智能应用
    JDK的安装-详细版
    S/4 HANA 大白话 - 财务会计-2 总账主数据
    ESP8266-Arduino编程实例-开发环境搭建(基于PlatformIO)
    【大数据分布并行处理】单元测试(四)
  • 原文地址:https://blog.csdn.net/qq_38158479/article/details/127413889