【问题标题】:Infiniband transport LayerInfiniband 传输层
【发布时间】:2018-10-22 07:21:03
【问题描述】:

我无法理解 http://www.redbooks.ibm.com/redbooks/pdfs/sg247351.pdf 的上下文

它描述了传输层是如何实现的,但我阅读的每条信息都只解释了功能而不是传输层是如何实现的。

InfiniBand 架构为 以太网等其他技术之上的传输层:全部 功能在硬件中实现。

有没有办法找出 Infiniband 传输层的功能是如何在硬件中实现的基本思想? 例如,它是否使用逻辑控件和寄存器来运行所有必要的传输层功能?

【问题讨论】:

    标签: infiniband rdma


    【解决方案1】:

    InfiniBand 是一个定义良好的端到端互连协议,由 InfiniBand Trade Association 正式定义和维护。

    您可以在 IBTA 网站上找到完整的规范: http://www.infinibandta.org/content/pages.php?pg=technology_public_specification

    在上述规范中,您可以找到从物理层定义到高级连接管理和子网管理员协议的任何地方。 这是 InfiniBand 硬件供应商用于实施其产品的指南。特定于供应商的实现在功能实现方式和位置方面可能存在显着差异,并且在许多情况下是保密的。

    【讨论】:

    • 感谢您的回复,但您提到的规格链接并没有回答我的问题。正如您所说,它似乎是供应商特定的或机密的。我会尝试寻找其他方法来解决这个问题。
    • InfiniBand 规范定义了传输层应该如何实现(硬件或软件),还定义了它应该如何暴露给用户。
    • 感谢回复,但没有说明传输层的逻辑是来自硬件还是软件。我正在与 Infiniband 提供商一起逐步解决这个问题。
    【解决方案2】:

    我已经与 Infiniband 提供商确认并确认,虽然文档说明传输层是建立在硬件上的,但它仅指 HCA 中的队列对。因此,大部分逻辑只是在 Infiniband 驱动程序的后台进程中工作。

    通用流程

    1) 应用程序是为使用 InfiniBand 而编写的。

    2) Mellanox 驱动程序中的接口(如 MPI)允许应用程序通过驱动程序直接写入服务器上的内存空间(发布工作请求)(现在我们进入传输层)。

    3) 交换源服务器和目标服务器之间的内存空间详细信息,以便现在可以在这些 RAM 内存区域之间进行通信。这是 InfiniBand 的一个关键优势,因为它绕过内核/CPU 并在硬件中交换数据(在内存区域之间使用 HCA(适配器)之间的队列对。当我们说数据在硬件中交换时,我们指的是服务器内存和 HCA。

    4) HCA 将根据 MTU 对数据包进行分段并将数据推送到线路上。在另一端,它将被重新组装。这仍然是“传输层”。

    5) 当比特被推到电线上时——这是物理层。

    结论

    驱动程序在后台,告诉操作系统如何与 HCA 互操作(决定传输协议 InfiniBand、vs、以太网、MTU、CM vs、RD 队列对交换模式等)。此外,它还提供 InfiniBand 编程接口和用于故障排除等的附加实用程序。我猜你可以说这里有一些逻辑,由 OFED HCA 驱动程序提供。

    【讨论】:

      猜你喜欢
      • 2012-08-19
      • 2014-03-29
      • 2018-05-28
      • 2018-04-06
      • 2017-04-28
      • 2017-02-24
      • 2011-04-17
      • 2012-12-02
      • 2015-02-21
      相关资源
      最近更新 更多