欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

作者:由鹅厂网事发表在云+社区

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。

毫无疑问,人工智能是近年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互联架构

  1. 硬件时延。网络设备转发、转发跳数以及光纤距离都会影响网络时延,优化方案是尽量使用两级”Fat-Tree”减少网络转发层级,升级网络速率以更高的波特率转发数据,以及部署低时延交换机(最低0.3us);
  2. 网络丢包。当网络由于拥塞造成缓冲区溢出丢包,服务器侧需要重传整个数据段,造成时延的严重恶化。常用解决方案有:通过增加交换机缓存、网络带宽来提高扛拥塞能力,进行应用层算法优化规避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的触发时间

除了主流的大缓存、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计算网络

腾讯AI计算网络属于生产网络的一部分,除了需要与其他网络模块通信,还需要对接网管、安全等后台系统,因此只能选择与现网兼容的以太网方案。计算网络的架构随着业务需求的增长经历了多次迭代,从最早支持80个40G节点的HPC v1.0,持续演进至今天支持2000个100G节点的HPC v3.0。

计算网络中的计算节点作为资源池供整个公司各部门共同使用,这就使得网络面临着多业务流量并发拥塞的问题。对于承载单一业务的网络,可以通过应用层算法调度规避网络拥塞,但当多业务共享网络时,就不可避免出现多业务流量的并发拥塞,即使有队列保护、流控机制等手段减少网络丢包,也会由于服务器的降速造成集群计算能力损失。同时,PFC的缺陷也不适宜在多级网络中开启,需要限制其生效范围。因此,我们的设计思路是:

  1. 从物理上隔离业务,采用高密设备作为接入设备,尽量将一个部门的节点集中在一个接入设备下,限制跨设备集群的数量;
  2. 只在接入设备开启PFC保证快速反压,在全网开启ECN保护跨设备集群;
  3. 对于小量跨设备集群,围棋提供足够的网络带宽减少拥塞,并采用大缓存交换机解决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集群需求有限,减少了互联模块,反而比传统盒式接入、一比一收敛比的方案成本更低。

总结

在很长一段时间,网络都不是数据中心性能的瓶颈,基于”大带宽”的网络设计可以满足业务应用需求。但近些年来,服务器技术的快速发展带动了数据中心计算、存储能力的飞速提高,而RoCE、NVME over Fabric等RDMA技术将数据中心的性能瓶颈转移到了网络侧。特别是对于HPC、分布式存储、GPU云、超融合架构这些基于RDMA的新型应用来说,网络时延已经成为制约性能的主要因素。因此,可以预见到,未来数据中心的设计目标会逐步从带宽驱动走向时延驱动,如何构建低时延、无损的大型以太网数据中心,并建立完整的缓存、时延监控机制,会是我们长期探索的目标。

注1:凡注明来自“鹅厂网事”的文字和图片等作品,版权均属于“深圳市腾讯计算机系统有限公司”所有,未经官方授权,不得使用,如有违反,一经查实,将保留追究权利;

注2:本文图片部分来至互联网,如涉及相关版权问题,请联系kevinmi@tencent.com

问答

AI会对我们的生活带来什么影响?

相关阅读

央视-腾讯发布报告:九成受访者认为AI 距离自己并不遥远

AAAI 独家 | 腾讯AI Lab 现场陈述论文:使众包配对排名聚合信息最大化的 HodgeRank

重磅独家 | 腾讯AI Lab AAAI18现场陈述论文:用随机象限性消极下降算法训练L1范数约束模型


此文已由作者授权腾讯云+社区发布,转载请注明文章出处

 原文链接:https://cloud.tencent.com/developer/article/1037628

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。

毫无疑问,人工智能是近年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互联架构

  1. 硬件时延。网络设备转发、转发跳数以及光纤距离都会影响网络时延,优化方案是尽量使用两级”Fat-Tree”减少网络转发层级,升级网络速率以更高的波特率转发数据,以及部署低时延交换机(最低0.3us);
  2. 网络丢包。当网络由于拥塞造成缓冲区溢出丢包,服务器侧需要重传整个数据段,造成时延的严重恶化。常用解决方案有:通过增加交换机缓存、网络带宽来提高扛拥塞能力,进行应用层算法优化规避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的触发时间

