By Ricky
UItra以太网联盟致力于从物理层、链路层、传输层和软件层改进以太网技术。在兼容当前以太网生态系统的前提下,提高以太网的转发性能,致力于完善以太网通信协议和应用接口。它还改进了存储、管理、安全结构和遥测能力,使UItra以太网技术能够满足人工智能和高性能计算的网络需求。
Ultra以太网联盟将需要重点关注的网络类型确定为Type2网络(后端网络),并不反对其在Type1网络(前端网络)中使用,但不会降低Type2的网络性能,因为它需要适应Type1。
UEC工作组
UEC最初成立了物理层、链路层、传输层、软件层四个工作组,取得了突出的成果。最近,存储、管理、兼容性与测试、性能与测试调试工作组已经成立,刚刚开始工作。下图为UEC的工作组:
物理层工作组
物理层工作组致力于提高物理性能、减少延迟并改进以太网物理基础设施的管理。它包括以太网物理层规范、电信号和光信号特性、应用接口和数据结构的开发。其目标是让基础更加牢固,并确保以太网能够满足人工智能和高性能计算的严格要求。目前物理层工作组致力于制定100G/Lane和200G/Lane的PHY(端口物理层)规范,并确定了100G/Lane介质类型以及PHY支持的速率和类型。200G/Lane的规格将在IEEEP802.3djis批准后确定。
物理层工作组引入了链路质量预测的几个新概念:UCR(不可纠正码字比)、MTBPE(PHY错误之间的平均时间)和MTTFPA(错误数据包接受的平均时间),致力于更准确地预测和测量物理层链路质量。
链路层工作组
链路层工作组致力于提高链路层传输的可靠性和效率,提高链路层遥测能力。
链路层的主要研究方向有:
链路层可靠性
在链路层添加LLR子层,位于LLC和MACCONTROL子层之间,用于链路层端到端错误数据包重传。
基于信用的流量控制
支持链路层端到端基于信用的流量控制机制,管理链路间帧的无损传输。采用CBFC(Credit-BasedFlowControl)机制来替代PFC流控。接收方定期向对方发送缓冲区空间,发送方根据消息优先级和缓冲区大小发送消息。缓冲区空间还可以用于自适应路由选择。
包速率提升
它致力于以太网报文头的压缩,以提高帧传输效率。以太网在长期的演进过程中,报文头不断膨胀,导致传输效率较低。许多领域还没有使用智能计算网络。因此,压缩报文头、提高帧传输效率势在必行。
报文头中需要有一个标志来指示消息是压缩的还是未压缩的,以便压缩消息和未压缩消息在网络中共存。发送方可以在不影响原有功能的情况下选择是否压缩消息。
目前,报文头压缩有多种解决方案,正在讨论中。
协商
它建立了链路层参数和特性的协商方法。链路层的一些新功能(例如LLR、CBFC和PRI)需要协商才能支持。主要思想是扩展LLDP并添加UECOUI,用于设备之间新链路层功能的协商。
传输层工作组
UET(UEC传输层)工作组致力于最具挑战性的应用扩展、可靠的消息传输、安全的数据传输、避免网络拥塞。其目标是解决RoCE传输的不足,提供高效、可靠、安全的大规模传输。目标传输端点达到256,000个,支持的进程数达到100,000,000个。
UET的主要模块如下图所示:
UET包含三个模块:数据包传送、安全性和语义。各模块功能如下:
数据包传送子层(PDS)
PDS包含可靠性和拥塞管理两个模块。
可靠性模块需要满足三个关键要求:
● 极致的可扩展性
● 消息有序传输
● 无序消息传输
可靠性模块设计有四种消息传输模式,每种模式都有其特定的用途,以满足HPC、AI、ML等应用场景。四种消息传输模式是:
可靠、有序的交付(ROD)
该模式按顺序传输消息,适用于需要有序传输消息的应用。
可靠、无序的运营交付(RUD)
这种模式只能向语义层传输一次消息,但可以容忍网络中的无序传递。可靠传输层需要检测重复的消息,以确保每条消息只能传输到语义层一次。
幂等操作的可靠、无序交付(RUDI)
该模式针对RDMA(远程直接数据存取)的读写操作进行了优化。
不可靠、无序交付(UUD)
不可靠消息可以承载UET的许多新语义。UDD的用户不需要可靠传输而使用其他可靠性方法。
拥塞管理模块还在研究中,包括拥塞管理和负载均衡,可以基于各个FEP进行拥塞管理。其核心是基于接收方信用的流量控制。拥塞控制定义了窗口大小和注入速率。目标是降低速率并限制消息,以避免中间节点和端点的拥塞。路径负载平衡定义了特定消息选择的路径,ECMP(等价路由)可用于选择路径。
运输安全
传输安全是UET设计的重中之重,所有数据有效负载和大多数传输标头都可以选择加密和身份验证。
语义
● UET语义层提供高性能和高可扩展的操作,实现专业化的人工智能和全功能的HPC部署。
● 语义层是用户软件和PDS(消息传递层)之间的桥梁。语义层定义了一系列操作,例如发送、接收、写入、读取等。该层提供可选的排序,包括各种可选的发起者和目标完成通知能力。
● 语义层提供无连接调用API,必须原生支持*CCL、MPI、OpenSHMEM等API。
软件层工作组
软件层通过使用libfabric API作为数据平面框架,兼容当前广泛采用的各种通信库(例如*CCL、MPI和SHMEM),促进了UEC的快速采用。它定义了各种加速器和FEP之间的交互,包括相关的加速器API。它定义了交换机、FEP和聚合管理器(AM)的控制平面和数据平面机制,以允许不同UEC供应商之间的互操作性。它满足了UEC支持多种工作负载配置文件的需求。
软件层需要为INC做的工作包括:
● 使用INC的集合通信(libfabric)定义一个API(使用C语言)。
● 定义一个发现机制来确认可用的INC卸载功能。
● 定义这些库用于与聚合管理器(AM)通信的RPC接口。指定AM与提供INC资源的UEC交换机之间通信所使用的RPC接口。
● OpenConfig扩展,用于配置网络设备的FEP(由AM配置),以实现集体通信卸载以及性能和错误监控。
● 具有多个功能配置文件的INC兼容网络设备的行为。指导UEC传输协议的开发,使INC技术可以轻松应用于硬件实现。