"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营, 我们希望与业界各位志同道合的伙伴交流切磋最新的网络服务器行业动态信息, 同时分享腾讯在网络与服务器领域, 规划运营研发服务等层面的实战干货, 期待与您的共同成长
毫无疑问, 人工智能是近年 IT 界最火的研究方向, 特别在 2016 年 Alpha GO 这一标志性事件后, 国内外科技巨头持续加大对人工智能的投入目前, 人工智能的主要方向如图像识别语音识别等等都是通过机器学习的方式, 借助强大的计算平台对海量数据进行分析计算, 随着数据量的增长, 单机性能已逐渐无法满足计算的需求, 需要使用高性能计算 (HPC, High Performance Computing) 集群来进一步提升计算能力
HPC 集群是将多个计算节点组织在一起协同计算的分布式系统, 它一般使用 iWARP/RoCE/IB 等 RDMA(Remote Direct Memory Access)技术来完成计算节点内存间数据的快速交换如图 1 所示, RDMA 网卡可以从发送节点地址空间中取出数据, 直接传送到接收节点的地址空间中, 整个交互过程无需内核内存参与, 从而大大降低了服务器侧的处理时延同时, 网络作为 HPC 集群的一部分, 任何传输阻滞都会造成计算资源的浪费为了最大化集群计算能力, 通常要求网络在 10us 内完成 RDMA 流量的传递因此, 对于支撑 HPC 的网络来说, 时延是影响集群计算性能的首要指标
在实际部署中, 影响网络时延的主要因素有:
图 1 RDMA 互联架构
硬件时延网络设备转发转发跳数以及光纤距离都会影响网络时延, 优化方案是尽量使用两级 Fat-Tree 减少网络转发层级, 升级网络速率以更高的波特率转发数据, 以及部署低时延交换机(最低 0.3us);
网络丢包当网络由于拥塞造成缓冲区溢出丢包, 服务器侧需要重传整个数据段, 造成时延的严重恶化常用解决方案有: 通过增加交换机缓存网络带宽来提高扛拥塞能力, 进行应用层算法优化规避 incast 场景减少网络拥塞点, 以及部署流控技术通知源端降速以消除拥塞等
数据中心网络硬件环境相对固定, 依靠升级硬件降低时延的效果非常有限, 更多还是通过减少网络拥塞来降低时延因此对于 HPC 网络, 业界更多聚焦在无损网络的研究上, 目前较成熟的解决方案有有损网络配合流控协议, 和工业无损网络两个方向
业界常用的网络方案
有损网络及流控协议
以太网采用尽力而为的转发方式, 每个网元尽力将数据交给下游网元, 而不关心对方的转发能力, 这样就可能造成下游网元的拥塞丢包, 因此, 以太网是一种不保证可靠传输的有损网络数据中心中多采用可靠的 TCP 协议来传递数据, 但以太网 RDMA 报文多为 UDP 报文, 这就需要部署缓存管理流控技术减少网络侧丢包
PFC(Priority Flow Control)是一种基于队列的反压协议, 拥塞网元根据通过发送 Pause 帧通知上游网元降速来防止缓冲区溢出丢包, 在单机场景下, PFC 可以快速有效的调节服务器速率来保证网络不丢包, 但是在多级网络中, 就可能出现线头阻塞 (如图 2) 不公平降速 PFC 风暴等问题, 而且当有异常服务器向网络中注入 PFC 报文时, 还可能造成整个网络瘫痪因此, 在数据中心开启 PFC, 需要通过对 Pause 帧进行严格的监控管理, 以保证网络的可靠性
图 2 PFC 的线头阻塞问题
ECN(Explict Congestion Notification)是基于 IP 的端到端流控机制
图 3 ECN 降速过程
如图 3 所示, 当交换机检测到有端口缓存占用, 会在转发时将报文的 ECN 字段置位, 目的端网卡根据报文特征生成通告报文, 精确通知源端网卡降速 ECN 避免了线头阻塞问题, 能够实现流级别的精确降速, 但由于其需要网卡侧生成反压报文, 响应周期较长, 因此通常作为 PFC 的辅助手段, 用来减少网络中 PFC 的数量, 如图 4 所示, ECN 应具有更小的触发阈值, 在 PFC 生效前完成流量的降速
图 4 PFC 和 ECN 的触发时间
除了主流的大缓存 PFCECN, 业界还提出了基于 RDMA 字段的 HASH 大象流的整形基于队列长度的 HASH 算法 DRILL 带宽换缓存算法 HULL 等解决方案, 但这些方案大多需要网卡交换芯片的支持, 短期较难规模部署
工业无损网络
图 5 IB 流控机制
Infiniband 是专为高性能计算存储设计的互联架构, 完整定义了一到七层协议栈, 具有低时延无损转发的特点如图 5,IB 网络采用基于 credit 的流控机制, 发送者在链路初始化时为每个队列协商初始 Credit, 标明了能向对端发送的报文数, 接受者根据自身的转发能力, 实时同时发送者刷新每个队列的 Credit, 当发送者 Credit 耗尽, 则停止发包由于网元网卡都必须得到授权才能发包, 因此 IB 网络不会出现长时间拥塞, 是能够保证可靠传输的无损网络 IB 提供了 15 个业务队列来区分流量, 不同队列的流量不会出现线头阻塞同时, IB 交换机采用 Cut-through 转发模式, 单跳转发时延约 0.3us, 远低于以太网交换机
因此, 对于小型 HPC 存储网络来说, IB 是极佳的选择, 但 IB 也存在与以太网不兼容产品形态单一等问题, 较难融入腾讯生产网中
腾讯 AI 计算网络
腾讯 AI 计算网络属于生产网络的一部分, 除了需要与其他网络模块通信, 还需要对接网管安全等后台系统, 因此只能选择与现网兼容的以太网方案计算网络的架构随着业务需求的增长经历了多次迭代, 从最早支持 80 个 40G 节点的 HPC v1.0, 持续演进至今天支持 2000 个 100G 节点的 HPC v3.0
计算网络中的计算节点作为资源池供整个公司各部门共同使用, 这就使得网络面临着多业务流量并发拥塞的问题对于承载单一业务的网络, 可以通过应用层算法调度规避网络拥塞, 但当多业务共享网络时, 就不可避免出现多业务流量的并发拥塞, 即使有队列保护流控机制等手段减少网络丢包, 也会由于服务器的降速造成集群计算能力损失同时, PFC 的缺陷也不适宜在多级网络中开启, 需要限制其生效范围因此, 我们的设计思路是:
从物理上隔离业务, 采用高密设备作为接入设备, 尽量将一个部门的节点集中在一个接入设备下, 限制跨设备集群的数量;
只在接入设备开启 PFC 保证快速反压, 在全网开启 ECN 保护跨设备集群;
对于小量跨设备集群, 围棋提供足够的网络带宽减少拥塞, 并采用大缓存交换机解决 ECN 反压周期长的问题
综合高密接入大缓存端到端反压等需求, HPCv3.0 架构选择了使用 BCM DUNE 系列芯片的框式交换机作为接入设备
图 6 HPC3.0 架构
如图 6 所示, HPC v3.0 为两级 CLOS 架构, 汇聚设备 LC 接入设备 LA 均为 BCM DUNE 芯片的框式交换机, 每台 LA 最多可接入 72 台 40G/100G 服务器, 考虑到当前大部分应用的集群规模在 10~20 个节点, 并且未来计算节点性能提升算法的优化也会进一步限制集群规模的增大, 因此 72 台足以满足单个业务的计算需求 DUNE 线卡支持 4GB 的缓存, 能够缓存 ms 级拥塞流量, 同时支持基于 VoQ 的端到端流控方案 (图 7), 能够借助 PFC 实现同机框下服务器的精确降速虽然框式交换机的转发时延(4us) 会大于盒式交换机(1.3us), 但考虑到减少了多级转发丢包拥塞带来的时延恶化, 并不会影响集群性能
图 7 DUNE 芯片端到端流控
从成本上看, 虽然框式交换机单端口成本高于盒式交换机, 但是由于单 LA 的节点已可以满足大部分计算需求, 跨 LA 集群需求有限, 减少了互联模块, 反而比传统盒式接入一比一收敛比的方案成本更低
总结
在很长一段时间, 网络都不是数据中心性能的瓶颈, 基于大带宽的网络设计可以满足业务应用需求但近些年来, 服务器技术的快速发展带动了数据中心计算存储能力的飞速提高, 而 RoCENVME over Fabric 等 RDMA 技术将数据中心的性能瓶颈转移到了网络侧特别是对于 HPC 分布式存储 GPU 云超融合架构这些基于 RDMA 的新型应用来说, 网络时延已经成为制约性能的主要因素因此, 可以预见到, 未来数据中心的设计目标会逐步从带宽驱动走向时延驱动, 如何构建低时延无损的大型以太网数据中心, 并建立完整的缓存时延监控机制, 会是我们长期探索的目标
注 1: 凡注明来自鹅厂网事的文字和图片等作品, 版权均属于深圳市腾讯计算机系统有限公司所有, 未经官方授权, 不得使用, 如有违反, 一经查实, 将保留追究权利;
来源: https://www.cnblogs.com/qcloud1001/p/8573526.html