欢迎你们前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~算法
"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,咱们但愿与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。安全
毫无疑问,人工智能是近年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互联架构并发
数据中心网络硬件环境相对固定,依靠升级硬件下降时延的效果很是有限,更多仍是经过减小网络拥塞来下降时延。所以对于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的触发时间
除了主流的大缓存、PFC、ECN,业界还提出了基于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计算网络属于生产网络的一部分,除了须要与其余网络模块通讯,还须要对接网管、安全等后台系统,所以只能选择与现网兼容的以太网方案。计算网络的架构随着业务需求的增加经历了屡次迭代,从最先支持80个40G节点的HPC v1.0,持续演进至今天支持2000个100G节点的HPC v3.0。
计算网络中的计算节点做为资源池供整个公司各部门共同使用,这就使得网络面临着多业务流量并发拥塞的问题。对于承载单一业务的网络,能够经过应用层算法调度规避网络拥塞,但当多业务共享网络时,就不可避免出现多业务流量的并发拥塞,即便有队列保护、流控机制等手段减小网络丢包,也会因为服务器的降速形成集群计算能力损失。同时,PFC的缺陷也不适宜在多级网络中开启,须要限制其生效范围。所以,咱们的设计思路是:
综合高密接入、大缓存、端到端反压等需求,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集群需求有限,减小了互联模块,反而比传统盒式接入、一比一收敛比的方案成本更低。
在很长一段时间,网络都不是数据中心性能的瓶颈,基于”大带宽”的网络设计能够知足业务应用需求。但近些年来,服务器技术的快速发展带动了数据中心计算、存储能力的飞速提升,而RoCE、NVME over Fabric等RDMA技术将数据中心的性能瓶颈转移到了网络侧。特别是对于HPC、分布式存储、GPU云、超融合架构这些基于RDMA的新型应用来讲,网络时延已经成为制约性能的主要因素。所以,能够预见到,将来数据中心的设计目标会逐步从带宽驱动走向时延驱动,如何构建低时延、无损的大型以太网数据中心,并创建完整的缓存、时延监控机制,会是咱们长期探索的目标。
注1:凡注明来自“鹅厂网事”的文字和图片等做品,版权均属于“深圳市腾讯计算机系统有限公司”全部,未经官方受权,不得使用,若有违反,一经查实,将保留追究权利;
注2:本文图片部分来至互联网,如涉及相关版权问题,请联系kevinmi@tencent.com
问答
AI会对咱们的生活带来什么影响?
相关阅读
此文已由做者受权腾讯云+社区发布,转载请注明文章出处
原文连接:https://cloud.tencent.com/developer/article/1037628