UPLI允许系统中最多 1024 个加速器或端点使用 10 位标识符进行通信。交换机使用 10 位的源加速器标识符和目标加速器标识符,在发送方和接收方之间对请求和响应进行路由。所有请求都应携带源加速器标识符和目标加速器标识符,响应也携带源加速器标识符和目标加速器标识符,但在路由时只需要目标标识符,保留源标识符是为了辅助调试。
如图1-1 所示,加速器结构交换机通过由UALink 通道组成的 UALink 链路连接“M”个加速器。一个通道是一对信号,一个用于发送,一个用于接收,并且 UALink 通道可以组合成单通道链路(x1 链路)、双通道链路(x2 链路)和四通道链路(x4 链路)。每个交换机的通道数量以及交换机和加速器的分叉能力将决定每个交换机可以连接多少个加速器。
一个Pod(节点集群)包含通过 UALink 交换机连接的最大数量的加速器。交换机被定义为一个逻辑实体,其端口数量(基数)等于 Pod 中加速器的数量。交换机上的每个端口应连接到一个不同的加速器。除非进行了分区,否则交换机可以将自身的任何一个端口连接到其他任何一个端口。交换机的数量应等于加速器上的端口数量(Pod 中的所有加速器应具有相同数量的端口)。
在这些限制条件下,UALink交换机以这样一种方式连接 Pod 中的加速器:一个加速器上的每个端口只能与其他每个加速器上的单个端口进行通信。
虚拟Pod 是 Pod 中由一个或多个加速器组成的一组,这些加速器可以相互通信,但不能与 Pod 中的任何其他加速器通信。可以通过将交换机划分为每个交换机上不重叠的端口子集,从而将 Pod 划分为多个虚拟 Pod。一个子集中的端口可以相互通信,但不能与该子集之外的任何端口通信。交换机应提供一种配置分区的机制。
Pod中的交换机可以在硬件上通过物理交换机来实现,物理交换机的基数等于 Pod 中加速器的数量,在这种情况下,对物理交换机进行分区会直接创建虚拟 Pod。然而,如果物理交换机的基数等于 Pod 中加速器数量的大于 1 的整数倍,那么应首先将物理交换机划分为若干个交换机。然后,这些交换机可以进一步分区以创建虚拟 Pod。
无论物理交换机如何分区或虚拟Pod 如何分区,Pod 中的所有加速器都有唯一的加速器 ID。虚拟 Pod 中的所有加速器端口,进而所有交换机端口,都共享相同的安全(加密/认证)设置。
本规范应支持每个通道的最大数据速率为200 GT/s(千兆传输每秒),以及最大链路宽度为 4 个通道。一个 UALink 站(或简称为站)被定义为一组 4 个 UALink 通道。一个 UALink 站可以进行分叉,以连接到一条 x4-UALink 链路(或简称为链路)、两条 x2 链路或四条 x1 链路。UALink 链路应连接在两个不同设备上的 UALink 端口之间(在本图中,是加速器(ACC)上的一个端口和 UALink 交换机上的一个端口)。每个 UALink 站的最大带宽应为 800 吉比特每秒(Gbps)。
信令速率通常更高(212.5 GT/s),以便适应以太网第一层用于前向纠错码(FEC)以及额外的第一层编码所消耗的带宽。