「译注:本章适合浏览,不需要精读」
本文档是 InfiniBand 架构规范的第一卷。它是描述该架构的一系列文档中的第一份。
1.1 致谢
以下人员在 InfiniBand 架构规范本卷的编写过程中做出了重要贡献:
指导委员会成员
联合主席:
成员(现任及前任):
技术工作组成员
联合主席:
前任主席:
成员:
工作组联合主席
应用工作组(AWG):
- 主席:目前不活跃
- 前任主席:
合规性与互操作性工作组(CIWG):
- 主席:Rupert Dance
- 前任主席:L
机电工作组(EWG):
- 主席:
IBXoE:
- 主席:目前不活跃
- 前任主席:
链路工作组(LWG):
- 主席:
- 前任主席:
管理工作组(MgtWG):
- 主席:
- 前任主席:
市场工作组(MWG):
- 主席:
- 前任主席:
软件工作组(SWG):
- 主席:
- 前任主席:
第一卷 1.3 版编辑:
第一卷 1.4 版编辑:
贡献者
1.2 InfiniBand 概念概述
InfiniBand 架构规范描述了一种用于将处理器节点和 I/O 节点互连以形成系统区域网络的一阶互连技术。该架构独立于主机操作系统(OS)和处理器平台。
图 1:IBA 系统区域网络
图中展示了处理器节点、I/O 机箱、交换机、路由器、存储子系统、RAID 子系统、控制台、视频设备以及各种 I/O 模块(SCSI、以太网、光纤通道等)通过 InfiniBand 结构互连的拓扑。
- HCA = 处理器节点中的 InfiniBand 通道适配器
- TCA = I/O 节点中的 InfiniBand 通道适配器
1.2.1 面临的问题
现有的互连技术未能跟上计算机的演进,也未能应对因互联网广泛成功而给数据服务器、应用处理和企业计算带来的日益沉重的负担。高端计算概念(如集群、故障安全、7×24 可用性)要求在处理节点之间以及处理节点与 I/O 设备之间具备更大的数据传输能力。这些趋势需要更高的带宽和更低的延迟,它们推动更多功能下放到 I/O 设备,并要求比目前可用的更强的保护性、更高的隔离性、确定性行为以及更高的服务质量。
1.2.2 特性
InfiniBand 架构(IBA)围绕点对点、交换式 I/O 结构进行设计,端节点设备(范围从非常廉价的 I/O 设备(如单芯片 SCSI 或以太网适配器)到非常复杂的主机计算机)通过级联的交换设备进行互连。IBA 互连的物理特性支持两种主要环境,并针对这些环境优化了带宽、距离和成本:
- 模块到模块:以支持 I/O 模块插槽的计算机系统为典型代表
- 机箱到机箱:以在数据中心环境中互连计算机、外部存储系统和外部 LAN/WAN 接入设备(如交换机、集线器和路由器)为典型代表
IBA 交换式结构提供了一种可靠的传输机制,消息在端节点之间排队等待传递。通常,消息的内容和含义不由 InfiniBand 架构指定,而是由端节点设备的设计者以及托管在端节点设备上的进程来决定。IBA 定义了足够的硬件传输协议,以支持可靠的消息传递(发送/接收)和内存操作语义(例如远程 DMA),而无需在数据移动路径中进行软件干预。IBA 定义了保护和错误检测机制,允许 IBA 事务从特权内核模式(以支持传统的 I/O 和通信需求)或用户空间(以支持新兴的进程间通信需求)发起和终止。
IBA 规范还满足了丰富的可管理性基础设施的需求,以支持多代 IBA 组件在长时间内来自多家厂商的互操作性。该基础设施为大批量、成本敏感型的部署环境提供了易用性和一致的行为。IBA 还指定了行业标准管理接口,可与企业级管理工具互操作,用于数据中心部署 IBA 所需的配置、资产管理、错误报告、性能指标收集和拓扑管理。
1.2.3 优势
尽管 IBA 具有革命性的各个方面,但该架构经过精心设计,以最大限度地减少对现有市场范式和商业惯例的干扰。通过同时支持板和机箱互连,预计厂商能够在当前商业惯例下,在其现有产品的未来几代中采用 InfiniBand 架构技术,以最好地支持客户的需求。
IBA 可以支持的带宽预计将比主流 I/O 介质(SCSI、光纤通道、以太网)高出一个数量级。这确保了它作为使用这些技术连接 I/O 介质的通用互连的角色。IBA 原生使用 IPv6 头部,这进一步加强了这一点,支持 IBA 结构与传统 Internet 和 Intranet 基础设施之间极其高效的连接。
IBA 支持从单台计算机系统的简单实现开始,并可以扩展为包括:复制组件以提高系统可靠性、级联交换式结构组件、额外的 I/O 单元以实现可扩展的 I/O 容量和性能、额外的主机节点计算元素以实现可扩展的计算,或上述任意组合。InfiniBand 架构是一种革命性的架构,使计算机系统能够满足客户对增强可扩展性、增强带宽、降低 CPU 利用率、高可用性、高隔离性以及对 Internet 技术支持日益增长的需求。
作为一阶网络设计,IBA 专注于将数据移入和移出节点的内存,并针对独立的控制和内存接口进行优化。这允许硬件与节点的内存紧密耦合甚至集成,消除了任何性能障碍。IBA 足够灵活,可以作为二阶网络实现,允许遗留和迁移。即使作为二阶网络实现,IBA 的内存优化操作也允许最大可用带宽利用率并提高 CPU 效率。
1.3 范围
IBA 支持从单台主机的背板互连到由多个独立和集群的主机及 I/O 组件组成的复杂系统区域网络等一系列应用。
对于单主机环境,如图 2 所示,每个 IBA 结构充当其主机的私有 I/O 互连,并提供主机 CPU/内存与多个 I/O 模块之间的连接。对于此环境,所有设备都专用于该主机。
图 2:单主机环境
图中展示了处理器节点通过交换机连接到一个 I/O 机箱,该机箱包含 SCSI、以太网、光纤通道、图形和视频等 I/O 模块。
另一端是多主机连接,如图 1 所示。在这里,单个结构甚至多个结构互连众多主机和各种 I/O 单元。某些主机可能共享 I/O 设备,而另一些则不共享。主机之间的进程间通信成为一个非常重要的目标。对于网络管理员希望维护隔离并确保确定性行为的复杂环境,简单的结构管理不再足够。
该架构不仅指定了 I/O 和进程间通信的机制,还指定了一套广泛的管理机制,这些机制足够灵活,既允许单主机环境而不带来不必要的负担和昂贵的结构管理器,同时支持非常复杂的系统区域网络(SAN)和功能丰富的结构管理。
1.4 文档组织
1.4.1 卷系列
InfiniBand 规范性规范套件包含两卷:
- 第一卷:指定核心 InfiniBand™ 架构。它提供了交换机、路由器、用于处理器节点的主机通道适配器、用于 I/O 设备的目标通道适配器以及管理所需的 IBA 操作规范性信息。
- 第二卷:指定电气和机械配置。它指定了多种不同物理介质和信令速率的要求,定义了机械外形尺寸,并指定了物理和机箱管理要求。第二卷已分为三个部分:
- 当前的第二卷规范可在 IBTA 成员区获取。
- 第二卷 - DEPR - 已弃用功能。
- 第二卷 - COMP - 合规性声明摘要。
独立附录:IBTA 规范是活文档,附录可以在发布后添加,并可以在下一版规范中添加回去。但目前有两个独立附录,并且意图是它们将永远独立存在。在第一卷 1.3 版发布时,这两个独立附录如下:
- 附录 A16 RoCE
- 附录 A17 RoCE-v2
1.4.2 第一卷组织结构
(原文未展开具体内容)
1.5 文档约定
1.5.1 字节序
本规范使用大端字节序。对于大于一个字节的字段,这意味着每个字段的最高有效字节首先传输,如图 3 所示。
除非另有明确说明,否则本文档的文本按传输顺序列出字段。在大多数情况下,多字节字段对齐以在 32 位边界上开始或结束。为清楚起见,某些图以 32 位字顺序显示字段。这些字采用大端格式,面向小端处理的目标实现需要特别注意字节序,以确保正确操作,因为小端处理倾向于将最低有效字节放在较低的字节偏移处。
图 3:多字节字段的字节顺序
| 字节偏移 | 内容 |
|---|---|
| +0 | 最高有效字节 |
| +1 | 第二高有效字节 |
| … | … |
| +n | 最低有效字节 |
图 4:字节顺序示例
图中展示了不同长度字段(8 位、16 位、24 位、32 位、48 位、64 位、128 位)在内存中的排列方式。字节偏移按 0-3、4-7 等分组,每个组内按大端格式排列。
图 5:位顺序示例
位字段(粒度非字节)遵循相同的规则——即字段的最高有效位占据最低字节偏移的高位,最低有效位在最低字节偏移中,如图 5 所示。
图中展示了 5 位字段、3 位字段、2 位字段、6 位字段、4 位字段、12 位字段、14 位字段等在字节边界上的排列方式。
1.5.2 数值
除非另有说明,没有限定符的数值为十进制。本文档使用以下限定符:
0x前缀表示十六进制值(例如,0x15F7)b'前缀表示二进制值(例如,b’0110)
在表头中,冒号用于指定位范围(例如,Bits 7:0),该列中的表值为二进制数。
两个数字之间的破折号表示范围(例如,0-3 = 零到三)。
全局 ID 是 128 位值,格式指定为:
value:value:value:value:value:value:value:value其中每个值代表一个 4 位十六进制数(例如,FF02:0:0:0:0:0:0:1)。
1.6 免责声明
与任何文档一样,本规范可能会因正确性、清晰性和增强而进行勘误。InfiniBandSM 贸易协会在 http://www.InfiniBandTA.org 维护一个网站。请访问该网站以查看本规范的勘误和更新。