面向阵列处理平台的动态可配置广播多播通信方法及系统与流程

摘要: 本发明涉及集成电路设计及片上网络通信,尤其涉及面向阵列处理平台的动态可配置广播多播通信方法及系统。背景技术:1、在阵列式并行计算平台中,广播通信和多播通信是实现...
面向阵列处理平台的动态可配置广播多播通信方法及系统与流程

本发明涉及集成电路设计及片上网络通信,尤其涉及面向阵列处理平台的动态可配置广播多播通信方法及系统。

背景技术:

1、在阵列式并行计算平台中,广播通信和多播通信是实现权重同步、配置下发及数据共享的核心技术,直接决定了并行计算系统的通信效率与同步性能。目前行业内主流阵列处理平台的通信架构,大多仅支持基础的点对点单播传输。少数支持广播功能的方案,也仅能实现全阵列固定目标的广播,无法动态配置广播目标子集,缺乏灵活的多播分组能力。并且广播传输与单播传输共用传输通道,易出现通道冲突与传输阻塞,无法实现广播通信及多播通信与单播通信的并行传输,严重制约了阵列式并行计算平台的通信效率与功能扩展性。

2、现有技术存在以下核心缺陷。第一,广播目标固定,灵活性极差。现有广播方案仅支持全阵列广播,无法动态指定任意处理单元子集作为广播目标,针对部分处理单元的配置需求仍需进行全阵列广播,造成带宽浪费,无法适配处理单元分组计算及差异化配置的实际应用场景。第二,多播能力缺失,无法适配分组计算场景。现有方案缺乏标准化的多播分组能力,无法预配置多播组,无法通过多播组标识快速实现分组数据传输,针对多组差异化并行计算场景仍需多次单播或全阵列广播,传输效率极低。第三,广播与单播无法并行传输,通道冲突频发。现有方案中广播与单播共用传输通道与虚拟通道,广播传输时易占用单播传输资源,出现通道冲突与数据阻塞,无法实现广播通信及多播通信与单播通信的并行无干扰传输,系统整体传输效率大幅下降。第四,缺乏传输可靠性保障机制,数据一致性差。现有广播方案缺乏接收端确认机制,无法检测目标处理单元的接收状态,易出现数据丢失及接收不同步的问题,无法保证广播传输及多播传输的可靠性与数据一致性。第五,通用性差,无法跨平台适配。现有方案多针对特定阵列平台设计,无法无缝适配粗粒度可重构计算阵列、ai加速阵列、多核处理器阵列等各类阵列处理平台,工业化推广价值低。

技术实现思路

1、本发明提出了面向阵列处理平台的动态可配置广播多播通信方法及系统,旨在解决现有技术中存在的阵列处理平台的一对多通信无法同时实现广播目标的动态可配置、多播分组传输以及广播多播与单播的并行无冲突传输的技术问题。

2、第一方面,本发明提供了面向阵列处理平台的动态可配置广播多播通信方法,包括:

3、接收待传输的数据包,解析所述数据包的包类型字段;

4、当所述包类型字段指示所述数据包为广播包时,解析所述广播包的包头中的广播掩码字段,根据所述广播掩码字段确定目标处理单元集合;

5、当所述包类型字段指示所述数据包为多播包时,解析所述多播包的包头中的多播组标识字段,以所述多播组标识字段为索引查询预配置的多播组表,获取对应的广播掩码,根据所述广播掩码确定目标处理单元集合;

6、生成多个数据包副本,所述数据包副本的数量与所述目标处理单元集合中目标处理单元的数量相同;

7、为每个数据包副本分配与单播数据包物理隔离的专属虚拟通道,通过片上网络将各数据包副本路由至各自对应的目标处理单元。

8、进一步地,所述广播掩码字段的每一位对应阵列中的一个处理单元,置1位所对应的处理单元即为目标接收单元;所述广播掩码字段支持在运行时通过配置寄存器进行动态修改,以调整广播目标处理单元集合。

9、进一步地,所述多播组表包含多播组标识与广播掩码的映射关系,所述多播组表的每个表项还包含有效位,所述多播组表支持在运行时动态修改表项内容,包括新增表项、删除表项及修改已有表项中的广播掩码。

10、进一步地,所述专属虚拟通道配备独立的缓冲队列与流量控制机制,所述缓冲队列与单播虚拟通道的缓冲队列物理隔离;所有广播包和多播包强制使用所述专属虚拟通道,单播包禁止使用所述专属虚拟通道。