除了主流的大缓存、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计算网络

腾讯AI计算网络属于生产网络的一部分,除了需要与其他网络模块通信,还需要对接网管、安全等后台系统,因此只能选择与现网兼容的以太网方案。计算网络的架构随着业务需求的增长经历了多次迭代,从最早支持80个40G节点的HPC v1.0,持续演进至今天支持2000个100G节点的HPC v3.0。

计算网络中的计算节点作为资源池供整个公司各部门共同使用,这就使得网络面临着多业务流量并发拥塞的问题。对于承载单一业务的网络,可以通过应用层算法调度规避网络拥塞,但当多业务共享网络时,就不可避免出现多业务流量的并发拥塞,即使有队列保护、流控机制等手段减少网络丢包,也会由于服务器的降速造成集群计算能力损失。同时,PFC的缺陷也不适宜在多级网络中开启,需要限制其生效范围。因此,我们的设计思路是:

  1. 从物理上隔离业务,采用高密设备作为接入设备,尽量将一个部门的节点集中在一个接入设备下,限制跨设备集群的数量;
  2. 只在接入设备开启PFC保证快速反压,在全网开启ECN保护跨设备集群;
  3. 对于小量跨设备集群,围棋提供足够的网络带宽减少拥塞,并采用大缓存交换机解决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集群需求有限,减少了互联模块,反而比传统盒式接入、一比一收敛比的方案成本更低。

总结

在很长一段时间,网络都不是数据中心性能的瓶颈,基于”大带宽”的网络设计可以满足业务应用需求。但近些年来,服务器技术的快速发展带动了数据中心计算、存储能力的飞速提高,而RoCE、NVME over Fabric等RDMA技术将数据中心的性能瓶颈转移到了网络侧。特别是对于HPC、分布式存储、GPU云、超融合架构这些基于RDMA的新型应用来说,网络时延已经成为制约性能的主要因素。因此,可以预见到,未来数据中心的设计目标会逐步从带宽驱动走向时延驱动,如何构建低时延、无损的大型以太网数据中心,并建立完整的缓存、时延监控机制,会是我们长期探索的目标。

注1:凡注明来自“鹅厂网事”的文字和图片等作品,版权均属于“深圳市腾讯计算机系统有限公司”所有,未经官方授权,不得使用,如有违反,一经查实,将保留追究权利;

注2:本文图片部分来至互联网,如涉及相关版权问题,请联系kevinmi@tencent.com

