System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 支持树形和递归迭代算法的全局归约通信卸载方法及装置制造方法及图纸_技高网

支持树形和递归迭代算法的全局归约通信卸载方法及装置制造方法及图纸

技术编号:40453915 阅读:7 留言:0更新日期:2024-02-22 23:11
本发明专利技术公开了一种支持树形和递归迭代算法的全局归约通信卸载方法及装置,本发明专利技术包括在参加全局归约通信卸载操作的报文到达网卡时,根据报文的顺序位Order将报文存储在指定的报文寄存器中,从报文寄存器中按照顺序依次取出报文执行通信卸载:读取报文中的支持算法类型标识AFlag,根据支持算法类型标识AFlag确定报文支持的通信卸载算法为树形算法还是递归迭代算法,并支持报文支持的通信卸载算法执行对应的通信卸载操作。本发明专利技术旨在使得全局归约通信卸载既可以支持树形算法又可以支持递归迭代算法两种全局归约操作的经典算法并支持维序,使得全局归约通信卸载的灵活性和兼容性更好。

【技术实现步骤摘要】

本专利技术涉及计算机通信领域的通信卸载技术,具体涉及一种支持树形和递归迭代算法的全局归约通信卸载方法及装置


技术介绍

1、通信卸载是一种软硬件协同优化聚合通信性能的重要手段,其目的是利用网络设备中特定的设计来减少cpu的参与,将通信卸载到网卡或者其他网络设备上,有效提高计算和通信的重叠率使得性能提升。目前主要有三种通信卸载方式:(1)基于网卡的卸载。计算结点通过网卡连接到网络。网卡(network interface card,nic)最接近终端处理器,因此可用于执行各种网络卸载机制。带有处理器的智能网卡可用于对传入的网络数据执行复杂的操作。它们还可以用于卸载一系列操作然后网卡继续执行,从而释放主处理器以返回计算。以下是过去几十年来领先的高性能网络供应商采用的一些基于nic通信卸载的相关工作:2000年,d.k.panda等人在myrinet上提出了基于软硬件结合(基于卸载模式)的广播操作,此后,他们进一步在myrinet上研究了基于网卡卸载的同步、广播和归约操作,通过性能测试,发现其较软件聚合通信操作的实现,不仅性能有很大的改善,而且使得计算与通信重叠率大幅增加。adammoody等人受此启发,在qsnet中提出基于网卡卸载的归约算法,该算法利用qsnet在网卡端提供的具有简单计算能力的片上处理器核将本需要cpu处理的一些简单的计算操作卸载到网卡端,大大减轻了归约操作时cpu的负担,并且提高了计算和通信的重叠,同时也减少了系统噪声。该归约操作使用nominal树进行层次归约,降低了根结点的负担,提高了归约操作的性能。随着技术的发展和革新,远程直接数据存取(remote directmemory access,rdma)技术被应用于聚合通信加速。使用rdma技术,进程可以直接访问某些其他进程的内存位置,而无需远程进程的参与。infiniband是提供高性能rdma的网络之一。使用rdma原语,可以设计有效的聚合操作。rdma聚合操作相对于常规点对点聚合操作的主要好处是:(a)通信调用可以绕过中间软件层,(b)减少消息副本的数量和来自反弹缓冲区(反弹缓冲区可以由infiniband直接访问),(c)减少协议握手次数以及(d)减少注册操作的总数,即执行一次更大的内存注册,而不是几个小的。由于聚合操作涉及许多过程,因此随着系统规模的扩大,它们的延迟必然会增加。一些研究人员还观察到系统噪声可能会影响阻塞聚合操作的延迟,从而影响最终应用程序的性能。人们普遍认为,隐藏聚合操作的延迟可以极大地有利于并行应用程序的性能。因此,mellanox公司推出了具有卸载功能的connect-x系列网卡。主机处理器可以创建包括发送和接收操作的任意任务列表,并将它们发布到网络接口的工作请求队列。网络接口可以独立地执行设置的询问列表,而无需主机处理器的进一步干预。这种应用程序旁路技术具有最小化系统噪声影响的潜在优势,同时为执行计算任务的应用程序提供更多cpu周期。(2)基于交换机的卸载。网络交换机构成了互连的主干。高性能网络具有点对点链接以最大化性能。高性能网络具有点对点链接以最大化性能。交换机负责将数据包从源结点路由到目标结点。由于交换机处于中心位置,因此聚合通信引入网络是非常具有吸引力的。一些公司也设计了产品来加速聚合通信操作,这些产品的目的是将处理器端的通信和简单计算工作卸载到交换机端,以此来解决软件聚合通信的可扩展性问题,同时提高计算与通信的重叠率和屏蔽系统噪声。如,voltaire(现已与mellanox合并)提出的fabric channel accelerator技术,简称fca。fca是一个软件插包,已经集成到mpi库上。并且,已经实现了映射底层网络拓扑到聚合算法的能力,使得聚合通信操作在算法层能够获取物理拓扑结构的信息,并根据这些信息构建拓扑感知的聚合通信树。在聚合通信树中,一旦聚合通信树的父结点知道了最终结果,则fca仅发送一条消息,就可以利用交换机硬件将结果广播到其他过程。fca还提供了通信隔离专用虚拟网络将聚合通信流量和交换中的其余流量隔离,从而消除与其他类型流量的争用。与以fca为代表的直接利用cpu来加速聚合通信操作不同,scalable hierarchical aggregation protocol(sharp)的相关产品则是智能网络设备的代表,其在硬件上嵌入了自主开发的网络通信协处理器并把聚合通信操作卸载到网络设备中,而sharp本身是一种运行在协处理器上的通信协议,由mellanox公司在2016年发布。这种新型的网络协处理器体系结构的目的是最大程度的减少聚合通信应用程序占用主机cpu,使其性能进一步提高。该协议主要针对的是有大量短报文进行聚合通信,可以在交换机端口复制数据包,从而减少网络流量。与fca相比,sharp使用了专用硬件来卸载聚合操作,进一步提升了聚合通信的性能。在mellanox公司的switchib-2asic交换机上,在128个主机参与的8字节mpi_allreduce操作的情况下,其性能提高了2.1倍,从原来没有加速方式的情况相比完成时间从6.01微秒缩减到2.83微秒。(3)基于专用网络的卸载。这种对聚合操作支持是通过一个专用网络来提供聚合通信支持。点对点和聚合通信操作的通信要求往往不同。聚合操作对延迟和系统噪声非常敏感。ibmblue gene系统中提供了专用架构加速聚合通信操作。计算结点通过五个网络连接:用于点对点消息传递的5d torus网络,全局聚合网络,全局同步和中断网络,以及另外两个用于控制和i/o的以太网网络。全局聚合网络对于加速常用的mpi聚合通信结构非常有效。全局同步网络可以快速同步系统中所有进程的状态。除了硬件支持之外,ibm mpi库还提供了许多高级聚合通信算法,可将硬件资源映射到用户聚合操作。但是,这些现有的全归约算法主要是通过独立于平台的方式进行设计和分析的,它们没有考虑由特定网络拓扑和协议引起的特定影响。

