Infiniband传输层

时间:2018-05-11 20:18:55

标签: infiniband rdma

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

中的上下文

它描述了如何实现传输层,但我读过的每个信息只解释了这些功能,而不是传输层的实现方式。

  

InfiniBand架构为其提供了重大改进   传输层优于其他技术,如以太网:全部   功能在硬件中实现。

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

2 个答案:

答案 0 :(得分:0)

InfiniBand是一种定义明确的端到端互连协议,由InfiniBand贸易协会正式定义和维护。

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

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

答案 1 :(得分:0)

我已经发现并向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驱动程序提供。