未来已来,腾讯AI计算网络的更多相关文章

  1. 【转载】NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法

    原文:NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩.机器学习及最优化算法 导读 AI领域顶会NeurIPS正在加拿大蒙特利尔举办.本文针对实验室关注的几个研究热点,模型压缩.自 ...

  2. ECCV 2018 | UBC&腾讯AI Lab提出首个模块化GAN架构,搞定任意图像PS组合

    通常的图像转换模型(如 StarGAN.CycleGAN.IcGAN)无法实现同时训练,不同的转换配对也不能组合.在本文中,英属哥伦比亚大学(UBC)与腾讯 AI Lab 共同提出了一种新型的模块化多 ...

  3. 未来已来:云原生 Cloud Native

    作者:天知,原文链接 前言 自 2013 年容器(虚拟)技术(Docker)成熟后,后端的架构方式进入快速迭代的阶段,出现了很多新兴概念: 微服务 k8s Serverless IaaS:基础设施服务 ...

  4. 腾讯 AI Lab 计算机视觉中心人脸 & OCR团队近期成果介绍(3)

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:周景超 在上一期中介绍了我们团队部分已公开的国际领先的研究成果,近期我们有些新的成果和大家进一步分享. 1 人脸进展 人脸是最重要的视觉 ...

  5. 中国最强AI超级服务器问世,每秒提供AI计算2000万亿次

    https://mp.weixin.qq.com/s/1EVczHp11OJ4GEjeE3z5cA 业内唯一以“AI计算”为核心的人工智能大会昨天发布了一份重要报告. 9月12日,<中国AI计算 ...

  6. 昇腾AI计算,618冲动消费也不怕

    摘要:近期大热的图像识别处理核赔技术,可应对剁手党们冲动购物之后汹涌而至的退货场景.那么,这背后运用的技术原理是怎样? AI计算平台又能否重构企业业务引擎呢? 随着AI技术的挖掘与应用落地,也为每一年 ...

  7. 端云协同,打造更易用的AI计算平台

    内容来源:华为开发者大会2021 HMS Core 6 AI技术论坛,主题演讲<端云协同,HUAWEI HiAI Foundation打造更易用的AI计算平台>. 演讲嘉宾:华为海思AI技 ...

  8. 腾讯AI开放平台的使用

    一.腾讯AI开放平台 https://ai.qq.com/ 二.腾讯AI平台支持的功能 三.签名机制 1.计算步骤 用于计算签名的参数在不同接口之间会有差异,但算法过程固定如下4个步骤. 1.将< ...

  9. 腾讯AI开放平台的接口调用指南

    最近无意发现腾讯AI开放平台上提供了大量好玩的人工智能云服务,而且是完全免费的.只需要用QQ号登录即可.这么好的东西,作为一个程序员,当然要试试了! 从上图可以看出腾讯AI开放平台提供的人工智能服务主 ...

随机推荐

  1. NGUI的新手引导的实现

    先声明一下,UNITY新手,如果说的有不对的地方,欢迎各位大神指正. 最近在项目需要实现新手引导,最基础的需求就是需要一个带黑色遮罩的引导UI,类似下图这种: 对,就是这么敷衍的UI,因为是我随手做的 ...

  2. easyui验证扩展

    问题描述: 如上所示:当用户添加信息时,必须保证一个队伍一天只能有一条数据.所以在选择了报表日期的时候必须查询数据库里面当前队伍这一天的数据是否存在.如果不存在,即当前日期队伍没有数据,就可以进行数据 ...

  3. 深入分析Java ClassLoader的原理(转)

    一.什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程 ...

  4. 搭建VUE项目的准备(利用vue-cli来构建项目)

    首先需要明确的是:Vue.js 不支持 IE8 及其以下 IE 版本,一般用与移动端,基础:开启最高权限的DOS命令(否则会出现意外的错误提示)   注意:个人小推荐如果我们不知道如何才能开启最高权限 ...

  5. Shell 编程入门

    首先创建一个文件: 在终端中输入如下命令: vi helloworld.sh 然后按i进行命令编写 下面这句话是必须写的 #!/bin/sh这句话是必须写的 #!/bin/sh a="hel ...

  6. 对于java中的"\"和"/" 区别

    "\"在mac系统和类Unix 系统中是识别不出来的,对于java这种跨平台的语言来说不宜使用这个符号 "/"使用这个符号一般 都可以被识别

  7. C# 13行代码带你模拟登录QQ空间

    最近想做一个QQ空间点赞的小工具,于是晚上下班回来就开始分析PC版的QQ空间,打开Chrome,切换到Network,然后输入账号密码,然后点击登录... 然后,我曹....一堆请求就开始了....搞 ...

  8. linux分析apache日志获取最多访问的前10个IP

    apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数. 既然是统计,那么awk是必不可少的,好用而高效. 命令如下: awk '{a[$1] += ...

  9. mysql修改记录

    增加一列:alter table bf_agt_dep_acct_sap_sub add column cust_age varchar(10) not null; 改变属性:alter table ...

  10. Ubutu Chrome 出现adobe flash is out of date的解决方法

    我们需要到官网下载flash player,网址:https://get.adobe.com/flashplayer/ 不过这里要说明一下: 一般的浏览器使用的是npapi,即adobe flash ...