2、基于网卡的卸载是三种通信卸载方式中更易操作的一种,只需要修改网卡微体系结构就可以实现,其中通信算法是网卡聚合通信卸载执行的关键。网卡聚合通信卸载中的全局归约操作包括树形算法、支持递归迭代算法两种经典算法。在现有技术的设计中,大多数网卡只是支持树形算法,如portals接口设计。但是如何实现同时支持树形算法和递归迭代算法的全局归约操作通信卸载,则仍然是一项亟待解决的技术问题。


技术实现思路

1、本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种支持树形和递归迭代算法的全局归约通信卸载方法及装置,本专利技术旨在使得全局归约通信卸载既可以支持树形算法又可以支持递归迭代算法两种全局归约操作的经典算法并支持维序,使得全局归约通信卸载的灵活性和兼容性更好。

2、为了解决上述技术问题,本专利技术采用的技术方案为:

3、一种支持树形和递归迭代算法的全局归约通信卸载方法,包括:

4、s101,在参加全局归约通信卸载操作的报文到达网卡时,根据报文的顺序位order将报文存储在指定的报文寄存器中,报文的顺序位order表示树形本文档来自技高网...

【技术保护点】

1.一种支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,包括:

2.根据权利要求1所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,步骤S101中在参加全局归约通信卸载操作的报文到达网卡时的判断包括:在报文到达网卡后读取到达网卡的报文中的聚合通信卸载标识CCO的值,若聚合通信卸载标识CCO的值为1,则判定参加全局归约通信卸载操作的报文到达网卡,否则判定该报文不是参加全局归约通信卸载操作的报文,将报文按照非全局归约通信卸载操作的普通报文处理,结束并退出。

