一种异构内存池并发访问方法、装置、设备及存储介质制造方法及图纸

技术编号:38726930 阅读:7 留言:0更新日期:2023-09-08 23:18
本发明专利技术公开了一种异构内存池并发访问方法、装置、设备及存储介质,涉及内存访问技术领域。该方法包括:获取数据处理模型相关的输入数据,并对所述输入数据进行拆分得到对应的数据块;将所述数据处理模型相关的模型参数存储至动态随机存取内存,并将所述数据块存储至持久性内存;根据所述持久性内存中每个所述输入数据以及所述输入数据对应的数据块,构建二层索引;获取至少两个数据处理任务的读取请求,根据所述读取请求和所述二层索引并行访问所述持久性内存,以从所述持久性内存中读取目标数据块至所述动态随机存取内存,以便根据所述目标数据块和所述模型参数执行数据处理。能够高效的利用异构内存,提升内存的并发访存效率。率。率。

【技术实现步骤摘要】
一种异构内存池并发访问方法、装置、设备及存储介质


[0001]本专利技术涉及内存访问
,特别涉及一种异构内存池并发访问方法、装置、设备及存储介质。

技术介绍

[0002]传统的内存由动态随机存储内存(DRAM,DynamicRandomAccessMemory)单一组成,但随着近几年先进存储技术的飞速发展,涌现出基于多种存储技术的异构内存架构,如由动态随机存储内存和非易失性内存构成的异构内存架构。人工智能数据处理模型通常需要利用内存池存储应用初始所需的数据集和生成的临时结果,如何更好的在数据处理过程中利用异构内存是目前亟需解决的问题。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种异构内存池并发访问方法、装置、设备及存储介质,能够高效的利用异构内存,提升内存的并发访存效率。其具体方案如下:第一方面,本专利技术公开了一种异构内存池并发访问方法,包括:获取数据处理模型相关的输入数据,并对所述输入数据进行拆分得到对应的数据块;将所述数据处理模型相关的模型参数存储至动态随机存取内存,并将所述数据块存储至持久性内存;根据所述持久性内存中每个所述输入数据以及所述输入数据对应的数据块,构建二层索引;获取至少两个数据处理任务的读取请求,根据所述读取请求和所述二层索引并行访问所述持久性内存,以从所述持久性内存中读取目标数据块至所述动态随机存取内存,以便根据所述目标数据块和所述模型参数执行数据处理。
[0004]可选的,所述对所述输入数据进行拆分得到对应的数据块,包括:根据所述输入数据和所述模型参数分别对应的尺寸参数,按照预设拆分规则对所述输入数据进行拆分,以得到尺寸大于所述模型参数且与所述模型参数的尺寸成比例的数据块。
[0005]可选的,所述根据所述输入数据和所述模型参数分别对应的尺寸参数,按照预设拆分规则对所述输入数据进行拆分,包括:计算所述输入数据的宽与所述模型参数的宽的第一比值,将所述第一比值和第一比例参数的乘积作为所述数据块的宽;计算所述输入数据的长与所述模型参数的长的第二比值,将所述第二比值和第二比例参数的乘积作为所述数据块的长;根据所述数据块对应的长和宽对所述输入数据进行拆分。
[0006]可选的度,对所述输入数据进行拆分,以使拆分后相邻的两个数据块包含部分重
复数据。
[0007]可选的,所述获取重复宽度,包括:根据卷积操作的特征确定出所述重复宽度。
[0008]可选的,所述根据卷积操作的特征确定出所述重复宽度,包括:获取卷积操作对应的步长,计算所述模型参数的宽与所述步长的差值;比较所述差值与所述步长的数值大小,并将数值较大的作为所述重复宽度。
[0009]可选的,所述从所述持久性内存中读取目标数据块至所述动态随机存取内存,包括:根据所述持久性内存的大小和所述动态随机存取内存的大小,以及所述输入数据的内存占用大小和所述模型参数的内存占用大小,从所述持久性内存中读取目标数据块至所述动态随机存取内存。
[0010]可选的,所述根据所述持久性内存的大小和所述动态随机存取内存的大小,以及所述输入数据的内存占用大小和所述模型参数的内存占用大小,从所述持久性内存中读取目标数据块至所述动态随机存取内存之前,还包括:确定异构内存池中异构内存的大小;所述异构内存包括持久性内存和动态随机存取内存;确定输入数据的内存占用大小以及所述模型参数的内存占用大小。
[0011]可选的,所述确定输入数据的内存占用大小以及所述模型参数的内存占用大小,包括:根据所述输入数据和所述模型参数分别对应的尺寸参数和目标数据类型,分别计算所述输入数据和所述模型参数的内存占用大小。
[0012]可选的,所述尺寸参数包括长、宽和通道数;所述目标数据类型为浮点型。
[0013]可选的,所述分别计算所述输入数据和所述模型参数的内存占用大小,包括:计算所述输入数据对应的长、宽、通道数和所述目标数据类型的位数的乘积,得到所述输入数据的内存占用大小;计算所述模型参数对应的长、宽、通道数和所述目标数据类型的位数的乘积,得到所述模型参数的内存占用大小。
[0014]可选的,所述根据所述读取请求和所述二层索引并行访问所述持久性内存,以从所述持久性内存中读取目标数据块至所述动态随机存取内存,包括:根据所述读取请求和所述二层索引并行访问所述持久性内存,以从所述持久性内存中读取目标数据块暂存至第一缓存队列;通过依次从所述第一缓存队列中读取所述目标数据块至所述动态随机存取内存,并结合所述模型参数进行数据并行处理。
[0015]可选的,所述通过依次从所述第一缓存队列中读取所述目标数据块至所述动态随机存取内存,并结合所述模型参数进行数据并行处理,包括:将每个数据处理任务输出的处理结果暂存至第二缓存队列;对所述第二缓存队列中单个数据处理任务输出的处理结果按次序进行拼接,得到每个数据处理任务对应的完整合并结果。
[0016]可选的,所述对所述第二缓存队列中单个数据处理任务输出的处理结果按次序进
行拼接,得到每个数据处理任务对应的完整合并结果之后,还包括:将所述完整合并结果从位于所述动态随机存取内存的第二缓存队列中读取到所述持久性内存中进行存储。
[0017]可选的,所述根据所述持久性内存中每个所述输入数据以及所述输入数据对应的数据块,构建二层索引,包括:根据所述持久性内存中每个所述输入数据构建第一层索引;在所述第一层索引的基础上,根据所述输入数据对应的数据块构建第二层索引。
[0018]可选的,所述根据所述持久性内存中每个所述输入数据构建第一层索引,包括:根据所述持久性内存中每个所述输入数据构建无序索引,作为所述第一层索引。
[0019]可选的,所述根据所述持久性内存中每个所述输入数据构建无序索引,包括:基于哈希索引方式并根据所述持久性内存中每个所述输入数据,构建无序索引。
[0020]可选的,所述在所述第一层索引的基础上,根据所述输入数据对应的数据块构建第二层索引,包括:在所述第一层索引的基础上,根据每个所述输入数据对应的数据块及所述数据块的顺序构建有序索引;将所述有序索引作为所述第二层索引,以得到针对所述输入数据的混合索引。
[0021]可选的,所述根据每个所述输入数据对应的数据块及所述数据块的顺序构建有序索引,包括:基于B+树索引方式并根据所述输入数据对应的数据块及所述数据块的顺序,构建无序索引。
[0022]第二方面,本专利技术公开了一种异构内存池并发访问装置,包括:数据块拆分模块,用于获取数据处理模型相关的输入数据,并对所述输入数据进行拆分得到对应的数据块;存储模块,用于将所述数据处理模型相关的模型参数存储至动态随机存取内存,并将所述数据块存储至持久性内存;索引构建模块,用于根据所述持久性内存中每个所述输入数据以及所述输入数据对应的数据块,构建二层索引;内存访问模块,用于获取至少两个数据处理任务的读取请求,根据所述读取请求和所述二层索引并行访问所述持久性内存,以从所述持久性内存中读取目标数据块至所述动态随机存取内存,以便根据所述目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异构内存池并发访问方法,其特征在于,包括:获取数据处理模型相关的输入数据,并对所述输入数据进行拆分得到对应的数据块;将所述数据处理模型相关的模型参数存储至动态随机存取内存,并将所述数据块存储至持久性内存;根据所述持久性内存中每个所述输入数据以及所述输入数据对应的数据块,构建二层索引;获取至少两个数据处理任务的读取请求,根据所述读取请求和所述二层索引并行访问所述持久性内存,以从所述持久性内存中读取目标数据块至所述动态随机存取内存,以便根据所述目标数据块和所述模型参数执行数据处理。2.根据权利要求1所述的异构内存池并发访问方法,其特征在于,所述对所述输入数据进行拆分得到对应的数据块,包括:根据所述输入数据和所述模型参数分别对应的尺寸参数,按照预设拆分规则对所述输入数据进行拆分,以得到尺寸大于所述模型参数且与所述模型参数的尺寸成比例的数据块。3.根据权利要求2所述的异构内存池并发访问方法,其特征在于,所述根据所述输入数据和所述模型参数分别对应的尺寸参数,按照预设拆分规则对所述输入数据进行拆分,包括:计算所述输入数据的宽与所述模型参数的宽的第一比值,将所述第一比值和第一比例参数的乘积作为所述数据块的宽;计算所述输入数据的长与所述模型参数的长的第二比值,将所述第二比值和第二比例参数的乘积作为所述数据块的长;根据所述数据块对应的长和宽对所述输入数据进行拆分。4.根据权利要求3所述的异构内存池并发访问方法,其特征在于,所述根据所述数据块对应的长和宽对所述输入数据进行拆分,包括:获取重复宽度,并根据所述数据块对应的长和宽以及所述重复宽度,对所述输入数据进行拆分,以使拆分后相邻的两个数据块包含部分重复数据。5.根据权利要求4所述的异构内存池并发访问方法,其特征在于,所述获取重复宽度,包括:根据卷积操作的特征确定出所述重复宽度。6.根据权利要求5所述的异构内存池并发访问方法,其特征在于,所述根据卷积操作的特征确定出所述重复宽度,包括:获取卷积操作对应的步长,计算所述模型参数的宽与所述步长的差值;比较所述差值与所述步长的数值大小,并将数值较大的作为所述重复宽度。7.根据权利要求1所述的异构内存池并发访问方法,其特征在于,所述从所述持久性内存中读取目标数据块至所述动态随机存取内存,包括:根据所述持久性内存的大小和所述动态随机存取内存的大小,以及所述输入数据的内存占用大小和所述模型参数的内存占用大小,从所述持久性内存中读取目标数据块至所述动态随机存取内存。8.根据权利要求7所述的异构内存池并发访问方法,其特征在于,所述根据所述持久性
内存的大小和所述动态随机存取内存的大小,以及所述输入数据的内存占用大小和所述模型参数的内存占用大小,从所述持久性内存中读取目标数据块至所述动态随机存取内存之前,还包括:确定异构内存池中异构内存的大小;所述异构内存包括持久性内存和动态随机存取内存;确定输入数据的内存占用大小以及所述模型参数的内存占用大小。9.根据权利要求8所述的异构内存池并发访问方法,其特征在于,所述确定输入数据的内存占用大小以及所述模型参数的内存占用大小,包括:根据所述输入数据和所述模型参数分别对应的尺寸参数和目标数据类型,分别计算所述输入数据和所述模型参数的内存占用大小。10.根据权利要求9所述的异构内存池并发访问方法,其特征在于,所述尺寸参数包括长、宽和通道数;所述目标数据类型为浮点型。11.根据权利要求10所述的异构内存池并发访问方法,其特征在于,所述分别计算所述输入数据和所述模型参数的内存占用大小,包括:计算所述输入数据对应的长、宽、通道数和所述目标数据类型的位数的乘积,得到所述输入数据的内存占用大小;计算所述模型参数对应的长、宽、通道数和所述目标数据类型的位数的乘积,得到所述模型参数的内存...

【专利技术属性】
技术研发人员:赵雅倩高开郭振华王丽曹芳
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1