11、进一步地,各目标处理单元接收所述数据包副本后,向发送端反馈接收确认信号;发送端实时统计接收到的接收确认信号,将已反馈确认信号的目标处理单元与所述目标处理单元集合进行比对;若预设超时时间内存在未反馈接收确认信号的目标处理单元,则针对该未反馈的目标处理单元重新发送对应的数据包副本;直至所有目标处理单元均反馈接收确认信号后,标记本次广播或多播传输完成。

12、进一步地,所述数据包复制采用零开销复制方式,所述数据包副本共享原始数据包的负载数据存储空间,各数据包副本独立填充各自的目标处理单元坐标字段。

13、进一步地,所述阵列处理平台包括粗粒度可重构计算阵列、ai加速阵列、多核处理器阵列、dsp阵列或片上网络;所述广播掩码的位宽支持8位、16位或32位可配置,所述多播组的最大数量为8个。

14、进一步地,所述接收确认信号携带目标处理单元的单元标识及数据包序列号;发送端以目标处理单元集合为全集,以已确认单元列表为子集进行动态比对,直至全集与子集相等。

15、进一步地,各数据包副本并行路由时,各副本在所述专属虚拟通道内独立路由,互不阻塞,各副本的路由路径由片上网络路由模块基于各副本的目标处理单元坐标并行计算生成,所有副本在同一时钟周期内同时发起路由传输。

16、第二方面,本发明提供了面向阵列处理平台的动态可配置广播多播通信系统,所述系统用于执行所述方法,包括:

17、广播多播处理模块,用于接收待传输数据包,解析所述数据包的包类型字段,当所述包类型字段指示所述数据包为广播包或多播包时,将所述数据包送入广播引擎处理流程;

18、掩码解析模块,用于解析广播包的包头中的广播掩码字段,根据所述广播掩码字段确定目标处理单元集合;

19、多播组表存储模块,用于存储预配置的多播组表,所述多播组表包含多播组标识与广播掩码的映射关系,响应于多播包的查询请求,以所述多播包的包头中的多播组标识为索引,返回对应的广播掩码;

20、数据包复制模块,用于生成多个数据包副本,所述数据包副本的数量与所述目标处理单元集合中目标处理单元的数量相同;

21、虚拟通道分配模块,用于为广播数据包和多播数据包分配与单播数据包物理隔离的专属虚拟通道,并为每个数据包副本分配所述专属虚拟通道;

22、片上网络路由模块,用于通过片上网络将各数据包副本路由至各自对应的目标处理单元。

23、本发明公开的技术方案的技术效果是:

24、第一,采用基于广播掩码的动态广播机制。在数据包包头中设置广播掩码字段,该字段的每一位对应阵列中的一个处理单元,通过将对应位置1或置0来标识该处理单元是否为目标接收单元。运行时仅需修改广播掩码字段即可动态调整广播目标集合,无需修改硬件配置。该机制实现了对任意数量处理单元子集的动态广播,彻底解决了传统广播方案目标固定、灵活性差的问题,大幅节省了带宽资源。

25、第二,采用可预配置的多播分组机制。设置多播组表存储模块,预配置多个多播组表项,每个表项关联存储多播组标识、对应的广播掩码及目标处理单元集合。运行时多播数据包仅需携带多播组标识,通过查表即可快速获取对应的广播掩码,确定目标处理单元集合。该机制使阵列处理平台具备了标准化的多播分组能力,可完美适配分组计算及多任务并发场景。

26、第三,采用广播多播专属虚拟通道隔离机制。为广播数据包和多播数据包分配独立的专属虚拟通道,该专属虚拟通道与单播数据包的虚拟通道完全物理隔离,并配备独立的缓冲队列与流量控制机制。强制所有广播数据包和多播数据包使用专属虚拟通道,单播数据包禁止使用该通道。该机制从根本上避免了广播多播与单播传输的通道冲突,首次实现了三种通信模式的并行无干扰传输,系统整体传输效率大幅提升。

27、第四,采用端到端的接收确认与丢包重传机制。每个目标处理单元成功接收数据包后向发送端反馈接收确认信号,信号中携带该处理单元的单元标识及数据包序列号。发送端实时统计确认信号,将已确认接收的单元与目标集合进行比对,若超时后仍有目标单元未确认,则针对未接收单元重新发送数据包副本。该机制实现了广播多播传输的全流程可靠性保障,确保所有目标处理单元的数据一致性,通信可靠性达到百分之百。

28、第五,采用参数化可配置的系统架构。广播掩码位宽支持8位、16位及32位可配置,多播组数量支持最多8个可配置,虚拟通道分配参数可调,可无缝适配从8个处理单元到1024个处理单元的不同阵列规模。该机制使本发明具备极强的通用性与工业化推广价值。