网络级DMA(NDMA)技术需求白皮书 2023_第1页
网络级DMA(NDMA)技术需求白皮书 2023_第2页
网络级DMA(NDMA)技术需求白皮书 2023_第3页
网络级DMA(NDMA)技术需求白皮书 2023_第4页
网络级DMA(NDMA)技术需求白皮书 2023_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11版权声明ODCC(开放数据中心委员会)发布的各项成果,受《著作权法》保护,转载、摘编或利用其它方式使用ODCC成果中的文字或者观点的,应注明对于未经著作权人书面同意而实施的剽窃、复制、修改、销售、改编、汇编和翻译出版等侵权行为,ODCC及有关单位将追究其法律责任,感谢各单位I编写组全新的社会生产力,对整个经济社会发挥着而业界主流的实现是使用点对点传输,如RDM I II III 1 2 4 4 5 6 6 7 8 11 14 14 15 15 16 18 20 20V 22 26 26 27 28网络级DMA技术需求白皮书一、高性能分布式系统承载大规模算力需求(一)全球算力高速增长全球算力的高速增长是当今数字时代的一个显著特征。从最初的单机计算到现在的云计算、分布式计算等技术,全球算力已经达到了惊人的规模。算力已不仅是一个技术维度的概念,更成为了一种全新的社会生产力,对整个经济社会发挥着越来越重要的作用。个国家一个地区发达程度的重要指标。高算力国家,包括美国、新未来,随着全球智能化进程的加速,人工智能、云计算、大数全球算力每年以惊人的速度增长,预计到2030年,全球算力规模达1平均年增速达27%;智能算力达到52.5ZFlops,平均年增速超过(二)分布式系统承载大规模高复杂度算力任务算力需求的高速增长,使得算力任务的规模越来越大,复杂度在年增长速度最快的人工智能领域,随着ChatGPT的诞生,AI大模型再次受到业界的关注。AI大模型是指由大量参数组成的深度学习模型,通常包含数百万到数十亿个参数。这些模型可以通过大自然语言处理等。AI大模型的规模逐年快速增长,如图2所示。型参数量大约超过100万亿个。AI大模型由于其复杂性和规模,需2超算算力年增长速度仅次于人工智能。超算系统通常由数以万数据分析和模拟等任务,广泛应用于科学研究、工程设计、天气预报、金融分析等领域。图3是世界最强超算算力TOP500给出的自1990年起超算算力的进步趋势,并进行了线性回归。图中的三条线分别是上榜超算的总算力,榜单冠军的算力以及榜单第500名超算的算力。可以看到,超算算力几乎按照摩尔定律在提升,从G级到不管是人工智能还是超算,其算力任务都呈现出规模扩大、复杂度提升的趋势,远超单个计算机或服务器的处理能力。因此,需要高性能分布式系统,通过网络连接提供海量计算、存储资源,从而承载大规模算力任务,突破单机算力和存储的限制,提供高并发3(三)通信效率影响分布式系统性能系统的加速比体现了分布式系统的性能。根据阿姆达尔定律,可以计算出系统的加速比。阿姆达尔定律是一个计算机科学界的经验法则,它代表了处理器并行运算之后效率提升的能力,其计算公式表述如下。其中,S为系统加速比,p为并行度占比,s为并行节点数。增加并行节点数,可以提升系统加速比,而当s→∞时,并简化的形式展现了了计算任务执行的基本过程。图中,蓝色部分是节点并行计算的过程,当并行阶段结束后,进入串行通信的过程,即并行阶段的输出发送到其他节点作为下一并行阶段的输入,只有当通信完成,各节点获得相应输入后,才能将计算任务向前推进,二、分布式系统以多对多集合通信为主4(一)什么是集合通信及其原语集合通信是一种通信方式,它将多个通信对象(如进程、线程等)组合在一起,以实现一次调用实现向多个对象发送数据,或从多个对象接收数据。集合通信常用于分布式系统并行计算中,协助常见的集合通信可以进一步抽象为广播、散布、聚集等操作。其中,广播操作将数据发送给所有通信对象;散布操作将数据分散给多个通信对象;聚集操作将多个通信对象的数据合并到一个对象MPI是常见的用于并行计算的通信框架,它定义了多种集合通信原语,AI场景中经常使用的AllReduce就是一种MPI通信原语,如图5所示,经过AllReduce操作后,原先各节点上A、B、C、D的子集被进行了聚合或归一化,最终各节点均获取到A、B、C、D5(二)分布式系统中集合通信的调用应用通过调用集合通信,在进程或线程间完成数据交互,从而向前推进分布式系统任务。除了点对点的通信外,很大一部分的交Chunduri,ScottParker,PavanBalaji,KevinHarmsandKalyan),因此,提升多对多集合通信的传输效率对分布式系统性能的整三、大规模集合通信面临性能挑战6(一)集合通信实现现状应用调用集合通信原语后,网络完成数据的传输,实现集合通信操作。应用不感知网络的动作行为,集合通信原语可以有多种实现方式。由于目前常用的传输层协议仅支持点到点传输,对于多对多的通信,通常都是在网络上转换成点到点通信,即应用一次集合如图7所示。这种方式可以应用于AIParameterServer结果分发,存储系统多副本写等。源节点将同一份消息依次发送给多个目的节点,实质上是一种带宽资源的浪费,易形成带宽瓶颈链路。另一种为中这种方式虽然减少了带宽瓶颈,但每个中间节点在进行转发时,都需要网络层与应用层交互,引入额外CPU处理带来的延迟开销。这两种方式下,都会引入了与通信规模线性相关的额外开销,且无法7为了提升集合通信的传输效率,业界不断探索着新的优化,主(二)高性能传输协议的发展及其挑战传输协议的发展集中在端侧创新,通过高性能端到端的传输来优化点到点通信,中间网络无感知。RDMA就是最具有代表性的高RDMA(RemoteDirectMemoryAccess)允许在不经过CPU的情况下,直接在主机内存之间传输数据。传统的网络通信方式需要这些操作会占用大量的CPU资源,导致网络传输速度变慢。而RDMA将数据从发送端的内存直接传输到接收端的内存,通过0拷贝(不需要用户空间和内核空间中来回复制数据)、内核Bypass(数据流程绕过内核),和CPU卸载(在CPU不参与通信的情况),8RDMA最主要的传输模式是RC(ReliableConnection),即可靠连接,是一种点到点的传输方式。如图10所示,RDMARC模式下,收发两端创建QP(QueuePair),并建立QP之间一对一的连接关系,之后在建立好的连接上顺序发送消息,由PSN(Packet但这种模式存在扩展性问题。由于每对通信进程间都需要建立QP连接,若有N个节点,每个节点P个进程,所有进程间Full-在通信过程中,QP的上下文在协议栈处理过程中也会被频繁访问修改。当规模扩大时,系统对QP状态维护开销增大,且网卡需要与主机内存交互读取相应QP上下文,加剧传输性能下降。有测试表9明,商用网卡在QP数量超过256时,吞吐即会出现明显的下降,ScalableArchitectureforRDMANICs[J].除了扩展性问题,RDMARC模式还存在长尾延迟问题。同一个QP内的消息必须按照请求下发的顺序依次按序传输。如果发送端先后下发了两个传输请求,分别对应着1GB的消息和1KB的消息,则1KB消息必须等待1GB消息传输完成后才能被传输,使得网络上走相同的传输路径,所以极易在网络上产生流量不均,尤其尽管RDMA还定义了另外两种模式,分别是UD(UnreliableDatagram)和RD(ReliableDatagram),但UD模式没有可靠性保因此,为了改善RDMA规模扩展性和传输长尾延迟的问题,业界衍生出了两种传输连接优化的技术路线,分别是连接复用和无连连接复用的主要实现方式有多种,包括共享接收队列(SharedReceiveQueue,SRQ),即一个进程共享同一个的接收队列;扩展可靠连接(ExtendedReliableConnection,XRC),即一个进程对于相同目地服务器上的所有进程共享同一个发送QP;动态连接传输(Dynamically-connectedtransport,DCT),间并不预先建立连接,而是在运行过程中根据实际通信需求动态建立连接,通信完毕后再关闭连接。这些实现在不同程度上减少了需无连接的主要实现方式为,网卡仅承担Datagram级可靠传输,应用处理乱序重排及拥塞流控,每个节点状态维护压力与节点进程实现。无连接实现的出发点在于软件的快速迭代,具有较好的灵活性,网卡扩展性好,但它放弃了RDMA硬件卸载协议栈的优势,加(三)在网计算的发展及其挑战在网计算是一种通信加速技术,体现了数据中心从“以计算为在数据搬移的过程中完成计算,从而提升通信效率,加速应用。常见的在网计算场景包括在网聚合、在网缓存等,已初步展现了该技术的应用价值。Nvidia的SHARP(ScalableHierarchicalAggregation让RDMA连接在交换机上终结,实现在网聚合与数据的组播分发,在网计算目前仍处于起步阶段,对于在网计算的整体框架以及学术上,研究者们发表了大量在网计算方面的文章,其中不乏顶尖学术会议上的论文。比如2021年NSDI会议的最佳论文ATP),它面向分布式机器学习场景,定义了一套由主机和可编程交换机交对分布式训练的网络传输进行数据聚合优化,在网络中提供了尽力而为的聚合服务。再比如2020年OSDI会议论文Pegasus,它针对在分布式存储系统中选择性复制不能很好的应对动态变化负载,且实现强一致性代价较大的问题,基于UDP设计了主机和交换机之间新的传输协议,报文格式如图15所示,实现交换机上的不仅如此,在网计算也引起了标准组织的关注。IRTF(InternetResearchTaskForce)是一个由IAB(InternetArchitectureBoard)授权对一些相对远期的网络问题进行研究的组织,与IETF(InternetEngineeringTaskFo式成立了COIN(ComputingintheNetwork)研究组。该工作组将针对应用场景、功能架构、新传输机制等展开研究,目前仍处于应用可以看到,在网计算正在成为未来提升系统性能重要的技术方向。然而在当前的发展中,在网计算的设计呈现出碎片化的状态,难以形成标准,其中一个很主要的原因就是统一传输框架的缺失。由于在网计算常常涉及到多对多的通信场景,而当前的网络传输集中于点到点的方式,缺乏面向多对多通信的原生设计,这就使得开发出了各种私有传输协议来支持,带来生态发展的局限,阻碍在网四、NDMA应对大规模集合通信需求(一)NDMA概念NDMA的全称是NetworkDMA,它是网络中一存访问技术。直接内存访问DMA是计算系统中常见的技术,它允许外部设备直接访问内存中的数据,而无需经过CPU的处理。DMA应用于单个节点内部,提高了单个节点内数据传输效率。基于DMA的理念,发展出了远程直接内存访问RDMA。RDMA允许远程服务器或主机直接访问本地内存,而无需经过本地CPU的干预,极大降低了端到端的传输时延。RDMA侧重于在两个节点之间完成点到点的数据传输访问。NDMA是对现有远程直接内存访问技术的增强,着重面向网络中的一组节点进行内存直读、直写操作,最优NDMA旨在将集合通信多对多操作的逻辑从应用层面下沉到网络,实现集合通信“一栈直达”,即应用对集合通信原语的一次调仍以集合通信中的组播为例。在NDMA的方式下,组播源络层面上只需要发送一次数据,由网络上的交换机节点进行复制转发,将数据报文发送到多个组播组节点,并完成数据在组播组节点中的内存直接访问操作。整个过程中,数据报文只经过一次Tx+Rx(二)NDMA的基本模式和应用价值组播是一种1对多的传输,是分布式计算系统中最常使用的通信模式之一。在超算系统Mira中,MPI_bcast原语的执行时间占MPI通信总时间的14%,时间占比在MPI集合通信原语中仅次于用作HPCTop500榜单排名测试的应用HPL,其通信以组播模式为主。在HPL中,每一轮计算循环中包含3部分通信。其中,第2部分“Panel广播”即一列计算进程分别把将数据组播给同一行的其他进程,第3部分“行交换”过程包含一行计算进程分布把数据NDMA的组播模式利用交换机完成组播报文的复制分发,以网络层组播替代应用层组播,避免了相同数据的重复发送,使得组播任务完成时间逼近理论最优值(即数据量与带宽之比),在大规模下相比于应用层组播任务完成时间有显著减少,从而降低HPL过程AI计算中使用基于参数服务器(ParameterServer,PS)的数据并行方法解决训练数据规模过大导致的训练时间过长的问题。如图18所示,PS训练方法将训练数据集分割成多个batch放置在不同的多个worker将训练好的数据(模型参数或者梯度)发送到PS进行合并更新,然后PS将更新后的数据下发到每个worker,开启新一轮的训练。训练循环往复,直至模型收敛。在此过程中,所有worker在大数据应用中,MapReduce是典型的一种计算框架。如图19所示,Map并行执行,其输出结果作为Reduce的输入,由Reduceworker完成规约化简操作。并行的map任务会成为每个reduce任务的输入流量,且map与reduce之间形成多组多对一的通信关系,使得交换机承受多个多对一流量,出端口缓存压力增大,影响并行计采用聚播技术,数据在经过交换设备时,会先进行聚合,再转发聚合结果,缓解了瓶颈点的带宽和缓存压力,有效避免因网络性任播是一种1对1的操作,但其特殊点在于接收端是一组节点中的一个,发送端可以选择其中任意一个发送数据,任意一个接收到数据的接收端都可以完成数据处理。企业存储系统是一个典型的应用场景。在该场景下,存储系统一般由两张网络构成,前端业务网络和后端存储网络,如图22所示。前端业务网络中,通常由存储或者控制命令请求。控制器完成请求处理后,根据一定的负载均衡前端客户网络和后端存储网络相对解耦,客户端通常会随机下发请求。而控制器由于负载分担以及数据打散的需求,会有很大概率将请求转发至归属节点进行处理,从而引入有损分布式系统性能端到端I/O流程所花费时延,包括主机下发请求、协议栈处理、全节点归属,系统性能还受限于“水平时延”,即控间交互流程所花费时延,包括归属查找、I/O请求转发、跨引擎数据搬移等。水平时延的引入会导致客户端请求的额外转发,处理时延加剧,系统整体任播技术可以通过网络交换机随路地进行负载分担逻辑处理,从而避免占用阵列侧控制器过多的CPU资源和控间转发带来的带宽(三)NDMA技术架构NDMA是一个由网络端侧节点和网络转发节点相互协同,共同构成的统一传输框架,提供对集合通信的原生支持。该框架支持三种基本模式的远端直接内存访问,分别是组播、聚播和任播,能够应用于大规模通信场景,且不绑定特定的网络层协议,具有更强的从协议栈层次划分来看,NDMA框架包含对网络层、传输层和),从组件构成来看,NDMA框架中包括网络转发设备(如交换机)、网络端侧设备(如服务器侧网卡/CPU)和通信应用软件(如转发路由表具有一定的业务逻辑,如在存储任播场景下,转发设备感知后端存储系统的从属关系,从而建立相应的转发表。转发设备能够识别端测报文所属类型,如组播、聚播、任播,根据报文类型网络端侧设备负责建立和维护面向集合通信的传输连接。新的传输连接匹配多对多通信范式,与转发设备协同配合,根据应用需求构建传输通信组,通信组内灵活支持三种基本模式的连接关系,通信应用软件具备调用NDMA类型接口的能力。集合通信操作的输入输出不发生改变,应用对集合通信原语的调用逻辑无变化,但原语的实现需要新增面向NDMA多对多传输连接所对应的动作和从连接方式来看,以RoCEv2(RDMARC)为代表的进程级连接,和以SRD为代表的无连接,是两个极端方向的连接机制设计。进程级连接实现复杂度低,易于硬件卸载,利用硬件卸载协议栈极大降低了端到端传输时延。然而,进程级连接两端固定,连接数量多,规模扩展受限。这种方式效率高但资源压力大。与之相反的无连接方式,将乱序重排、拥塞控制等和功能收归CPU,网卡负担减轻,使得扩展性得到极大提升,但是回退到了软件处理方式,时延这两种方式的连接都无法满足大规模分布式应用的需求。NDMA根据应用任务的特征,引入“通信组”概念。所谓通信组,指的是参与一个分布式任务的多个有相互通信需求的进程。NDMA基于通信组建立了介于进程级连接和无连接之间新的连接方式,即组级的连接共享。组级连接相对于进程级连接,极大程度降低了连接数。在N个节点,每节点P个进程的场景下,进程级连接的数量级为O(N*P*P),而组级连接的数量级仅为O(1),如图27所示。并且,通信组的划分与应用任务相对应,任务确定后,通信组可靠性包含三个层面的含义,分别是数据完整性,数据还原性数据完整性指的是数据无丢失,丢包情况下需要重传。发送端根据报文应答消息来检测是否丢包。发送端设置定时器,在定时器否则,发送端认为报文丢失,需要重传,这其中包括显式收到接收端发送过来的丢包指示消息,如NACK,也包括在定时器时间内未收到接收端任何应答消息。重传的方法分为Go-back-N和选择重传。RoCEv2基于RDMA的重传机制使用Go-Back-N,即重传丢失的数据报文N之后的所有数据报文。相比于Go-back-N这种低效的重传方式,选择重传只需要重传丢失的单个数据报文,因此丢包带来的数据还原性指的是数据发出的顺序和数据接收的顺序一致,最终传到用户层的数据不能乱序。最常见的保序方式是让同一个流(flow)在网络上走相同的路径,源和目的相同的流量被认为是同一个流,网络转发设备对同一个流执行同样的转发规则,保证选择按照flowlet的粒度在网络上发送,flowlet内同一路径顺序转发,NDMA的可靠性机制遵循上述三个层面的含义,通过网络转发在数据完整性上,接收端通过报文应答消息ACK/NACK指示报文的接收状态,网络设备则需要根据多对多通信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论