System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术的实施例总体涉及数据处理领域,并且更具体地涉及用于数据传输同步的系统、方法及计算设备。
技术介绍
1、直接存储器访问单元(dma),通常被配置在诸如图形处理单元(gpu)、现场可编程逻辑门阵列(fpga)、专用集成电路(asic)等的ai芯片上,以用于实现数据的搬运,例如,数据在系统存储器和设备存储器之间的搬运,或者数据在设备存储器内部的搬运。进一步地,当处于高性能计算的应用场景下,dma能够支持例如广播(broadcast)、归约运算(reduce)等通信操作,以进行数据传输(又称数据搬运或数据复制)。
2、在传统的用于数据传输同步的方案中,需要多个命令队列(command queue)以实现多个dma之间的数据传输同步,在进行细粒度数据传输同步时,通常需要在命令队列包括大量命令,使得产生额外开销。
技术实现思路
1、针对上述问题,本专利技术提供了一种用于数据传输同步的系统、方法及计算设备,使得能够实现数据细粒度的同步的同时,减少命令队列中包括的命令数量,节省数据传输中的额外开销。
2、根据本专利技术的第一方面,提供了一种用于数据传输同步的系统,其特征在于,包括:多个直接存储访问单元,直接存储访问单元被配置为基于接收到的命令,从源地址读取数据或将数据写入目标地址,其中多个直接存储访问单元中的每个直接存储访问单元包括:第一计数模块和第二计数模块,多个直接存储访问单元中的至少一个直接存储访问单元的第一计数模块被配置为通过总线访问多个直接存储访问单元中
3、在一些实施例中,第一计数模块包括环形缓冲区域,第一计数模块被配置为基于存入环形缓冲区域的数值来统计数据的量。
4、在一些实施例中,环形缓冲区域的头指针和尾指针之间的位置是基于数据传输同步的粒度确定的。
5、在一些实施例中,第二计数模块,被配置为基于接收到的同步信号进行计数,以便发起数据读取请求,其中第二计数模块包括至少一个计数器。
6、根据本专利技术的第二方面,提供了一种用于数据传输同步的方法,包括:确定多个直接存储访问单元中的至少一个直接存储访问单元接收到的命令的类型,多个直接存储访问单元中的每个直接存储访问单元包括:第一计数模块和第二计数模块;响应于接收到的命令与写入数据有关,启用至少一个直接存储访问单元的第一计数模块,以便由第一计数模块的统计数据确定已写入的数据的量是否达到阈值数量;以及响应于已写入的数据的量达到阈值数量,经由总线向需要同步的多个直接存储访问单元中的至少另一个直接存储访问单元的第二计数模块发送同步信号,以便至少另一个直接存储访问单元与至少一个直接存储访问单元进行数据传输同步。
7、在一些实施例中,第一计数模块包括环形缓冲区域。
8、在一些实施例中,由第一计数模块的统计数据确定已写入的数据的量是否达到阈值数量包括:基于环形缓冲区域的头指针与尾指针之间的区域的存储状态,确定已写入的数据的量是否达到阈值数量。
9、在一些实施例中,基于环形缓冲区域的头指针与尾指针之间的区域的存储状态确定已写入的数据的量是否达到阈值数量包括:基于接收到写入数据的响应,将特定数值存入环形缓冲区域中,环形缓冲区域的头指针指示存入特定数值的起始位置处;以及响应于环形缓冲区域的头指针与尾指针之间的区域存满特定数值,确定已写入的数据的量达到阈值数量。
10、在一些实施例中,用于数据传输同步的方法还包括:响应于接收到的命令与读取数据有关,启用至少一个直接存储访问单元的第二计数模块,其中第二计数模块经由总线接收至少另一个存储访问单元的第一计数模块发送的同步信号;以及基于接收到的同步信号,由至少一个直接存储访问单元发起读取数据请求。
11、在一些实施例中,第二计数模块包括至少一个计数器。
12、在一些实施例中,基于接收到的同步信号由至少一个直接存储访问单元发送读取数据请求包括:由至少一个直接存储访问单元的第二计数模块接收至少另一个直接存储访问单元的第一计数模块发送的同步信号;响应于接收到同步信号,至少一个直接存储访问单元的第二计数模块的至少一个计数器的值加1;以及响应于至少一个直接存储访问单元的第二计数模块的至少一个计数器的值加1,由至少一个直接存储访问单元发起一次读取数据请求。
13、根据本专利技术的第三方面,提供了一种计算设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本专利技术的第二方面的方法。
14、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种用于数据传输同步的系统,其特征在于,包括:多个直接存储访问单元,所述直接存储访问单元被配置为基于接收到的命令,从源地址读取数据或将数据写入目标地址,
2.根据权利要求1所述的系统,其特征在于,所述第一计数模块包括环形缓冲区域,所述第一计数模块被配置为基于存入环形缓冲区域的数值来统计数据的量。
3.根据权利要求2所述的系统,其特征在于,所述环形缓冲区域的头指针和尾指针之间的位置是基于数据传输同步的粒度确定的。
4.根据权利要求1所述的系统,其特征在于,所述第二计数模块,被配置为基于接收到的同步信号进行计数,以便发起数据读取请求,其中所述第二计数模块包括至少一个计数器。
5.一种用于数据传输同步的方法,其特征在于,包括:
6.根据权利要求5所述的方法,其特征在于,所述第一计数模块包括环形缓冲区域,由所述第一计数模块的统计数据确定已写入的数据的量是否达到阈值数量包括:
7. 根据权利要求6所述的方法,其特征在于,基于所述环形缓冲区域的头指针与尾指针之间的区域的存储状态确定已写入的数据的量是否达到阈值数量包括
8. 根据权利要求5所述的方法,其特征在于,还包括:
9.根据权利要求8所述的方法,其特征在于,所述第二计数模块包括至少一个计数器,基于接收到的同步信号由所述至少一个直接存储访问单元发送读取数据请求包括:
10.一种计算设备,包括:
...【技术特征摘要】
1.一种用于数据传输同步的系统,其特征在于,包括:多个直接存储访问单元,所述直接存储访问单元被配置为基于接收到的命令,从源地址读取数据或将数据写入目标地址,
2.根据权利要求1所述的系统,其特征在于,所述第一计数模块包括环形缓冲区域,所述第一计数模块被配置为基于存入环形缓冲区域的数值来统计数据的量。
3.根据权利要求2所述的系统,其特征在于,所述环形缓冲区域的头指针和尾指针之间的位置是基于数据传输同步的粒度确定的。
4.根据权利要求1所述的系统,其特征在于,所述第二计数模块,被配置为基于接收到的同步信号进行计数,以便发起数据读取请求,其中所述第二计数模块包括至少一个计数器。
5....
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:北京壁仞科技开发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。