3.根据权利要求1所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,步骤S101中根据报文的顺序位Order将报文存储在指定的报文寄存器中包括:判断报文的顺序位Order对应编号的报文寄存器的顺序位Order存储位是否为空,若该顺序位Order存储位为空,则将报文存储在报文的顺序位Order对应编号的报文寄存器中,若该顺序位Order存储位非空,则报错并结束本次全局归约通信,结束并退出。

4.根据权利要求3所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,所述采用树形算法执行通信卸载操作包括:

5.根据权利要求3所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,所述采用递归迭代算法执行通信卸载操作包括:

6.根据权利要求4或5所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,所述结束本次全局归约通信时还包括将计数器CP_counter置零。

7.一种支持树形和递归迭代算法的全局归约通信卸载装置,其特征在于,包括报文寄存器、报文全局归约通信卸载处理逻辑以及被触发报文先进先出队列,所述报文寄存器包括顺序位Order存储位以用于记录报文中的顺序位Order,所述被触发报文先进先出队列用于存储报文全局归约通信卸载处理的报文并输出,所述报文处理逻辑分别与报文寄存器以及被触发报文先进先出队列相连,所述报文全局归约通信卸载处理逻辑被编程或配置以执行权利要求1~6中任意一项所述支持树形和递归迭代算法的全局归约通信卸载方法。

8.根据权利要求7所述的支持树形和递归迭代算法的全局归约通信卸载装置,其特征在于,还包括计数器CP_counter,所述计数器CP_counter用于全局归约通信卸载的计数,所述计数器CP_counter和报文全局归约通信卸载处理逻辑相连。

9.一种支持树形和递归迭代算法的全局归约通信卸载装置,包括相互连接的微处理器和网卡,其特征在于,所述网卡被编程或配置以执行权利要求1~6中任意一项所述支持树形和递归迭代算法的全局归约通信卸载方法。

10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序用于被微处理器编程或配置以执行权利要求1~6中任意一项所述支持树形和递归迭代算法的全局归约通信卸载方法。

...

【技术特征摘要】

1.一种支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,包括:

2.根据权利要求1所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,步骤s101中在参加全局归约通信卸载操作的报文到达网卡时的判断包括:在报文到达网卡后读取到达网卡的报文中的聚合通信卸载标识cco的值,若聚合通信卸载标识cco的值为1,则判定参加全局归约通信卸载操作的报文到达网卡,否则判定该报文不是参加全局归约通信卸载操作的报文,将报文按照非全局归约通信卸载操作的普通报文处理,结束并退出。

3.根据权利要求1所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,步骤s101中根据报文的顺序位order将报文存储在指定的报文寄存器中包括:判断报文的顺序位order对应编号的报文寄存器的顺序位order存储位是否为空,若该顺序位order存储位为空,则将报文存储在报文的顺序位order对应编号的报文寄存器中,若该顺序位order存储位非空,则报错并结束本次全局归约通信,结束并退出。

4.根据权利要求3所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,所述采用树形算法执行通信卸载操作包括:

5.根据权利要求3所述的支持树形和递归迭代算法的全局归约通信卸载方法,其特征在于,所述采用递归迭代算法执行通信卸载操作包括:

6.根据权利要求4或5所述的支持树形和递归迭代算法的全局归约通...

【专利技术属性】
技术研发人员:雷斐谢旻张伟董勇肖立权王睿伯常俊胜齐星云周恩强迟万庆邬会军张文喆李佳鑫吴振伟葛可适杨梨花
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1