异构硬件中大数据处理的方法及装置制造方法及图纸

技术编号:14807123 阅读:157 留言:0更新日期:2017-03-15 01:07
本发明专利技术实施例公开了一种异构硬件中大数据处理的方法及装置,涉及通信技术领域,能够解决异构硬件处理大数据应用,载入的数据与程序运行所需的数据不一致,占用异构硬件的内存,并影响到程序的正常运行的问题。本发明专利技术的方法包括:接收所述Host发送的程序和地址信息;建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标数据请求;在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。本发明专利技术适用于异构硬件。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种异构硬件中大数据处理的方法及装置
技术介绍
异构硬件是作为扩展卡与主机Host通过PCI-E(pciExpress,串行总线)互联的硬件,可以为Host提供更强大的矢量处理、浮点运算或多线程并行等能力。异构硬件上的内存较小且很难扩展,异构硬件在处理数据时,一些大数据的应用无法将数据一次性载入到异构硬件执行,针对这种异构硬件上的内存远小于数据处理量的情况,通常采用的方法是,将大数据段后分批载入到异构硬件的内存,即当异构硬件处理完成上一批数据后,再将第二批数据载入到异构硬件上,例如,将16G的数据分成4个4G的数据块,分批次载入到异构硬件的内存上进行处理。现有技术中至少存在如下问题:在一些大数据应用的数据处理过程中,程序对数据的需求是动态的,即在程序运行前并不能确定其需要哪部分数据,所以异构硬件处理这种大数据应用时,将数据分批载入到异构硬件内存,会使载入的数据与当前程序运行所需的数据不一致,当前程序运行不需要的数据存储在异构硬件中占用大量的内存,不仅浪费异构硬件的内存空间,还会影响到程序的正常运行。
技术实现思路
本专利技术的实施例提供一种异构硬件中大数据处理的方法及装置,能够解决异构硬件处理这种大数据应用时,载入异构硬件内存的数据与当前程序运行所需的数据不一致,不仅浪费异构硬件的内存空间,还会影响到程序的正常运行的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术的实施例提供一种异构硬件中大数据处理的方法,异构硬件与主机Host连接,包括:接收所述Host发送的程序和地址信息,所述程序为在异构硬件上运行的程序,所述地址信息为源数据在所述Host中存储的地址信息,所述源数据为所述异构硬件上运行所述程序所需的数据;建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标数据请求,所述目标数据请求携带所述目标数据的地址信息,以便于所述Host根据所述目标数据的地址信息查找所述目标数据,所述目标数据的地址信息为所述异构硬件根据所述映射关系和所述目标数据的虚拟地址确定,所述目标数据属于所述源数据;在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。结合第一方面,在第一方面的第一种可能的实现方式中,当所述源数据存储于所述Host的内存时,所述地址信息为所述Host存储所述源数据的物理地址;当所述源数据存储于所述Host的磁盘时,所述地址信息为所述Host存储所述源数据的虚拟地址。结合第一方面,在第一方面的第二种可能的实现方式中,在所述使用所述目标数据运行所述程序之前,所述方法还包括:将所述目标数据存储在所述异构硬件的内存中;将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与所述目标数据在所述异构硬件内存中物理地址之间的映射关系。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,当所述源数据存储于所述Host的磁盘时,在所述将所述目标数据存储在所述异构硬件的内存中之前,所述方法还包括:接收所述Host回复的所述目标数据在所述Host的内存中存储的物理地址,所述物理地址为所述Host从磁盘中调取所述目标数据后存储在所述Host的内存中的物理地址;将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与在所述Host的内存中存储的物理地址之间的映射关系;向所述Host发送部分目标数据请求,所述部分目标数据请求携带部分目标数据在所述Host的内存中存储的物理地址,以便于所述Host根据所述部分目标数据在所述Host的内存中存储的物理地址查找所述部分目标数据;则所述在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序包括:在接收所述Host回复的部分目标数据后,使用所述部分目标数据运行所述程序。结合第一方面,在第一方面的第四种可能的实现方式中,在所述当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送数据请求之前,所述方法还包括:为所述地址信息添加标识,所述标识表示所述地址信息为所述数据在所述Host中存储的地址信息。第二方面,本专利技术的实施例提供一种异构硬件中大数据处理的装置,包括:接收单元,用于接收所述Host发送的程序和地址信息,所述程序为在异构硬件上运行的程序,所述地址信息为源数据在所述Host中存储的地址信息,所述源数据为所述异构硬件上运行所述程序所需的数据;建立单元,用于建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;请求单元,用于当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标数据请求,所述目标数据请求携带所述目标数据的地址信息,以便于所述Host根据所述目标数据的地址信息查找所述目标数据,所述目标数据的地址信息为所述异构硬件根据所述映射关系和所述目标数据的虚拟地址确定,所述目标数据属于所述源数据;使用单元,用于在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。结合第二方面,在第二方面的第一种可能的实现方式中,当所述源数据存储于所述Host的内存时,所述地址信息为所述Host存储所述源数据的物理地址;当所述源数据存储于所述Host的磁盘时,所述地址信息为所述Host存储所述源数据的虚拟地址。结合第二方面,在第二方面的第二种可能的实现方式中,所述装置还包括:存储单元,用于将所述目标数据存储在所述异构硬件的内存中;修改单元,用于将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与所述目标数据在所述异构硬件内存中物理地址之间的映射关系。结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述接收单元还用于接收所述Host回复的所述目标数据在所述Host的内存中存储的物理地址,所述物理地址为所述Host从磁盘中调取所述目标数据后存储在所述Host的内存中的物理地址;所述修改单元还用于将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与在所述Host的内存中存储的物理地址之本文档来自技高网...
异构硬件中大数据处理的方法及装置

【技术保护点】
一种异构硬件中大数据处理的方法,异构硬件与主机Host连接,其特征在于,包括:接收所述Host发送的程序和地址信息,所述程序为在异构硬件上运行的程序,所述地址信息为源数据在所述Host中存储的地址信息,所述源数据为所述异构硬件上运行所述程序所需的数据;建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标数据请求,所述目标数据请求携带所述目标数据的地址信息,以便于所述Host根据所述目标数据的地址信息查找所述目标数据,所述目标数据的地址信息为所述异构硬件根据所述映射关系和所述目标数据的虚拟地址确定,所述目标数据属于所述源数据;在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。

【技术特征摘要】
1.一种异构硬件中大数据处理的方法,异构硬件与主机Host连接,其特征
在于,包括:
接收所述Host发送的程序和地址信息,所述程序为在异构硬件上运行的程
序,所述地址信息为源数据在所述Host中存储的地址信息,所述源数据为所述异
构硬件上运行所述程序所需的数据;
建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;
当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标
数据请求,所述目标数据请求携带所述目标数据的地址信息,以便于所述Host
根据所述目标数据的地址信息查找所述目标数据,所述目标数据的地址信息为
所述异构硬件根据所述映射关系和所述目标数据的虚拟地址确定,所述目标数
据属于所述源数据;
在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。
2.根据权利要求1所述的方法,其特征在于,当所述源数据存储于所述Host
的内存时,所述地址信息为所述Host存储所述源数据的物理地址;
当所述源数据存储于所述Host的磁盘时,所述地址信息为所述Host存储所述
源数据的虚拟地址。
3.根据权利要求1所述的方法,其特征在于,在所述使用所述目标数据运
行所述程序之前,所述方法还包括:
将所述目标数据存储在所述异构硬件的内存中;
将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映
射关系修改为本地存储所述目标数据的虚拟地址与所述目标数据在所述异构硬
件内存中物理地址之间的映射关系。
4.根据权利要求3所述的方法,其特征在于,当所述源数据存储于所述Host
的磁盘时,在所述将所述目标数据存储在所述异构硬件的内存中之前,所述方
法还包括:
接收所述Host回复的所述目标数据在所述Host的内存中存储的物理地址,所
述物理地址为所述Host从磁盘中调取所述目标数据后存储在所述Host的内存中
的物理地址;
将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映
射关系修改为本地存储所述目标数据的虚拟地址与在所述Host的内存中存储的
物理地址之间的映射关系;
向所述Host发送部分目标数据请求,所述部分目标数据请求携带部分目标数
据在所述Host的内存中存储的物理地址,以便于所述Host根据所述部分目标数据
在所述Host的内存中存储的物理地址查找所述部分目标数据;
则所述在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序
包括:
在接收所述Host回复的部分目标数据后,使用所述部分目标数据运行所述程
序。
5.根据权利要求1所述的方法,其特征在于,在所述当所述异构硬件运行
所述程序过程中调用目标数据时,向所述Host发送数据请求之前,所述方法还包
括:

【专利技术属性】
技术研发人员:解壁伟高云伟詹剑锋张立新
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1